diff --git a/.Rbuildignore b/.Rbuildignore deleted file mode 100644 index b78ad20..0000000 --- a/.Rbuildignore +++ /dev/null @@ -1,5 +0,0 @@ -^.*\.Rproj$ -^\.Rproj\.user$ -^gen$ -^nt2$ -^patch$ diff --git a/.gitignore b/.gitignore index fcf00a6..5b6a065 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ .Rproj.user .Rhistory .RData - -/nt2 +.Ruserdata diff --git a/DESCRIPTION b/DESCRIPTION deleted file mode 100644 index 8329bab..0000000 --- a/DESCRIPTION +++ /dev/null @@ -1,17 +0,0 @@ -Package: RcppNT2 -Title: 'Rcpp' Integration for the 'NT2' Scientific Computing Library -Version: 0.1.0 -Authors@R: c( - person("Kevin", "Ushey", email = "kevin@rstudio.com", role = c("aut", "cre")), - person("Joel", "Falcou", role = "aut", comment = "Author of NT2")) -Description: The 'Numerical Template Toolbox (NT2)' is an open source C++ - library aimed at simplifying the development, debugging and optimization of - high-performance computing applications. -URL: https://github.com/RcppCore/RcppNT2 -BugReports: https://github.com/RcppCore/RcppNT2/issues -Depends: - R (>= 3.1.0) -LinkingTo: BH (>= 1.60.0) -License: BSL-1.0 -SystemRequirements: C++11 -RoxygenNote: 5.0.1 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..84e21ec --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ + +HTML_FILES := $(patsubst %.Rmd, %.html ,$(wildcard *.Rmd)) \ + $(patsubst %.md, %.html ,$(wildcard *.md)) + +all: clean html + + +html: $(HTML_FILES) + +%.html: %.Rmd + R --slave -e "set.seed(100); rmarkdown::render('$<')" + +%.html: %.md + R --slave -e "set.seed(100); rmarkdown::render('$<')" + +.PHONY: clean +clean: + $(RM) $(HTML_FILES) + diff --git a/NAMESPACE b/NAMESPACE deleted file mode 100644 index 021db69..0000000 --- a/NAMESPACE +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by roxygen2: do not edit by hand - -export(precompileRcppNT2) diff --git a/R/package-RcppNT2.R b/R/package-RcppNT2.R deleted file mode 100644 index 5bb5321..0000000 --- a/R/package-RcppNT2.R +++ /dev/null @@ -1,11 +0,0 @@ -#' RcppNT2 -#' -#' \code{RcppNT2} provides bindings to the -#' \href{https://github.com/jfalcou/nt2}{Numerical Template Toolbox} -#' (\code{NT2}). \code{NT2} is an open source C++ library aimed at -#' simplifying the development, debugging and optimization -#' of high-performance computing applications by providing a -#' \strong{Matlab}-like syntax that eases the transition between -#' prototype and actual application. -#' -"_PACKAGE" diff --git a/R/plugin.R b/R/plugin.R deleted file mode 100644 index 72b68b4..0000000 --- a/R/plugin.R +++ /dev/null @@ -1,13 +0,0 @@ -# Inline plugin used by 'Rcpp::sourceCpp()'. -inlineCxxPlugin <- function() { - list( - env = list( - PKG_CXXFLAGS = paste( - "$(CXX1XSTD)", - "-include", system.file("include/RcppNT2.h", package = "RcppNT2") - ) - ), - LinkingTo = "BH", - includes = "#include " - ) -} diff --git a/R/precompile.R b/R/precompile.R deleted file mode 100644 index 61a67d7..0000000 --- a/R/precompile.R +++ /dev/null @@ -1,41 +0,0 @@ -#' Pre-compile the RcppNT2 header -#' -#' Pre-compiles the \code{RcppNT2.h} header, for faster compilation. This can be -#' useful if you need to improve the speed of compilation when iterating with, -#' for example, \code{Rcpp::sourceCpp()}. -#' -#' Note that the precompiled header can be quite large (~400MB) so be sure that -#' you have ample disk space before precompiling the header. -#' -#' @export -precompileRcppNT2 <- function() { - - header <- system.file("include/RcppNT2.h", package = "RcppNT2") - include <- system.file("include", package = "RcppNT2") - output <- file.path(include, "RcppNT2.h.gch") - - R <- file.path(R.home("bin"), "R") - CXX <- system(paste(shQuote(R), "CMD config CXX"), intern = TRUE) - CXXFLAGS <- system(paste(shQuote(R), "CMD config CXXFLAGS"), intern = TRUE) - CXX1XFLAGS <- system(paste(shQuote(R), "CMD config CXX1XFLAGS"), intern = TRUE) - - cxxFlags <- if (nzchar(CXX1XFLAGS)) CXX1XFLAGS else CXXFLAGS - - cmd <- paste( - CXX, - "-x c++-header", header, - paste("-I", include, sep = ""), - paste("-I", system.file("include", package = "BH")), - paste("-I", R.home("include"), sep = ""), - "-std=c++11", - cxxFlags - ) - - message("Pre-compiling 'RcppNT2.h'...") - status <- system(cmd) - if (status || !file.exists(output)) - stop("Failed to compile 'RcppNT2.h'", call. = FALSE) - - message("Successfully compiled 'RcppNT2.h'.") - invisible(output) -} diff --git a/README.md b/README.md deleted file mode 100644 index 605b0b8..0000000 --- a/README.md +++ /dev/null @@ -1,13 +0,0 @@ -RcppNT2 -======= - -## Overview - -The [Numerical Template Toolbox (NT2)](https://github.com/jfalcou/nt2) -is an Open Source C++ library aimed at simplifying the development, debugging -and optimization of high-performance computing applications by providing a -Matlab like syntax that eases the transition between prototype and actual -application. - -`RcppNT2` bundles the NT2 library, and provides a number of helper -wrappers, to make it easy to use in your own R packages. diff --git a/RcppNT2-gh.Rproj b/RcppNT2-gh.Rproj new file mode 100644 index 0000000..be80382 --- /dev/null +++ b/RcppNT2-gh.Rproj @@ -0,0 +1,15 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX + +BuildType: Makefile diff --git a/RcppNT2.Rproj b/RcppNT2.Rproj deleted file mode 100644 index 4b56c89..0000000 --- a/RcppNT2.Rproj +++ /dev/null @@ -1,21 +0,0 @@ -Version: 1.0 - -RestoreWorkspace: No -SaveWorkspace: No -AlwaysSaveHistory: Default - -EnableCodeIndexing: Yes -UseSpacesForTab: Yes -NumSpacesForTab: 2 -Encoding: UTF-8 - -RnwWeave: Sweave -LaTeX: pdfLaTeX - -AutoAppendNewline: Yes -StripTrailingWhitespace: Yes - -BuildType: Package -PackageUseDevtools: Yes -PackageInstallArgs: --no-multiarch --with-keep.source -PackageRoxygenize: rd,collate,namespace,vignette diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..b0ffd90 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +exclude: RcppParallel.Rproj diff --git a/_output.yaml b/_output.yaml new file mode 100644 index 0000000..a78c694 --- /dev/null +++ b/_output.yaml @@ -0,0 +1,13 @@ +html_document: + toc: yes + toc_level: 3 + toc_float: + collapsed: no + lib_dir: libs + highlight: textmate + self_contained: no + theme: yeti + css: styles.css + include: + before_body: navbar.htm + diff --git a/gen/nt2-functors.R b/gen/nt2-functors.R deleted file mode 100644 index bfbd281..0000000 --- a/gen/nt2-functors.R +++ /dev/null @@ -1,86 +0,0 @@ -path <- "inst/include/RcppNT2/functor/functor.h" -if (!dir.exists(dirname(path))) - dir.create(dirname(path), recursive = TRUE, showWarnings = FALSE) - -forEach <- function(data, f) { - nm <- names(data) - for (i in seq_along(data)) { - f(nm[[i]], data[[i]]) - } -} - -indent <- function(code, indent = " ") { - code <- paste(indent, code, sep = "") - gsub("\n", " \n", code, fixed = TRUE) -} - -template <- paste(c( - "#ifndef RCPP_NT2_FUNCTOR_FUNCTOR_H", - "#define RCPP_NT2_FUNCTOR_FUNCTOR_H", - "", - "// Auto-generated functors for functions provided by NT2.", - "// See 'gen/nt2-functors.R' for more details.", - "", - "namespace RcppNT2 {", - "namespace functor {", - "", - "%s", - "", - "} // namespace functor", - "} // namespace RcppNT2", - "", - "#endif /* RCPP_NT2_FUNCTOR_FUNCTOR_H */" -), collapse = "\n") - -code <- NULL - -unary <- list( - sum = c("sum(std::forward(t))", "return sum(std::forward(t));"), - size = c("std::forward(t).size()", "return std::forward(t).size();") -) - -unary_template <- paste(c( - "struct %s {", - "template ", - "inline auto operator()(T&& t) -> decltype(%s)", - "{", - "%s", - "}", - "};", - "" -), collapse = "\n") - -forEach(unary, function(name, value) { - code <<- c(code, sprintf(unary_template, name, value[[1]], indent(value[[2]]))) -}) - -binary_code <- function(op) { - forwarded <- sprintf("std::forward<%s>(%s)", c("T", "U"), c("t", "u")) - pasted <- paste(forwarded, collapse = op) - c(pasted, sprintf("return %s;", pasted)) -} - -binary <- list( - plus = binary_code(" + "), - minus = binary_code(" - "), - times = binary_code(" * "), - divide = binary_code(" / ") -) - -binary_template <- paste(c( - "struct %s {", - "template ", - "inline auto operator()(T&& t, U&& u) -> decltype(%s)", - "{", - "%s", - "}", - "};", - "" -), collapse = "\n") - -forEach(binary, function(name, value) { - code <<- c(code, sprintf(binary_template, name, value[[1]], indent(value[[2]]))) -}) - -compiled <- sprintf(template, paste(code, collapse = "\n")) -cat(compiled, file = path, sep = "\n") diff --git a/index.Rmd b/index.Rmd new file mode 100644 index 0000000..87bbff8 --- /dev/null +++ b/index.Rmd @@ -0,0 +1,138 @@ +--- +output: html_document +--- + +

RcppNT2

+ +RcppNT2 is an R package that provides bindings to the +[**Numerical Template Toolbox**](https://github.com/jfalcou/nt2) +(**NT2**). It provides a framework for implementing +highly optimizable algorithms, taking advantage of +[SIMD instructions](https://en.wikipedia.org/wiki/SIMD) when +possible, and falling back to scalar operations when not. + +## Overview + +**NT2** is an open source C++ library aimed at +simplifying the development, debugging and optimization of +high-performance computing applications by providing a +Matlab-like syntax that eases the transition between +prototype and actual application. + +**NT2** provides with a large toolbox of +algorithms, facilitating scientific computing for many +tasks. By including ``, these +functions are all made available as part of the `nt2` +namespace, and so are immediately ready to use. A quick +glance at the types of functions available: + +- **Arithmetic**: Most of the arithmetic operations you are familiar + with will be provided by **NT2**: as a + sampling, we have `sum()`, `prod()`, `abs()`, `floor()`, + `ceil()`, `sqrt()`, `sqr()` `exp()`, `pow()` and `log()`. + +- **Bitwise**: Bitwise operators are provided in the `nt2` + namespace, prefixed with `bitwise_`. For example, + `nt2::bitwise_and()` can be used to perform the logical + equivalent of the `&` operator. These functions also work + with floating point types. + +- **Trigonometric**: All of `sin()`, `cos()` and `tan()` are provided within + the `nt2` namespace, alongside their inverses `asin()`, + `acos()`, and `atan()`. The trigonometric inverses + (`sec()`, `csc()`, `cot()`) are provided as well. + +The full collection can be browsed within the +[**NT2** User Manual](http://nt2.metascale.fr/doc/html/user_manual0.html) -- it's +worth taking a quick look at an overview for each toolset, to get +an idea of what functions are provided. + +## Articles + +The [Rcpp Gallery](http://gallery.rcpp.org/) hosts a number of stand-alone articles describing +how Rcpp and its various extensions can be used. A number of articles +introducing RcppNT2 are provided as well: + +- [Introduction to RcppNT2](http://gallery.rcpp.org/articles/rcppnt2-introduction) --- Introduces **NT2**, RcppNT2, and shows how a vector sum could be computed using SIMD instructions. + +- [Using RcppNT2 to Compute the Sum](http://gallery.rcpp.org/articles/rcppnt2-sum) --- Shows how RcppNT2, alongside `simdReduce()`, could be used to compute the sum of a sequence of numbers. + +- [Using RcppNT2 to Compute the Variance](http://gallery.rcpp.org/articles/rcppnt2-variance) --- Shows how RcppNT2, alongside `simdFor()`, could be used to compute the variance of a sequence of numbers. + +## Examples + +RcppNT2 also comes with a number of standalone examples, which we hope +will help demonstrate how the package can be used. Try running the +examples yourself with `Rcpp::sourceCpp()`, and then iterate to +get a better feel for how RcppNT2 can be used. + +- [Using simdTransform()](https://github.com/RcppCore/RcppNT2/blob/master/inst/examples/examples-transform.cpp) --- demonstrates how `simdTransform()` can be used to compute the vectorized addition of two vectors. + +- [Using simdFor()](https://github.com/RcppCore/RcppNT2/blob/master/inst/examples/examples-for-each.cpp) --- demonstrates how `simdFor()` can be used, alongside a stateful functor, to compute the product of a set of numbers. + +- [Variadic simdFor()](https://github.com/RcppCore/RcppNT2/blob/master/inst/examples/examples-variadic-for.cpp) --- demonstrates how the variadic flavor of `simdFor()` can be used to handle arbitrary number of vector inputs. + +- [Handling Missing Values](https://github.com/RcppCore/RcppNT2/blob/master/inst/examples/example-na-handling-variance.cpp) --- demonstrates how missing values can be handled. The variance of a vector of numbers is computed, with missing values omitted. + +After you've browsed through a couple examples, take a look at the +[Quick Reference](quick-reference.html) to learn more. + +## Getting Started + +You can install the RcppNT2 package from GitHub using devtools: + +```r +devtools::install_github("RcppCore/RcppNT2") +``` + +If you're using RStudio, consider downloading the +[RStudio Preview](https://www.rstudio.com/products/rstudio/download/preview/) +first: the **NT2** library makes extensive use of +C++ template metaprogramming; unfortunately, this causes +huge slowdowns in the `libclang` diagnostics engine, which +powers the diagnostics behind C++ files open in RStudio. The +preview version adds some provisions to ensure this does not +happen. + +### sourceCpp + +Add the following to a standalone C++ source file to import RcppNT2: + +```cpp +// [[Rcpp::depends(RcppNT2)]] +#include +``` + +When you compile a file using `Rcpp::sourceCpp()`, the +required compiler and linker settings for RcppNT2 will +be automatically included in the compilation. + +Many of the optimizations underlying **NT2** +are made possible through the use of C++ template metaprogramming +techniques. As a consequence, it can often take a very long time +to compile translation units that include ``. + +You can use `RcppNT2::precompileRcppNT2()` to generate a +[pre-compiled header](https://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html), +which `Rcpp::sourceCpp()` will automatically include and use +as appropriate. This can improve compile times by up to ~5x +in translation units including the `` header. + +### R Packages + +Because RcppNT2 is a header-only library, using it in client +R packages is easy. Just ensure you have the following in your +`DESCRIPTION` file: + +```yaml +LinkingTo: RcppNT2, BH (>= 1.60.0) +SystemRequirements: C++11 +``` + +After you've added the above to the package you can simply +include the main RcppNT2 package header in source files that +need to use it: + +```cpp +#include +``` diff --git a/index.html b/index.html new file mode 100644 index 0000000..f80d12a --- /dev/null +++ b/index.html @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+
+
+
+
+ +
+ + + + + + + + + + + +

+RcppNT2 +

+

RcppNT2 is an R package that provides bindings to the Numerical Template Toolbox (NT2). It provides a framework for implementing highly optimizable algorithms, taking advantage of SIMD instructions when possible, and falling back to scalar operations when not.

+
+

Overview

+

NT2 is an open source C++ library aimed at simplifying the development, debugging and optimization of high-performance computing applications by providing a Matlab-like syntax that eases the transition between prototype and actual application.

+

NT2 provides with a large toolbox of algorithms, facilitating scientific computing for many tasks. By including <RcppNT2.h>, these functions are all made available as part of the nt2 namespace, and so are immediately ready to use. A quick glance at the types of functions available:

+
    +
  • Arithmetic: Most of the arithmetic operations you are familiar with will be provided by NT2: as a sampling, we have sum(), prod(), abs(), floor(), ceil(), sqrt(), sqr() exp(), pow() and log().

  • +
  • Bitwise: Bitwise operators are provided in the nt2 namespace, prefixed with bitwise_. For example, nt2::bitwise_and() can be used to perform the logical equivalent of the & operator. These functions also work with floating point types.

  • +
  • Trigonometric: All of sin(), cos() and tan() are provided within the nt2 namespace, alongside their inverses asin(), acos(), and atan(). The trigonometric inverses (sec(), csc(), cot()) are provided as well.

  • +
+

The full collection can be browsed within the NT2 User Manual – it’s worth taking a quick look at an overview for each toolset, to get an idea of what functions are provided.

+
+
+

Articles

+

The Rcpp Gallery hosts a number of stand-alone articles describing how Rcpp and its various extensions can be used. A number of articles introducing RcppNT2 are provided as well:

+ +
+
+

Examples

+

RcppNT2 also comes with a number of standalone examples, which we hope will help demonstrate how the package can be used. Try running the examples yourself with Rcpp::sourceCpp(), and then iterate to get a better feel for how RcppNT2 can be used.

+
    +
  • Using simdTransform() — demonstrates how simdTransform() can be used to compute the vectorized addition of two vectors.

  • +
  • Using simdFor() — demonstrates how simdFor() can be used, alongside a stateful functor, to compute the product of a set of numbers.

  • +
  • Variadic simdFor() — demonstrates how the variadic flavor of simdFor() can be used to handle arbitrary number of vector inputs.

  • +
  • Handling Missing Values — demonstrates how missing values can be handled. The variance of a vector of numbers is computed, with missing values omitted.

  • +
+

After you’ve browsed through a couple examples, take a look at the Quick Reference to learn more.

+
+
+

Getting Started

+

You can install the RcppNT2 package from GitHub using devtools:

+
devtools::install_github("RcppCore/RcppNT2")
+

If you’re using RStudio, consider downloading the RStudio Preview first: the NT2 library makes extensive use of C++ template metaprogramming; unfortunately, this causes huge slowdowns in the libclang diagnostics engine, which powers the diagnostics behind C++ files open in RStudio. The preview version adds some provisions to ensure this does not happen.

+
+

sourceCpp

+

Add the following to a standalone C++ source file to import RcppNT2:

+
// [[Rcpp::depends(RcppNT2)]]
+#include <RcppNT2.h>
+

When you compile a file using Rcpp::sourceCpp(), the required compiler and linker settings for RcppNT2 will be automatically included in the compilation.

+

Many of the optimizations underlying NT2 are made possible through the use of C++ template metaprogramming techniques. As a consequence, it can often take a very long time to compile translation units that include <RcppNT2.h>.

+

You can use RcppNT2::precompileRcppNT2() to generate a pre-compiled header, which Rcpp::sourceCpp() will automatically include and use as appropriate. This can improve compile times by up to ~5x in translation units including the <RcppNT2.h> header.

+
+
+

R Packages

+

Because RcppNT2 is a header-only library, using it in client R packages is easy. Just ensure you have the following in your DESCRIPTION file:

+
LinkingTo: RcppNT2, BH (>= 1.60.0)
+SystemRequirements: C++11
+

After you’ve added the above to the package you can simply include the main RcppNT2 package header in source files that need to use it:

+
#include <RcppNT2.h>
+
+
+ + + +
+
+ +
+ + + + + + + + diff --git a/inst/configure/configure.R b/inst/configure/configure.R deleted file mode 100644 index 1e0fb22..0000000 --- a/inst/configure/configure.R +++ /dev/null @@ -1,75 +0,0 @@ -NT2_URL <- "https://github.com/jfalcou/nt2" -COMMIT <- "f19e80f55cad6db21ccb3c7f216efecf45c91250" - -# Helpers -pathProg <- function(name) { - prog <- Sys.which(name) - if (!nzchar(prog)) - stop("No program named '", name, "' on the PATH!", call. = FALSE) - prog -} - -cmakeDef <- function(name, value) { - sprintf("-D%s=%s", name, value) -} - -cmake <- pathProg("cmake") -make <- pathProg("make") -git <- pathProg("git") -patch <- pathProg("patch") - -# End helpers - -# Find the root directory -owd <- getwd() -if (!grepl("RcppNT2", owd)) - stop("this script should be called from within the RcppNT2 sources directory") -dir <- gsub("RcppNT2.*", "RcppNT2", owd) -setwd(dir) - -# Check out the 'nt2' sources -if (!dir.exists("nt2")) - system2(git, c("clone", NT2_URL)) -setwd("nt2") - -# Check out the relevant commit -system2(git, c("checkout", COMMIT)) - -# Prepare installation directory -if (dir.exists("install")) - unlink("install", recursive = TRUE) -dir.create("install") -installDir <- file.path(getwd(), "install") - -# Enter 'nt2' directory, and check out relevant commit -if (dir.exists("build")) - unlink("build", recursive = TRUE) -dir.create("build") -setwd("build") - -# Call cmake to prepare the build -system2(cmake, c( - "..", - cmakeDef("CMAKE_INSTALL_PREFIX", installDir) -)) - -# Call 'make', 'make install' to build and install -system2(make) -system2(make, "install") - -# Go back to parent directory -setwd(owd) - -# Copy all of the relevant headers over -includePath <- file.path(installDir, "include") -from <- list.files(includePath, full.names = TRUE) -to <- file.path("inst/include") -if (!dir.exists(to)) - dir.create(to, recursive = TRUE) -file.copy(from, to, recursive = TRUE) - -# Apply all of our patches -patches <- list.files("patch", full.names = TRUE) -for (patch in patches) { - system2(patch, c("-p1", "<", patch)) -} diff --git a/inst/examples/example-na-handling-variance.cpp b/inst/examples/example-na-handling-variance.cpp deleted file mode 100644 index 4b146b5..0000000 --- a/inst/examples/example-na-handling-variance.cpp +++ /dev/null @@ -1,104 +0,0 @@ -// Demonstrates how NAs could be handled (removed) -// to allow for efficient SIMD computations. Uses -// this to compute the variance. - -// [[Rcpp::depends(RcppNT2)]] -#include -using namespace RcppNT2; - -#include -using namespace Rcpp; - -// A 'mask-aware' Sum class. The call operator accepts both -// 'data' and a 'mask' of the same time; one can use -// 'nt2::bitwise_and' to apply the mask. In our case, we'll -// have the mask set as bitwise '0' for NA', and bitwise '1' -// otherwise. -class Sum -{ -public: - - Sum() : result_(0.0) {} - - template - void operator()(const T& data, const T& mask) - { - result_ += nt2::sum(nt2::bitwise_and(data, mask)); - } - - operator double() const { return result_; } - -private: - double result_; - -}; - -// A 'mask-aware' Sum of Squares class. As above, the call -// operator accepts both a 'data' and a 'mask'. We use -// 'nt2::bitwise_and' to apply the mask. -class SumOfSquares -{ -public: - explicit SumOfSquares(double mean) - : mean_(mean), result_(0.0) - {} - - template - void operator()(const T& data, const T& mask) - { - result_ += nt2::sum(nt2::sqr(nt2::bitwise_and(data - mean_, mask))); - } - - operator double() const { return result_; } - -private: - double mean_; - double result_; -}; - -// [[Rcpp::export]] -double simdVariance(NumericVector x) -{ - // Use helpers to compute the NA bitmask, as well as - // the number of non-NA elements in the vector. - std::vector naMask(x.size()); - std::size_t n; - na::mask(pbegin(x), pend(x), pbegin(naMask), &n); - - // Compute the number of non-NA elements. - std::size_t N = x.size() - n; - - // Compute the sum of our 'x' vector, discarding NAs. - double total = simdFor(pbegin(x), pend(x), pbegin(naMask), Sum()); - - // Compute our mean. - double mean = total / N; - - // Now, compute squared deviations from that mean. - double ssq = simdFor(pbegin(x), pend(x), pbegin(naMask), SumOfSquares(mean)); - - // Divide by (n - 1), and we're done! - return ssq / (N - 1); -} - -/*** R -set.seed(123) - -# Construct a vector filled with NAs. -n <- 1024 * 1000 -x <- rnorm(n) -x[sample(n, n / 2)] <- NA - -# Confirm we compute the correct variance. -stopifnot(all.equal( - var(x, na.rm = TRUE), - simdVariance(x) -)) - -# Check performance. -library(microbenchmark) -microbenchmark( - R = var(x, na.rm = TRUE), - C = simdVariance(x) -) -*/ diff --git a/inst/examples/example-sin.cpp b/inst/examples/example-sin.cpp deleted file mode 100644 index 80cffce..0000000 --- a/inst/examples/example-sin.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// Example using 'nt2::sin()'. - -// [[Rcpp::depends(RcppNT2)]] -#include -using namespace RcppNT2; - -#include -using namespace Rcpp; - -struct nt2_sin { - template - T operator()(const T& data) { - return nt2::sin(data); - } -}; - -// [[Rcpp::export]] -NumericVector nt2Sin(NumericVector input) { - NumericVector output = no_init(input.size()); - simdTransform(input.begin(), input.end(), output.begin(), nt2_sin()); - return output; -} - -/*** R -set.seed(123) -data <- rnorm(1024 * 1000) -stopifnot(all.equal(sin(data), nt2Sin(data))) - -library(microbenchmark) -microbenchmark( - R = sin(data), - nt2 = nt2Sin(data) -) -*/ diff --git a/inst/examples/examples-dot-product.cpp b/inst/examples/examples-dot-product.cpp deleted file mode 100644 index 7f7bd05..0000000 --- a/inst/examples/examples-dot-product.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// Demonstrates how Boost.SIMD could be used to compute the dot product -// of two vectors, using a lower-level iteration over packs. -// -// See: http://nt2.metascale.fr/doc/html/tutorials/processing_data_the_simd_way.html - -// [[Rcpp::depends(RcppNT2)]] -#include -using namespace RcppNT2; - -#include -using namespace Rcpp; - -template -Value simd_dot_impl(Value* first1, Value* last1, Value* first2) -{ - using boost::simd::sum; - using boost::simd::pack; - - typedef pack packed_type; - packed_type tmp; - - // Let's consider that (last1-first1) is divisible by the size of the pack. - while (first1 != last1) - { - // Load current values from the datasets - packed_type x1 = boost::simd::load(first1); - packed_type x2 = boost::simd::load(first2); - - // Computation - tmp = tmp + x1 * x2; - - // Advance to the next SIMD vector - first1 += packed_type::static_size; - first2 += packed_type::static_size; - } - - return sum(tmp); -} - -// [[Rcpp::export]] -double simd_dot(NumericVector lhs, NumericVector rhs) -{ - return simd_dot_impl( - REAL(lhs), - REAL(lhs) + lhs.size(), - REAL(rhs) - ); -} - -/*** R -set.seed(123) -lhs <- rnorm(1024 * 1000) -rhs <- rnorm(1024 * 1000) -stopifnot(all.equal(simd_dot(lhs, rhs), sum(lhs * rhs))) - -library(microbenchmark) -microbenchmark( - simd = simd_dot(lhs, rhs), - R = sum(lhs * rhs) -) -*/ diff --git a/inst/examples/examples-for-each.cpp b/inst/examples/examples-for-each.cpp deleted file mode 100644 index 31d279a..0000000 --- a/inst/examples/examples-for-each.cpp +++ /dev/null @@ -1,39 +0,0 @@ -// Showcases how a stateful functor can be used with `simdFor()`, -// for arbitrary operations over a range of values. - -// [[Rcpp::depends(RcppNT2)]] -#include -using namespace RcppNT2; - -#include -using namespace Rcpp; - -class ProductAccumulator -{ -public: - - ProductAccumulator() : result_(1.0) {} - - template - void operator()(const T& data) - { - result_ *= nt2::prod(data); - } - - operator double() const { - return result_; - } - -private: - double result_; -}; - -// [[Rcpp::export]] -double simdProd(NumericVector x) { - return simdFor(x.begin(), x.end(), ProductAccumulator()); -} - -/*** R -x <- 1:16 -stopifnot(all.equal(prod(x), simdProd(x))) -*/ diff --git a/inst/examples/examples-map-reduce-dot-product.cpp b/inst/examples/examples-map-reduce-dot-product.cpp deleted file mode 100644 index c13eb25..0000000 --- a/inst/examples/examples-map-reduce-dot-product.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// Shows how 'simdMapReduce()' can be used to compute the dot product of a set of vectors. - -// [[Rcpp::depends(RcppNT2)]] -#include -using namespace RcppNT2; - -#include -using namespace Rcpp; - -/** - * 'simdMapReduce()' expects an object implementing a number of templated - * methods: - * - * U init() Initial data state. - * T map(const T&... ts): Maps one or more values. - * T combine(const T& lhs, const T& rhs): Combines two values. - * T reduce(const U& y): Reduces a SIMD pack to a scalar. - */ -class DotProductMapReducer -{ -public: - - // Initial state of our data -- we're accumulating results in a 'double' - // starting from 0, so use that. - double init() { return 0.0; } - - // The transformation to be applied. Since we're computing the dot product, - // we're performing an element-wise multiplication of the vectors passed - // in. We'll just handle the two-element case here and multiply the two pieces. - template - T map(const T& lhs, const T& rhs) - { - return lhs * rhs; - } - - // How transformed values should be combined. Since we plan to just add them - // up, we can express that computation as a simple sum. - template - T combine(const T& lhs, const T& rhs) - { - return lhs + rhs; - } - - // How should the SIMD pack structure be reduced? Similar to the above, - // we just want to sum up the elements. - template - auto reduce(const T& t) -> decltype(nt2::sum(t)) - { - return nt2::sum(t); - } -}; - -// [[Rcpp::export]] -double simdDotProduct(NumericVector x, NumericVector y) -{ - return variadic::simdMapReduce(DotProductMapReducer(), x, y); -} - -// We can also extend the 'PlusReducer' -- since we often reduce -// values by the sum, this simplifies our implementation. With -// this, we only need to express our map computation, as the -// PlusReducer will provide the requisite 'combine', 'reduce' -// and 'init' methods. -class DotProductMapReducerV2 : public PlusReducer -{ -public: - template - T map(const T& lhs, const T& rhs) - { - return lhs * rhs; - } -}; - -// [[Rcpp::export]] -double simdDotProductV2(NumericVector x, NumericVector y) -{ - return variadic::simdMapReduce(DotProductMapReducerV2(), x, y); -} - -/*** R -# Generate some data -set.seed(123) -x <- runif(1E6) -y <- runif(1E6) - -# Ensure we produce the correct result -stopifnot(all.equal(sum(x * y), simdDotProduct(x, y))) -stopifnot(all.equal(sum(x * y), simdDotProductV2(x, y))) - -# Benchmark -library(microbenchmark) -microbenchmark( - R = sum(x * y), - simd = simdDotProduct(x, y), - simdV2 = simdDotProductV2(x, y) -) -*/ diff --git a/inst/examples/examples-transform.cpp b/inst/examples/examples-transform.cpp deleted file mode 100644 index bf2de62..0000000 --- a/inst/examples/examples-transform.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// A simple example demonstration how 'simdTransform()' -// can be used. - -// [[Rcpp::depends(RcppNT2)]] -#include -using namespace RcppNT2; - -#include -using namespace Rcpp; - -struct plus -{ - template - T operator()(const T& lhs, const T& rhs) const - { - return lhs + rhs; - } -}; - -// [[Rcpp::export]] -NumericVector simd_add(NumericVector lhs, NumericVector rhs) -{ - NumericVector result = no_init(lhs.size()); - simdTransform(lhs.begin(), lhs.end(), rhs.begin(), result.begin(), plus()); - return result; -} - -// [[Rcpp::export]] -NumericVector cpp_add(NumericVector lhs, NumericVector rhs) -{ - return lhs + rhs; -} - -/***R -set.seed(123) -n <- 1024 * 1000 -lhs <- rnorm(n) -rhs <- rnorm(n) -simd <- simd_add(lhs, rhs) -cpp <- cpp_add(lhs, rhs) -stopifnot(all.equal(simd, cpp)) - -library(microbenchmark) -microbenchmark( - simd = simd_add(lhs, rhs), - cpp = cpp_add(lhs, rhs), - R = lhs + rhs -) -*/ diff --git a/inst/examples/examples-variadic-for.cpp b/inst/examples/examples-variadic-for.cpp deleted file mode 100644 index bbf655c..0000000 --- a/inst/examples/examples-variadic-for.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// Shows how 'simdFor()' can be used with an arbitrary -// number of input, output iterators. - -// [[Rcpp::depends(RcppNT2)]] -#include -using namespace RcppNT2; - -#include -using namespace Rcpp; - -class DotProductAccumulator -{ -public: - // Implement a ternary call operator, that multiples - // its three arguments together, and adds them up. - template - void operator()(const T& a, const T& b, const T& c) - { - result_ += nt2::sum(a * b * c); - } - - // Provide a 'double()' conversion operator so that - // we can easily return the result from 'simdFor()' - // See below for usage. - operator double() const { return result_; } - -private: - double result_ = 0.0; -}; - -// [[Rcpp::export]] -double simdForTest(NumericVector a, NumericVector b, NumericVector c) -{ - return variadic::simdFor(DotProductAccumulator(), a, b, c); -} - -/*** R -n <- 1024 * 1000 -x <- rnorm(n) -y <- rnorm(n) -z <- rnorm(n) - -stopifnot(all.equal( - sum(x * y * z), - simdForTest(x, y, z) -)) - -library(microbenchmark) -microbenchmark( - R = sum(x * y * z), - simd = simdForTest(x, y, z) -) -*/ diff --git a/inst/include/RcppNT2.h b/inst/include/RcppNT2.h deleted file mode 100644 index 4c57aca..0000000 --- a/inst/include/RcppNT2.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef RCPP_NT2_H -#define RCPP_NT2_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -// #include -#include -#include -#include -// #include -// #include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif /* RCPP_NT2_H */ diff --git a/inst/include/RcppNT2/algorithm/algorithm.h b/inst/include/RcppNT2/algorithm/algorithm.h deleted file mode 100644 index a3abccb..0000000 --- a/inst/include/RcppNT2/algorithm/algorithm.h +++ /dev/null @@ -1,128 +0,0 @@ -#ifndef RCPP_NT2_ALGORITHM_ALGORITHM_H -#define RCPP_NT2_ALGORITHM_ALGORITHM_H - -#include - -namespace RcppNT2 { - -template -U* simdTransform(const T* begin, const T* end, U* out, UnOp&& f) -{ - return boost::simd::transform(begin, end, out, std::forward(f)); -} - -template -U* simdTransform(const T1* begin1, const T1* end1, const T2* begin2, U* out, BinOp&& f) -{ - return boost::simd::transform(begin1, end1, begin2, out, std::forward(f)); -} - -template -U simdAccumulate(const T* begin, const T* end, U init, F&& f) -{ - return boost::simd::accumulate(begin, end, init, std::forward(f)); -} - -template -F simdFor(const T* it, const T* end, F&& f) -{ - typedef boost::simd::pack vT; - static const std::size_t N = vT::static_size; - const T* aligned_begin = std::min(boost::simd::align_on(it, N * sizeof(T)), end); - const T* aligned_end = aligned_begin + (end - aligned_begin) / N * N; - - for (; it != aligned_begin; ++it) - f(*it); - - for (; it != aligned_end; it += N) - f(boost::simd::aligned_load(it)); - - for (; it != end; ++it) - f(*it); - - return std::forward(f); -} - -template -F simdFor(const T1* begin1, const T1* end1, const T2* begin2, F&& f) -{ - typedef boost::simd::pack vT1; - typedef boost::simd::pack vT2; - - static_assert( - vT1::static_size == vT2::static_size, - "T1 and T2 are not of the same size" - ); - - // Attempt to align on 'begin1', and use aligned loads - // when feasible. - static const std::size_t N = vT1::static_size; - const T1* aligned_begin = std::min(boost::simd::align_on(begin1, N * sizeof(T1)), end1); - const T1* aligned_end = aligned_begin + (end1 - aligned_begin) / N * N; - - // Initial un-aligned region - for (; begin1 != aligned_begin; ++begin1, ++begin2) - f(*begin1, *begin2); - - // TODO: Somehow, profiling here suggested that using 'load' - // rather than 'aligned_load' was actually faster (!?) - for (; begin1 != aligned_end; begin1 += N, begin2 += N) - f(boost::simd::load(begin1), boost::simd::load(begin2)); - - // Final un-aligned region. - for (; begin1 != end1; ++begin1, ++begin2) - f(*begin1, *begin2); - - return f; -} - -template -U simdReduce(const T* begin, const T* end, U init, F&& f) -{ - return boost::simd::accumulate(begin, end, init, std::forward(f)); -} - -template -U simdMapReduce(const T* it, const T* end, U init, MapReducer&& f) -{ - // We separate the range into three regions, to allow - // for aligned loads of data (when possible), and scalar - // reads otherwise. - // - // --------- | ------- | --------- - // unaligned | aligned | unaligned - // - // ^ ------------------- aligned_begin - // ^---------- aligned_end - - typedef boost::simd::pack vT; // SIMD vector of T - typedef boost::simd::pack vU; // SIMD vector of U - - static const std::size_t N = vT::static_size; - const T* aligned_begin = std::min(boost::simd::align_on(it, N * sizeof(T)), end); - const T* aligned_end = aligned_begin + (end - aligned_begin) / N * N; - - // Buffer for the SIMD mapping operations - vU buffer = boost::simd::splat(init); - - // Scalar operations for the initial unaligned region - for (; it != aligned_begin; ++it) - init = f.combine(f.map(*it), init); - - // Aligned, SIMD operations - for (; it != aligned_end; it += N) - buffer = f.combine(f.map(boost::simd::aligned_load(it)), buffer); - - // Reduce the buffer, joining it into the scalar vale - init = f.combine(f.reduce(buffer), init); - - // Leftover unaligned region - for (; it != end; ++it) - init = f.combine(f.map(*it), init); - - return init; -} - -} // namespace RcppParallel - -#endif /* RCPP_NT2_ALGORITHM_ALGORITHM_H */ diff --git a/inst/include/RcppNT2/bitwise/bitwise.h b/inst/include/RcppNT2/bitwise/bitwise.h deleted file mode 100644 index 3c7117b..0000000 --- a/inst/include/RcppNT2/bitwise/bitwise.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef RCPP_NT2_BITWISE_BITWISE_H -#define RCPP_NT2_BITWISE_BITWISE_H - -#include -#include - -namespace RcppNT2 { -namespace bitwise { - -namespace detail { - -// Used for constructing 'double's with all bits set to 1. -union DoublePunner { - uint64_t i; - double d; -}; - -} // namespace detail - -// A class which can be (lazily) converted to an integral value -// with all bits equal to 1. Primarily useful for 'double's. -// Intended use case: -// -// double ones = bitwise::ones(); -// foo(static_cast(bitwise::ones())); -// -class ones -{ -public: - - operator double() const { - detail::DoublePunner punner { -1ULL }; - return punner.d; - } - - operator int() const { - return ~0; - } - -}; - -class zeroes -{ -public: - template - operator T() const { return T(); } -}; - -} // namespace bitwise -} // namespace RcppNT2 - -#endif /* RCPP_NT2_BITWISE_BITWISE_H */ diff --git a/inst/include/RcppNT2/convert/as.h b/inst/include/RcppNT2/convert/as.h deleted file mode 100644 index 68f19c0..0000000 --- a/inst/include/RcppNT2/convert/as.h +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef RCPP_NT2_CONVERT_AS_H -#define RCPP_NT2_CONVERT_AS_H - - -#endif /* RCPP_NT2_CONVERT_AS_H */ diff --git a/inst/include/RcppNT2/convert/convert.h b/inst/include/RcppNT2/convert/convert.h deleted file mode 100644 index 1b2ad2d..0000000 --- a/inst/include/RcppNT2/convert/convert.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef RCPP_NT2_CONVERT_CONVERT_H -#define RCPP_NT2_CONVERT_CONVERT_H - -#include -#include - -#endif /* RCPP_NT2_CONVERT_CONVERT_H */ diff --git a/inst/include/RcppNT2/convert/wrap.h b/inst/include/RcppNT2/convert/wrap.h deleted file mode 100644 index b9e596b..0000000 --- a/inst/include/RcppNT2/convert/wrap.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef RCPP_NT2_CONVERT_WRAP_H -#define RCPP_NT2_CONVERT_WRAP_H - -#include -#include - -namespace RcppNT2 { -namespace convert { - -#define RCPP_NT2_WRAP_MATRIX_IMPL(__CTYPE__, __SEXPTYPE__, __ACCESSOR__) \ -SEXP wrap_matrix(const nt2::table<__CTYPE__>& data) \ -{ \ - std::size_t n = nt2::numel(data); \ - std::size_t nrow = nt2::size(data, 1); \ - std::size_t ncol = nt2::size(data, 2); \ - \ - SEXP result = Rf_allocMatrix(__SEXPTYPE__, nrow, ncol); \ - ::memcpy( \ - (char*) __ACCESSOR__(result), \ - (char*) data.begin(), \ - sizeof(__CTYPE__) * n \ - ); \ - \ - return result; \ -} - -RCPP_NT2_WRAP_MATRIX_IMPL(double, REALSXP, REAL) -RCPP_NT2_WRAP_MATRIX_IMPL(int, INTSXP, INTEGER) - -#define RCPP_NT2_WRAP_VECTOR_IMPL(__CTYPE__, __SEXPTYPE__, __ACCESSOR__) \ -SEXP wrap_vector(const nt2::table<__CTYPE__>& data) \ -{ \ - std::size_t n = nt2::numel(data); \ - SEXP result = Rf_allocVector(__SEXPTYPE__, n); \ - ::memcpy( \ - (char*) __ACCESSOR__(result), \ - (char*) data.begin(), \ - sizeof(__CTYPE__) * n \ - ); \ - return result; \ -} - -RCPP_NT2_WRAP_VECTOR_IMPL(double, REALSXP, REAL) -RCPP_NT2_WRAP_VECTOR_IMPL(int, INTSXP, INTEGER) - -#undef RCPP_NT2_WRAP_VECTOR_IMPL -#undef RCPP_NT2_WRAP_MATRIX_IMPL - -} // namespace convert -} // namespace RcppNT2 - -namespace Rcpp { - -SEXP wrap(const nt2::table& data) -{ - std::size_t ndims = nt2::ndims(data); - if (ndims == 1) - return RcppNT2::convert::wrap_vector(data); - else if (ndims == 2) - return RcppNT2::convert::wrap_matrix(data); - - // TODO: wrap arbitrary arrays - Rf_warning("cannot wrap nt2::tables of dimension %i\n", (int) ndims); - - return R_NilValue; -} - -} // namespace Rcpp - -#endif /* RCPP_NT2_CONVERT_WRAP_H */ diff --git a/inst/include/RcppNT2/core/core.h b/inst/include/RcppNT2/core/core.h deleted file mode 100644 index 9f5e3fa..0000000 --- a/inst/include/RcppNT2/core/core.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef RCPP_NT2_CORE_CORE_H -#define RCPP_NT2_CORE_CORE_H - -#include - -namespace RcppNT2 { - -template -auto pbegin(T&& t) -> decltype(&std::forward(t)[0]) -{ - return &std::forward(t)[0]; -} - -template -auto pend(T&& t) -> decltype(&std::forward(t)[0]) -{ - return &std::forward(t)[0] + std::forward(t).size(); -} - -} // namespace RcppNT2 - -#endif /* RCPP_NT2_CORE_CORE_H */ diff --git a/inst/include/RcppNT2/core/create.h b/inst/include/RcppNT2/core/create.h deleted file mode 100644 index 82b8b7f..0000000 --- a/inst/include/RcppNT2/core/create.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef RCPP_NT2_CORE_CREATE_H -#define RCPP_NT2_CORE_CREATE_H - -#define R_NO_REMAP -#include -#include - -namespace RcppNT2 { - -template -nt2::table make_table_vector_impl(SEXP data) -{ - int n = Rf_length(data); - - T* ptr = reinterpret_cast(STRING_PTR(data)); - return nt2::table(nt2::of_size(n, 1), ptr, ptr + n); -} - -template -nt2::table make_table_matrix_impl(SEXP data) -{ - int nr = Rf_nrows(data); - int nc = Rf_ncols(data); - int n = Rf_length(data); - - T* ptr = reinterpret_cast(STRING_PTR(data)); - return nt2::table(nt2::of_size(nr, nc), ptr, ptr + n); -} - -template -nt2::table make_table_impl(SEXP data) -{ - if (Rf_isMatrix(data)) - return make_table_matrix_impl(data); - else - return make_table_vector_impl(data); -} - -template -nt2::table make_table(SEXP data) -{ - switch (TYPEOF(data)) - { - case REALSXP: return make_table_impl(data); - // case INTSXP: return make_table_impl(data); // TODO: fails to compile? - default: - Rf_warning("can't create an 'nt2::table' from type '%s'", Rf_type2char(TYPEOF(data))); - return nt2::table(); - } -} - -} // namespace RcppNT2 - -#endif /* RCPP_NT2_CORE_CREATE_H */ diff --git a/inst/include/RcppNT2/functor/functor.h b/inst/include/RcppNT2/functor/functor.h deleted file mode 100644 index 1d3f7e9..0000000 --- a/inst/include/RcppNT2/functor/functor.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef RCPP_NT2_FUNCTOR_FUNCTOR_H -#define RCPP_NT2_FUNCTOR_FUNCTOR_H - -// Auto-generated functors for functions provided by NT2. -// See 'gen/nt2-functors.R' for more details. - -namespace RcppNT2 { -namespace functor { - -struct sum { -template -inline auto operator()(T&& t) -> decltype(sum(std::forward(t))) -{ - return sum(std::forward(t)); -} -}; - -struct size { -template -inline auto operator()(T&& t) -> decltype(std::forward(t).size()) -{ - return std::forward(t).size(); -} -}; - -struct plus { -template -inline auto operator()(T&& t, U&& u) -> decltype(std::forward(t) + std::forward(u)) -{ - return std::forward(t) + std::forward(u); -} -}; - -struct minus { -template -inline auto operator()(T&& t, U&& u) -> decltype(std::forward(t) - std::forward(u)) -{ - return std::forward(t) - std::forward(u); -} -}; - -struct times { -template -inline auto operator()(T&& t, U&& u) -> decltype(std::forward(t) * std::forward(u)) -{ - return std::forward(t) * std::forward(u); -} -}; - -struct divide { -template -inline auto operator()(T&& t, U&& u) -> decltype(std::forward(t) / std::forward(u)) -{ - return std::forward(t) / std::forward(u); -} -}; - - -} // namespace functor -} // namespace RcppNT2 - -#endif /* RCPP_NT2_FUNCTOR_FUNCTOR_H */ diff --git a/inst/include/RcppNT2/na/na.h b/inst/include/RcppNT2/na/na.h deleted file mode 100644 index 914cdb7..0000000 --- a/inst/include/RcppNT2/na/na.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef RCPP_NT2_NA_NA_H -#define RCPP_NT2_NA_NA_H - -#include - -namespace RcppNT2 { -namespace na { - -namespace detail { - -struct Masker -{ - template - T operator()(const T& data) - { - static const double ones = bitwise::ones(); - static const double zeroes = bitwise::zeroes(); - return nt2::if_else(data == data, ones, zeroes); - } -}; - -struct MaskerWithCount -{ - - template - T operator()(const T& data) - { - static const double ones = bitwise::ones(); - static const double zeroes = bitwise::zeroes(); - auto&& compare = data == data; - count_ += nt2::sum(nt2::if_else(compare, 1.0, 0.0)); - return nt2::if_else(compare, ones, zeroes); - } - - std::size_t count() { return count_; } - std::size_t count_ = 0; -}; - -struct Counter -{ - template - void operator()(const T& t) - { - count_ += nt2::sum(t != t); - } - - template - operator T() const { return T(count_); } - - std::size_t count_ = 0; -}; - -} // namespace detail - -template -void mask(const T* begin, const T* end, U* out) -{ - simdTransform(begin, end, out, detail::Masker()); -} - -template -void mask(const T* begin, const T* end, U* out, V* count) -{ - detail::MaskerWithCount masker; - simdTransform(begin, end, out, std::reference_wrapper(masker)); - *count = masker.count(); -} - -template -std::size_t count(const T& t) -{ - return simdReduce(pbegin(t), pend(t), std::size_t(0), detail::Counter()); -} - -} // namespace na -} // namespace RcppNT2 - -#endif /* RCPP_NT2_NA_NA_H */ diff --git a/inst/include/RcppNT2/reduce/reduce.h b/inst/include/RcppNT2/reduce/reduce.h deleted file mode 100644 index 826a766..0000000 --- a/inst/include/RcppNT2/reduce/reduce.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef RCPP_NT2_REDUCE_REDUCE_h -#define RCPP_NT2_REDUCE_REDUCE_h - -namespace RcppNT2 { -namespace reduce { - -template -class PlusReducer -{ -public: - V init() { return V{}; } - - template - T combine(const T& t) - { - return t; - } - - template - T combine(const T& t, const Rest&... rest) - { - return t + combine(rest...); - } - - template - auto reduce(const T& t) -> decltype(nt2::sum(t)) - { - return nt2::sum(t); - } -}; - -} // namespace reduce - -template -using PlusReducer = reduce::PlusReducer; - -} // namespace RcppNT2 - -#endif /* RCPP_NT2_REDUCE_REDUCE_h */ diff --git a/inst/include/RcppNT2/traits/traits.h b/inst/include/RcppNT2/traits/traits.h deleted file mode 100644 index 0ea7340..0000000 --- a/inst/include/RcppNT2/traits/traits.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef RCPP_NT2_TRAITS_TRAITS_h -#define RCPP_NT2_TRAITS_TRAITS_h - -template struct storage_type {}; -template <> struct storage_type { typedef double type; }; -template <> struct storage_type { typedef int type; }; - -#endif /* RCPP_NT2_TRAITS_TRAITS_h */ diff --git a/inst/include/RcppNT2/variadic/tools.h b/inst/include/RcppNT2/variadic/tools.h deleted file mode 100644 index 46b8eae..0000000 --- a/inst/include/RcppNT2/variadic/tools.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef RCPP_NT2_VARIADIC_TOOLS_H -#define RCPP_NT2_VARIADIC_TOOLS_H - -namespace RcppNT2 { -namespace variadic { - -template -inline auto apply(F&& f, Args&&... args) -> decltype(std::forward(f)(std::forward(args)...)) -{ - return std::forward(f)(std::forward(args)...); -} - -template -inline auto min(F&& f, T&& t) -> decltype(std::forward(t)) -{ - return std::forward(t); -} - -template -inline auto min(F&& f, T&& t, Ts&&... ts) -> decltype(std::forward(t)) -{ - auto&& lhs = min(std::forward(f), std::forward(t)); - auto&& rhs = min(std::forward(f), std::forward(ts)...); - return lhs < rhs ? lhs : rhs; -} - -template -inline auto max(F&& f, T&& t) -> decltype(std::forward(t)) -{ - return std::forward(t); -} - -template -inline auto max(F&& f, T&& t, Ts&&... ts) -> decltype(std::forward(t)) -{ - auto&& lhs = max(std::forward(f), std::forward(t)); - auto&& rhs = max(std::forward(f), std::forward(ts)...); - return lhs < rhs ? rhs : lhs; -} - -template -void increment(Ts&&... ts) {} - -template -void increment(T&& t, Ts&&... ts) -{ - std::forward(t) += Size; - increment(std::forward(ts)...); -} - -} // namespace variadic -} // namespace RcppNT2 - -#endif /* RCPP_NT2_VARIADIC_TOOLS_H */ diff --git a/inst/include/RcppNT2/variadic/variadic.h b/inst/include/RcppNT2/variadic/variadic.h deleted file mode 100644 index edf61fb..0000000 --- a/inst/include/RcppNT2/variadic/variadic.h +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef RCPP_NT2_VARIADIC_VARIADIC_H -#define RCPP_NT2_VARIADIC_VARIADIC_H - -#include - -namespace RcppNT2 { -namespace variadic { - -template -F simdFor(F&& f, const T* it, const T* end, const Ts*... ts) -{ - typedef boost::simd::pack vT; - static const std::size_t N = vT::static_size; - - const T* aligned_begin = std::min(boost::simd::align_on(it, N * sizeof(T)), end); - const T* aligned_end = aligned_begin + (end - aligned_begin) / N * N; - - for (; it != aligned_begin; increment<1>(it, ts...)) - f(*it, *ts...); - - for (; it != aligned_end; increment(it, ts...)) - f(boost::simd::load(it), boost::simd::load(ts)...); - - for (; it != end; increment<1>(it, ts...)) - f(*it, *ts...); - - return std::forward(f); - -} - -template -F simdFor(F&& f, const T& t, const Ts&... ts) -{ - return simdFor(std::forward(f), pbegin(t), pend(t), pbegin(ts)...); -} - -template -U simdMapReduce(MapReducer&& f, U init, const T* it, const T* end, const Ts*... ts) -{ - typedef boost::simd::pack vT; // SIMD vector of T - typedef boost::simd::pack vU; // SIMD vector of U - - static const std::size_t N = vT::static_size; - const T* aligned_begin = std::min(boost::simd::align_on(it, N * sizeof(T)), end); - const T* aligned_end = aligned_begin + (end - aligned_begin) / N * N; - - // Buffer for the SIMD mapping operations - vU buffer = boost::simd::splat(init); - - // Scalar operations for the initial unaligned region - for (; it != aligned_begin; increment<1>(it, ts...)) - init = f.combine(f.map(*it, *ts...), init); - - // Aligned, SIMD operations - for (; it != aligned_end; increment(it, ts...)) - buffer = f.combine( - f.map(boost::simd::aligned_load(it), boost::simd::load(ts)...), - buffer - ); - - // Reduce the buffer, joining it into the scalar vale - init = f.combine(f.reduce(buffer), init); - - // Leftover unaligned region - for (; it != end; increment<1>(it, ts...)) - init = f.combine(f.map(*it, *ts...), init); - - return init; -} - -template -auto simdMapReduce(MapReducer&& reducer, const T& t, const Ts&... ts) - -> decltype(std::forward(reducer).init()) -{ - return simdMapReduce(std::forward(reducer), - std::forward(reducer).init(), - pbegin(t), - pend(t), - pbegin(ts)...); -} - - -} // namespace variadic -} // namespace RcppNT2 - -#endif /* RCPP_NT2_VARIADIC_VARIADIC_H */ diff --git a/inst/include/boost/control/case.hpp b/inst/include/boost/control/case.hpp deleted file mode 100644 index 2dd24ef..0000000 --- a/inst/include/boost/control/case.hpp +++ /dev/null @@ -1,210 +0,0 @@ -// case.hpp -// -// Copyright (c) 2008 -// Steven Watanabe -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_CONTROL_CASE_HPP_INCLUDED -#define BOOST_CONTROL_CASE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { - -namespace control { - -namespace switch_detail { - -// N is the number of cases not including the default -template -struct range_switch_impl; - -struct empty_set { - template - static char lookup(T); -}; - -template -struct set : Base { - static char (&lookup(T))[2]; - using Base::lookup; - typedef set type; -}; - -template -struct make_set { - template - struct apply { - typedef set::template apply::type>::type, typename boost::mpl::deref::type> type; - }; -}; - -template<> -struct make_set<0> { - template - struct apply { - typedef empty_set type; - }; -}; - -template -struct contains_impl { - typedef typename make_set::value>::template apply::type>::type as_set; - static const bool value = (sizeof(as_set::lookup(N())) != 1); -}; -template -struct contains_impl, N> { - static const bool value = (low <= (N::value)) && ((N::value) < high); -}; - -} - -template -class restrict_case_t { -public: - template - explicit restrict_case_t(T& t) : impl(t) {} - typedef typename Case::labels labels; - template - typename boost::enable_if_c< - switch_detail::contains_impl::value, - R - >::type apply(N n) const { - return(impl.template apply(n)); - } - const Case& get() const { - return(impl); - } -private: - Case impl; -}; - -template -class binary_case_t : public Case1, public Case2 { -public: - template - explicit binary_case_t(const T& t) : Case1(t), Case2(t) {} - binary_case_t(const Case1& case1, const Case2& case2) : - Case1(case1), - Case2(case2) {} - // msvc does not like mpl::joint_view - // if the labels are not reversed. - typedef typename mpl::joint_view< - typename Case2::labels, - typename Case1::labels - > labels; - using Case1::apply; - using Case2::apply; -}; - -template -class single_case_t { -public: - single_case_t(F f) : impl(f) {} - typedef mpl::single_view labels; - template - R apply(N n) const { - return(impl(n)); - } -private: - F impl; -}; - -template -class case_group_t { -public: - case_group_t(F f) : impl(f) {} - typedef S labels; - template - R apply(N n) const { - return(impl(n)); - } - const F& get() const { - return(impl); - } -private: - F impl; -}; - -template -struct add_to_group { - template - struct apply { - typedef binary_case_t > type; - }; -}; - -template -class expression_template_case_t { -public: - typedef typename Case::labels labels; - template - explicit expression_template_case_t(T& t) : impl(t) {} - template - expression_template_case_t(T0& t0, T1& t1) : impl(t0, t1) {} - template - R apply(N n) const { - return(impl.template apply(n)); - } - Case& get() { return(impl); } - const Case& get() const { return(impl); } -private: - Case impl; -}; - -// allows a Case to be used in the expression template -// framework. -template -expression_template_case_t > make_case(Case& c) { - return(expression_template_case_t >(c)); -} - -template -expression_template_case_t > -operator,(const expression_template_case_t& c1, - const expression_template_case_t& c2) { - return(expression_template_case_t >( - c1.get(), c2.get())); -} - -template -expression_template_case_t > > case_(F f) { - return(expression_template_case_t > >(f)); -} - -template -expression_template_case_t, F> > case_c(F f) { - return(expression_template_case_t, F> >(f)); -} - -template -expression_template_case_t, F> > > case_range_c(F f) { - return(expression_template_case_t, F> > >(f)); -} - - -template -inline R switch_(N n, expression_template_case_t, F> > > cases BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(R)) { - typedef switch_detail::range_switch_impl impl; - switch_detail::default_construct default_; - return(impl::template apply(n, cases.get().get().get(), default_)); -} - -template -inline R switch_(N n, expression_template_case_t, F> > > cases, D d BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(R)) { - typedef switch_detail::range_switch_impl impl; - return(impl::template apply(n, cases.get().get().get(), d)); -} - -} // namespace control - -} // namespace boost - -#endif diff --git a/inst/include/boost/control/switch.hpp b/inst/include/boost/control/switch.hpp deleted file mode 100644 index a7ba564..0000000 --- a/inst/include/boost/control/switch.hpp +++ /dev/null @@ -1,184 +0,0 @@ -// switch.hpp -// -// Copyright (c) 2006-2008 -// Steven Watanabe -// -// Distriuted under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost/org/LICENSE_1_0.txt) - -#ifndef BOOST_CONTROL_SWITCH_HPP_INCLUDED -#define BOOST_CONTROL_SWITCH_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SWITCH_LIMIT - #define BOOST_SWITCH_LIMIT 50 -#endif - -#if BOOST_SWITCH_LIMIT > BOOST_PP_LIMIT_REPEAT - #error BOOST_SWITCH_LIMIT exceeds Boost.Preprocessor limit -#endif -#if BOOST_SWITCH_LIMIT > BOOST_PP_LIMIT_ITERATION - #error BOOST_SWITCH_LIMIT exceeds Boost.Preprocessor limit -#endif - -namespace boost { - -namespace control { - -namespace switch_detail { - -// Avoid the need to create all the specializations of switch_impl -// twice. Just pass this to switch_impl::apply(...) when no -// default is supplied. - -template -struct default_construct { - template - R operator()(Int) const { - return(R()); - } -}; - -// N is the number of cases not including the default -template -struct switch_impl; - -// specialize for 0 separately to avoid warnings -template<> -struct switch_impl<0> { - template - static R - apply(Int i, S&, Default d BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(R)) { - return(d(i)); - } -}; - -template -R do_call(T& t) { - return(t.template apply(L())); -} - -template -struct mpl_at_c_impl { - template - struct apply { - typedef typename mpl::next::template apply::type>::type type; - }; -}; - -template<> -struct mpl_at_c_impl<0> { - template - struct apply { - typedef T type; - }; -}; - -template -struct internal_at { - template - struct apply { - typedef typename mpl::deref::template apply::type>::type>::type label; - static R call(T& t) { - return(do_call(t)); - } - static bool fallthrough() { return(false); } - }; -}; - -template -struct size : mpl::size {}; - -#define BOOST_SWITCH_CASE(z, n, data) \ - { \ - typedef typename impl::template apply c; \ - case c::label::value: \ - if(!c::fallthrough()) \ - return(c::call(s)); \ - else c::call(s); \ - } - -#define BOOST_SWITCH_IMPL(z, n, data) \ - template<> \ - struct switch_impl { \ - template \ - static R \ - apply(I i, S& s, D d BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(R)) { \ - typedef internal_at impl; \ - switch(i) { \ - BOOST_PP_REPEAT_##z(n, BOOST_SWITCH_CASE, ~) \ - default: return(d(i)); \ - } \ - } \ - }; - -#define BOOST_PP_LOCAL_LIMITS (1, BOOST_SWITCH_LIMIT) -#define BOOST_PP_LOCAL_MACRO(n) BOOST_SWITCH_IMPL(1, n, ~) -#include BOOST_PP_LOCAL_ITERATE() - -#undef BOOST_SWITCH_IMPL -#undef BOOST_SWITCH_CASE - -// N is the number of cases not including the default -template -struct range_switch_impl; - -// specialize for 0 separately to avoid warnings -template<> -struct range_switch_impl<0> { - template - static R apply(I i, F, D d) { - return(d(i)); - } -}; - -#define BOOST_SWITCH_RANGE_CASE(z, n, data) \ - case data + n: return(f(mpl::integral_c())); - -#define BOOST_SWITCH_RANGE_SWITCH_IMPL(z, n, data) \ - template<> \ - struct range_switch_impl { \ - template\ - static R apply(I i, F f, D d) { \ - switch(i) { \ - BOOST_PP_REPEAT_##z(n, BOOST_SWITCH_RANGE_CASE, low) \ - default: return(d(i)); \ - } \ - } \ - }; - -#define BOOST_PP_LOCAL_LIMITS (1, BOOST_SWITCH_LIMIT) -#define BOOST_PP_LOCAL_MACRO(n) BOOST_SWITCH_RANGE_SWITCH_IMPL(1, n, ~) -#include BOOST_PP_LOCAL_ITERATE() - -#undef BOOST_SWITCH_RANGE_SWITCH_IMPL -#undef BOOST_SWITCH_RANGE_CASE - - -} - -template -inline R switch_(N n, S s BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(R)) { - typedef switch_detail::switch_impl::value> impl; - switch_detail::default_construct default_; - return(impl::template apply(n, s, default_)); -} - -template -inline R switch_(N n, S s, D d BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(R)) { - typedef switch_detail::switch_impl::value> impl; - return(impl::template apply(n, s, d)); -} - -} // namespace control - -} // namespace boost - -#endif diff --git a/inst/include/boost/dispatch/attributes.hpp b/inst/include/boost/dispatch/attributes.hpp deleted file mode 100644 index 1924d04..0000000 --- a/inst/include/boost/dispatch/attributes.hpp +++ /dev/null @@ -1,186 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_ATTRIBUTES_HPP_INCLUDED -#define BOOST_DISPATCH_ATTRIBUTES_HPP_INCLUDED - -/*! - @file - @brief Defines wrapper for compiler dependent attributes - - Variables and functions attributes provided by some compilers allow for - valuable additional optimizations. This file provide portable macro to - benefit from such attributes. -**/ - -#include -#include - -#if defined(DOXYGEN_ONLY) -/*! - @brief Mark a function as candidate for no inlining - - This macro expands to a potential compiler specific function attribute hinting - the compiler to not inline it. - - @par Usage: - - @code - BOOST_NOINLINE void foo() - { - // ... - } - @endcode - -**/ -#define BOOST_NOINLINE - -/*! - @brief Mark a function as deprecated - - This macro expands to a compiler specific function attribute emitting a - warning indicating said function is deprecated. - - @par Usage: - - @code - BOOST_DISPATCH_DEPRECATED void foo() - { - // ... - } - @endcode - -**/ - #define BOOST_DISPATCH_DEPRECATED - -/*! - @brief Mark a pointer or reference as restricted - - This macro expands to a potential compiler specific parameters attribute - indicating that a given pointer or reference is not aliasing any other pointer - or reference. - - @par Usage: - - @code - void* BOOST_DISPATCH_RESTRICT ptr = malloc(1337); - @endcode - - @see BOOST_DISPATCH_NO_RESTRICT_REFERENCES -**/ -#define BOOST_DISPATCH_RESTRICT - -/*! - @brief Mark a pointer or reference as restricted - - If BOOST_DISPATCH_NO_RESTRICT_REFERENCES is defined, current compiler does not - support restricted reference. Using BOOST_DISPATCH_RESTRICT on references - requires checking for this flag. - - @see BOOST_DISPATCH_RESTRICT -**/ -#define BOOST_DISPATCH_NO_RESTRICT_REFERENCES - -/*! - @brief Mark a function as non-throwing - - This macro expands to a compiler specific function attribute indicating that - said function can not throw any kind of exceptions. - - @par Usage: - - @code - void foo() BOOST_DISPATCH_NOTHROW - { - // ... - } - @endcode - -**/ -#define BOOST_DISPATCH_NOTHROW - -/*! - @brief DOCTODO - - @par Usage: - - @code - @endcode - -**/ -#define BOOST_DISPATCH_OVERRIDE - -/*! - @brief Mark a class as having no VTABLE - - This macro expands to a compiler specific type attribute indicating that - said class or structure can be optimized by knowing there is no VTABLE - to be generated for it. - - @par Usage: - - @code - class foo BOOST_DISPATCH_NOVTABLE - { - // ... - } - @endcode - -**/ -#define BOOST_DISPATCH_NOVTABLE - -#else - -#if defined(__GNUC__) -#define BOOST_DISPATCH_DEPRECATED __attribute__((deprecated)) -#elif defined(_MSC_VER) -#define BOOST_DISPATCH_DEPRECATED __declspec(deprecated) -#else -#define BOOST_DISPATCH_DEPRECATED -#endif - -#if defined(__GNUC__) -#define BOOST_DISPATCH_RESTRICT __restrict__ -#elif defined(_MSC_VER) -#define BOOST_DISPATCH_RESTRICT __restrict -#else -#define BOOST_DISPATCH_RESTRICT -#endif -#if BOOST_PP_IS_EMPTY(BOOST_DISPATCH_RESTRICT) -#define BOOST_DISPATCH_NO_RESTRICT -#endif - -#if defined(BOOST_DISPATCH_NO_RESTRICT) || defined(_MSC_VER) -#define BOOST_DISPATCH_NO_RESTRICT_REFERENCES -#endif - -#if defined(_MSC_VER) -#define BOOST_DISPATCH_NOTHROW __declspec( nothrow ) -#elif defined(__GNUC__) -#define BOOST_DISPATCH_NOTHROW __attribute__(( nothrow )) -#else -#define BOOST_DISPATCH_NOTHROW -#endif - -#if defined(_MSC_VER) -#define BOOST_DISPATCH_OVERRIDE override -#elif defined(__GNUC__) -#define BOOST_DISPATCH_OVERRIDE -#else -#define BOOST_DISPATCH_OVERRIDE -#endif - -#if defined(_MSC_VER) -#define BOOST_DISPATCH_NOVTABLE __declspec( novtable ) -#else -#define BOOST_DISPATCH_NOVTABLE -#endif - -#endif - -#endif diff --git a/inst/include/boost/dispatch/details/auto_decltype.hpp b/inst/include/boost/dispatch/details/auto_decltype.hpp deleted file mode 100644 index 008322b..0000000 --- a/inst/include/boost/dispatch/details/auto_decltype.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NUMSCALE SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_DETAILS_AUTO_DECLTYPE_HPP_INCLUDED -#define BOOST_DISPATCH_DETAILS_AUTO_DECLTYPE_HPP_INCLUDED - -#include - -/*! - Helpers to define functions using the auto/decltype syntax in C++11, without - the trailing return type in C++14. -*/ - -#define BOOST_AUTO_DECLTYPE_BODY_SFINAE(body) -> decltype(body) { return body; } - -#if 0 // useful for debugging with GCC 4.7+ -#define BOOST_AUTO_DECLTYPE auto -#define BOOST_AUTO_DECLTYPE_HEADER(body) -#define BOOST_AUTO_DECLTYPE_BODY(body) { return body; } -#elif defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION) || defined(BOOST_NO_CXX14_DECLTYPE_AUTO) || BOOST_VERSION < 105800 -#define BOOST_AUTO_DECLTYPE auto -#define BOOST_AUTO_DECLTYPE_HEADER(body) -> decltype(body) -#define BOOST_AUTO_DECLTYPE_BODY(body) -> decltype(body) { return body; } -#else -#define BOOST_AUTO_DECLTYPE decltype(auto) -#define BOOST_AUTO_DECLTYPE_HEADER(body) -#define BOOST_AUTO_DECLTYPE_BODY(body) { return body; } -#endif - -#endif diff --git a/inst/include/boost/dispatch/details/parameters.hpp b/inst/include/boost/dispatch/details/parameters.hpp deleted file mode 100644 index f079cb1..0000000 --- a/inst/include/boost/dispatch/details/parameters.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_DETAILS_PARAMETERS_HPP_INCLUDED -#define BOOST_DISPATCH_DETAILS_PARAMETERS_HPP_INCLUDED - -/// INTERNAL ONLY -/// Maximum arity for meta-function -#ifndef BOOST_DISPATCH_MAX_META_ARITY -#define BOOST_DISPATCH_MAX_META_ARITY 12 -#endif - -/// INTERNAL ONLY -/// Maximum arity for function calls -#ifndef BOOST_DISPATCH_MAX_ARITY -#define BOOST_DISPATCH_MAX_ARITY 6 -#endif - -#endif diff --git a/inst/include/boost/dispatch/details/typeof.hpp b/inst/include/boost/dispatch/details/typeof.hpp deleted file mode 100644 index 8d93f4c..0000000 --- a/inst/include/boost/dispatch/details/typeof.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_DETAILS_TYPEOF_HPP_INCLUDED -#define BOOST_DISPATCH_DETAILS_TYPEOF_HPP_INCLUDED - -#include -#include -#include - -/// INTERNAL ONLY -/// Boost.Config isn't up to date for MSVC10 so we force it to be -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) && defined(BOOST_NO_DECLTYPE) -#undef BOOST_NO_DECLTYPE -#endif - -/// INTERNAL ONLY -/// decltype in GCC 4.4 is FUBAR -#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 4 && !defined(BOOST_NO_DECLTYPE) -#define BOOST_NO_DECLTYPE -#endif - -#include - -#if defined(BOOST_NO_DECLTYPE) && !defined(BOOST_TYPEOF_NATIVE) -#error compiler supports neither decltype nor typeof -#endif - -#ifdef BOOST_NO_DECLTYPE -#include -namespace boost { namespace dispatch { namespace details -{ - template - char match_const(T &); - - template - char (&match_const(T const &))[2]; - - template struct match_const_impl { typedef T& type; }; - template struct match_const_impl<2u, T> { typedef T const& type; }; -} } } -#endif - -/// INTERNAL ONLY -#ifndef BOOST_NO_DECLTYPE -# define BOOST_DISPATCH_TYPEOF_(EXPR, TYPE) typedef decltype(EXPR) TYPE; -# define BOOST_DISPATCH_TYPEOF(EXPR) decltype(EXPR) -# define BOOST_DISPATCH_DECLTYPE(EXPR) decltype((EXPR)) -#else -# define BOOST_DISPATCH_TYPEOF_(EXPR, TYPE) \ - BOOST_TYPEOF_NESTED_TYPEDEF_TPL(BOOST_PP_CAT(nested_, TYPE), (EXPR)) \ - typedef typename BOOST_PP_CAT(nested_, TYPE)::type TYPE; \ - /**/ -# define BOOST_DISPATCH_TYPEOF(EXPR) BOOST_TYPEOF_TPL(EXPR) -# define BOOST_DISPATCH_DECLTYPE(EXPR) \ - typename boost::dispatch::details:: \ - match_const_impl< sizeof( boost::dispatch::details::match_const((EXPR))) \ - , BOOST_TYPEOF_TPL(EXPR) \ - >::type \ - /**/ -#endif - -#endif diff --git a/inst/include/boost/dispatch/dsl/call.hpp b/inst/include/boost/dispatch/dsl/call.hpp deleted file mode 100644 index 792094d..0000000 --- a/inst/include/boost/dispatch/dsl/call.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_DSL_CALL_HPP_INCLUDED -#define BOOST_DISPATCH_DSL_CALL_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// This file generate basic EDSL expression wrapper over any nt2 function -//////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace tag -{ - /// INTERNAL ONLY - struct ast_ {}; -} -namespace meta -{ - template - struct is_formal : is_formal - { - }; - - template<> - struct is_formal - : mpl::true_ - { - }; - - template - struct is_formal > - : mpl::false_ - { - }; -} } } - -//////////////////////////////////////////////////////////////////////////////// -// Defines the catch-all call for proto expression -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace dispatch { namespace meta -{ - BOOST_DISPATCH_REGISTER_G_TO_IF( unspecified_ - , tag::formal_ - , (Func)(...A) - , (mpl::and_< mpl::not_< is_formal > - , any < boost::proto:: - is_expr - , A... - > - > - ) - , (unspecified_...) - , (implement) - ) - - template - struct implement - { - template - struct result; - - template - struct result - { - typedef typename boost::proto::result_of:: - make_expr < Func - , typename meta::as_ref::type... - >::type type; - }; - template - BOOST_FORCEINLINE - typename result::type - operator()(A&&... a) const - { - return boost::proto:: - make_expr< Func > - ( boost::reference_wrapper< typename boost::remove_reference< typename meta::as_ref::type >::type >(a)... ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/dsl/category.hpp b/inst/include/boost/dispatch/dsl/category.hpp deleted file mode 100644 index 1d52213..0000000 --- a/inst/include/boost/dispatch/dsl/category.hpp +++ /dev/null @@ -1,155 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_DSL_CATEGORY_HPP_INCLUDED -#define BOOST_DISPATCH_DSL_CATEGORY_HPP_INCLUDED - -/*! - * @file - * @brief Defines Boost.Proto expression elements hierarchies - **/ - -#include -#include -#include - -namespace boost { namespace dispatch { namespace details -{ - template - struct expr_of - : expr_of::type> - { - }; - - template - struct expr_of - { - typedef T type; - }; -} } } - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * @brief Boost.Proto top-level expression hierachy - * - * ast_ is the hierarchy representing any Boost.Proto expression of any kind. - * - * @par Models: - * Hierarchy - * - * @tparam T Hierarchized type - **/ - template - struct ast_ : unspecified_ - { - typedef unspecified_ parent; - }; - - /*! - * @brief Boost.Proto expression node hierachy - * - * node_ is the hierarchy representing a Boost.Proto expression node of tag - * @c Tag, semantic hierarchy @c T and with @c N children. Parent hierarchies - * of node_ are computed by walking the parent hierarchy of @c Tag. Once - * hitting the unspecified_ hierarchy, node_ parent is computed as a ast_ - * hierarchy. - * - * @par Models: - * Hierarchy - * - * @tparam T Expression semantic hierarchy - * @tparam Tag Expresson node tag hierarchy - * @tparam N Expression arity - **/ - template - struct node_ : node_ - { - typedef node_ parent; - }; - - /// INTERNAL ONLY - template - struct node_, N, D> : ast_ - { - typedef ast_ parent; - }; - - /*! - * @brief Boost.Proto expression hierachy - * - * expr_ is the hierarchy representing a Boost.Proto expression of tag @c Tag, - * semantic hierarchy @c T and with @c N children. Parent hierarchies of expr_ - * are computed by walking the parent hierarchy of @c T. Once hitting the - * unspecified_ hierarchy, expr_ parent is computed as a node_ hierarchy. - * - * @par Models: - * Hierarchy - * - * @tparam T Expression semantic hierarchy - * @tparam Tag Expresson node tag hierarchy - * @tparam N Expression arity - **/ - template - struct expr_ : expr_ - { - typedef expr_ parent; - }; - - /// INTERNAL ONLY - template - struct expr_< unspecified_, Tag, N> : node_::type::proto_domain> - { - typedef node_::type::proto_domain> parent; - }; -} } } - -namespace boost { namespace dispatch { namespace details -{ - /// INTERNAL ONLY - /// Proto expression hierarchy computation - template - struct hierarchy_of< T - , Origin - , typename T::proto_is_expr_ - > - { - typedef typename meta::semantic_of::type semantic_type; - - typedef meta::expr_ < typename meta::hierarchy_of::type - , typename meta::hierarchy_of::type - , typename T::proto_arity - > type; - }; - - template - struct value_of< T - , typename T::proto_is_expr_ - > - : meta::semantic_of - { - }; - - template - struct value_of_cv< T const - , typename T::proto_is_expr_ - > - : meta::semantic_of - { - }; - - template - struct value_of_cv< T& - , typename T::proto_is_expr_ - > - : meta::semantic_of - { - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/dsl/preprocessed/unpack.hpp b/inst/include/boost/dispatch/dsl/preprocessed/unpack.hpp deleted file mode 100644 index 0f9d964..0000000 --- a/inst/include/boost/dispatch/dsl/preprocessed/unpack.hpp +++ /dev/null @@ -1 +0,0 @@ -template struct unpack_impl { typedef typename boost::dispatch::meta:: result_of< F0( typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type ) >::type type; static BOOST_FORCEINLINE type call(Expr& expr, F0& f0, F1& f1) { return f0(f1(boost::proto::child_c< 0>(expr))); } }; template struct unpack_impl { typedef typename boost::dispatch::meta:: result_of< F0( typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type ) >::type type; static BOOST_FORCEINLINE type call(Expr& expr, F0& f0, F1& f1) { return f0(f1(boost::proto::child_c< 0>(expr)) , f1(boost::proto::child_c< 1>(expr))); } }; template struct unpack_impl { typedef typename boost::dispatch::meta:: result_of< F0( typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type ) >::type type; static BOOST_FORCEINLINE type call(Expr& expr, F0& f0, F1& f1) { return f0(f1(boost::proto::child_c< 0>(expr)) , f1(boost::proto::child_c< 1>(expr)) , f1(boost::proto::child_c< 2>(expr))); } }; template struct unpack_impl { typedef typename boost::dispatch::meta:: result_of< F0( typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type ) >::type type; static BOOST_FORCEINLINE type call(Expr& expr, F0& f0, F1& f1) { return f0(f1(boost::proto::child_c< 0>(expr)) , f1(boost::proto::child_c< 1>(expr)) , f1(boost::proto::child_c< 2>(expr)) , f1(boost::proto::child_c< 3>(expr))); } }; template struct unpack_impl { typedef typename boost::dispatch::meta:: result_of< F0( typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type ) >::type type; static BOOST_FORCEINLINE type call(Expr& expr, F0& f0, F1& f1) { return f0(f1(boost::proto::child_c< 0>(expr)) , f1(boost::proto::child_c< 1>(expr)) , f1(boost::proto::child_c< 2>(expr)) , f1(boost::proto::child_c< 3>(expr)) , f1(boost::proto::child_c< 4>(expr))); } }; template struct unpack_impl { typedef typename boost::dispatch::meta:: result_of< F0( typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type , typename boost::dispatch::meta:: result_of< F1( typename boost::proto::result_of:: child_c::type ) >::type ) >::type type; static BOOST_FORCEINLINE type call(Expr& expr, F0& f0, F1& f1) { return f0(f1(boost::proto::child_c< 0>(expr)) , f1(boost::proto::child_c< 1>(expr)) , f1(boost::proto::child_c< 2>(expr)) , f1(boost::proto::child_c< 3>(expr)) , f1(boost::proto::child_c< 4>(expr)) , f1(boost::proto::child_c< 5>(expr))); } }; diff --git a/inst/include/boost/dispatch/dsl/proto/extends.hpp b/inst/include/boost/dispatch/dsl/proto/extends.hpp deleted file mode 100644 index 75aed87..0000000 --- a/inst/include/boost/dispatch/dsl/proto/extends.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_DSL_PROTO_EXTENDS_HPP_INCLUDED -#define BOOST_DISPATCH_DSL_PROTO_EXTENDS_HPP_INCLUDED - -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// BOOST_PROTO_BASIC_EXTENDS working with template Domain -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_PROTO_BASIC_EXTENDS_TPL(Expr, Derived, Domain) \ -BOOST_PROTO_BASIC_EXTENDS_( BOOST_PP_REMOVE_PARENS(Expr) \ - , BOOST_PP_REMOVE_PARENS(Derived) \ - , BOOST_PP_REMOVE_PARENS(Domain) \ - ) \ -typedef void proto_is_aggregate_; \ -typedef typename BOOST_PP_REMOVE_PARENS(Domain)::proto_generator \ - proto_generator; \ -/**/ - -#endif diff --git a/inst/include/boost/dispatch/dsl/semantic_of.hpp b/inst/include/boost/dispatch/dsl/semantic_of.hpp deleted file mode 100644 index 7ace9fc..0000000 --- a/inst/include/boost/dispatch/dsl/semantic_of.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_DSL_SEMANTIC_OF_HPP_INCLUDED -#define BOOST_DISPATCH_DSL_SEMANTIC_OF_HPP_INCLUDED - -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// For a given Proto expression, retrieves its semantic information, i.e. -// the type that it represents. -// void by default, identity on non-expressions. -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace dispatch { namespace details -{ - template - struct semantic_of - { - typedef Expr type; - }; - - template - struct semantic_of - { - typedef void type; - }; -} - -namespace meta -{ - template - struct semantic_of - : details::semantic_of - { - }; - - template - struct semantic_of::type> - : add_const::type> - { - }; - - template - struct semantic_of::type> - : semantic_of - { - }; - - template - struct semantic_of::type> - : add_reference::type> - { - }; - - template - struct semantic_of::type> - : semantic_of - { - }; - -} } } - -#endif diff --git a/inst/include/boost/dispatch/dsl/unpack.hpp b/inst/include/boost/dispatch/dsl/unpack.hpp deleted file mode 100644 index 76855a0..0000000 --- a/inst/include/boost/dispatch/dsl/unpack.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_DSL_UNPACK_HPP_INCLUDED -#define BOOST_DISPATCH_DSL_UNPACK_HPP_INCLUDED - -#include -#include -#include -#include - -#if defined(BOOST_DISPATCH_DONT_USE_PREPROCESSED_FILES) -#include -#include -#include -#include -#endif - -namespace boost { namespace dispatch -{ - template - struct unpack_impl; - -#if !defined(BOOST_DISPATCH_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_DISPATCH_CREATE_PREPROCESSED_FILES) && __INCLUDE_LEVEL__ == 0 -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/unpack.hpp") -#undef BOOST_FORCEINLINE -#endif - -#define M1(z, n, t) f1(boost::proto::child_c(expr)) -#define M2(z, n, t) \ -typename boost::dispatch::meta:: \ - result_of< F1( typename boost::proto::result_of:: \ - child_c::type \ - ) \ - >::type \ -/**/ - -#define M0(z, n, t) \ -template \ -struct unpack_impl \ -{ \ - typedef typename boost::dispatch::meta:: \ - result_of< F0( BOOST_PP_ENUM(n, M2, ~) \ - ) \ - >::type \ - type; \ - static BOOST_FORCEINLINE type \ - call(Expr& expr, F0& f0, F1& f1) \ - { \ - return f0(BOOST_PP_ENUM(n, M1, ~)); \ - } \ -}; \ -/**/ -BOOST_PP_REPEAT_FROM_TO( 1 - , BOOST_PP_INC(BOOST_PP_MIN( BOOST_DISPATCH_MAX_ARITY - , BOOST_PROTO_MAX_ARITY - ) - ) - , M0 - , ~ - ) -#undef M0 -#undef M1 -#undef M2 - -#if defined(__WAVE__) && defined(BOOST_DISPATCH_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif -#endif - - template - struct unpack_impl - { - typedef typename boost::dispatch::meta:: - result_of::type - type; - static BOOST_FORCEINLINE type - call(Expr& expr, F0& f0, F1&) - { - return f0(expr); - } - }; - - template - struct unpack - { - typedef unpack_impl::value, F0, F1> impl; - typedef typename impl::type result_type; - - BOOST_FORCEINLINE result_type - operator()(Expr& expr, F0& f0, F1& f1) const - { - return impl::call(expr, f0, f1); - } - - BOOST_FORCEINLINE result_type - operator()(Expr& expr, F0& f0) const - { - F1 f1; - return impl::call(expr, f0, f1); - } - - BOOST_FORCEINLINE result_type - operator()(Expr& expr, F1& f1) const - { - F0 f0; - return impl::call(expr, f0, f1); - } - - BOOST_FORCEINLINE result_type - operator()(Expr& expr) const - { - F0 f0; - F1 f1; - return impl::call(expr, f0, f1); - } - }; - -} } - -#endif diff --git a/inst/include/boost/dispatch/functor/details/dispatch.hpp b/inst/include/boost/dispatch/functor/details/dispatch.hpp deleted file mode 100644 index 7a88c71..0000000 --- a/inst/include/boost/dispatch/functor/details/dispatch.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_FUNCTOR_DETAILS_DISPATCH_HPP_INCLUDED -#define BOOST_DISPATCH_FUNCTOR_DETAILS_DISPATCH_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - struct adl_helper {}; - - //============================================================================== - // dispatch_call finds the proper call overload for evaluating a given - // functor over a set of types on a given site - //============================================================================== - template - struct dispatch_call; - - template< class Tag, class Site_ - , class... A - > - struct dispatch_call - { - typedef typename boost::mpl:: - eval_if< is_void - , default_site - , mpl::identity - >::type Site; - - typedef decltype - ( Tag::dispatch ( hierarchy_of_t() - , hierarchy_of_t()... - ) - ) type; - }; - -} } } - -#endif diff --git a/inst/include/boost/dispatch/functor/forward.hpp b/inst/include/boost/dispatch/functor/forward.hpp deleted file mode 100644 index 5d75f6f..0000000 --- a/inst/include/boost/dispatch/functor/forward.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_FUNCTOR_FORWARD_HPP_INCLUDED -#define BOOST_DISPATCH_FUNCTOR_FORWARD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -BOOST_DISPATCH_COUNTER_INIT(default_site_stack) - -namespace boost { namespace dispatch -{ - template - struct default_site_impl; - - template - struct default_site_impl - { - typedef tag::cpu_ type; - }; - - //============================================================================ - /* - * default_site defines the architecture dependent default evaluation context - * for functors. - */ - //============================================================================ -#ifndef BOOST_MSVC - using meta::default_site_stack; -#endif - template - struct default_site - { - static const int value = BOOST_DISPATCH_COUNTER_VALUE_TPL(default_site_stack, Tag); - typedef typename default_site_impl::type type; - }; - - template - using default_site_t = typename default_site::type; - - template< class Tag - , class EvalContext = typename default_site::type - > - struct functor; -} } - -namespace boost { namespace dispatch { namespace meta -{ - template< class Signature , class Site, class Dummy = void> struct implement; - template< class Tag> struct proto_tag; -} } } - - -#ifdef BOOST_MSVC -#define BOOST_DISPATCH_COMBINE_SITE(new_site) BOOST_DISPATCH_COMBINE_SITE_(new_site, __COUNTER__) - -#define BOOST_DISPATCH_COMBINE_SITE_(new_site, N) \ -namespace boost { namespace dispatch \ -{ \ - static const int BOOST_PP_CAT(default_site_stack_value_, N) \ - = BOOST_DISPATCH_COUNTER_VALUE(default_site_stack); \ - template \ - struct default_site_impl \ - : meta::combine< typename default_site_impl< Tag \ - , BOOST_PP_CAT(default_site_stack_value_, N) \ - >::type \ - , BOOST_PP_REMOVE_PARENS(new_site) \ - > \ - { \ - }; \ -} } \ -BOOST_DISPATCH_COUNTER_INCREMENT(default_site_stack) \ -/**/ -#else -#define BOOST_DISPATCH_COMBINE_SITE(new_site) \ -namespace boost { namespace dispatch \ -{ \ - template \ - struct default_site_impl \ - : meta::combine< typename default_site_impl< Tag \ - , BOOST_DISPATCH_COUNTER_VALUE(default_site_stack) \ - >::type \ - , BOOST_PP_REMOVE_PARENS(new_site) \ - > \ - { \ - }; \ -} } \ -BOOST_DISPATCH_COUNTER_INCREMENT(default_site_stack) \ -/**/ -#endif - -#define BOOST_DISPATCH_DEFAULT_SITE_FOR(Tag) \ -namespace boost { namespace dispatch \ -{ \ - template<> \ - struct default_site \ - : default_site_impl \ - { \ - }; \ -} } \ -/**/ - -#endif diff --git a/inst/include/boost/dispatch/functor/functor.hpp b/inst/include/boost/dispatch/functor/functor.hpp deleted file mode 100644 index a928c96..0000000 --- a/inst/include/boost/dispatch/functor/functor.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_FUNCTOR_FUNCTOR_HPP_INCLUDED -#define BOOST_DISPATCH_FUNCTOR_FUNCTOR_HPP_INCLUDED - -/*! - * \file - * \brief Implements Boost.Dispatch main functor handler - */ - -/*! - * \defgroup functors Functor system - * \ingroup sdk - * This module gathers macros, classes and functions to define, implement - * and specialize polymorphic functors. - */ - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch -{ - //============================================================================ - /*! - * \ingroup functors - * \ref functor is a generic, concept-dispatched polymorphic function object. - * Every function in Boost.Dispatch are defined in term of implementing a call strategy - * for \ref functor. The main rationale is to centralize and homogenize the way - * functions with multiple possible implementation with respect to types, - * architectures and compilation phases are handled. - * - * \tparam Tag Function tag to dispatch to. - * \tparam EvalContext Tag defining how to perform said function call with - * respect to architecture or phase settings. - * - * \par Models: - * \dco - * - * \see call - * \see hierarchy - * \see make_functor - */ - //============================================================================ - template - struct functor - { - typedef Tag tag_type; - typedef EvalContext context_type; - - /*! For compatibility with result_of protocol */ - template - struct result; - - template - struct result - { - typedef decltype( boost::declval()(boost::declval()...) ) type; - }; - - //========================================================================== - /*! - * Polymorphic variadic function call operator. This catch-all operators - * dispatches its arguments to the proper type and architecture based - * implementation using the hierarchy_of system. - * - * \param args Arguments of function \c Tag implementation - * \return The result of the calculation of function \c Tag - */ - //========================================================================== - template - BOOST_FORCEINLINE - BOOST_AUTO_DECLTYPE operator()( Args&& ...args ) const - BOOST_AUTO_DECLTYPE_BODY( - Tag::dispatch(meta::hierarchy_of_t(), meta::hierarchy_of_t()...) - (static_cast(args)...) - ) - }; -} } - -#endif diff --git a/inst/include/boost/dispatch/functor/meta/call.hpp b/inst/include/boost/dispatch/functor/meta/call.hpp deleted file mode 100644 index 34e3a06..0000000 --- a/inst/include/boost/dispatch/functor/meta/call.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_FUNCTOR_META_CALL_HPP_INCLUDED -#define BOOST_DISPATCH_FUNCTOR_META_CALL_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the \ref boost::dispatch::meta::call \metafunction - */ - -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - /*! - * \ref call is a \metafunction that, for a given \c Tag, \c EvalContext and - * argument lists \c ...Args, computes the return type of - * functor::operator()(Args...). - * - * \param Sig function type build from Tag(Args...) - * \param EvalContext evaluation context to use for type deduction - * - * \par Models: - * \metafunction - * - * \par Semantics: - * For a given \c Tag, \c EvalContext and argument lists \c ...Args, - * - * \code - * typedef call::type type; - * \endcode - * - * is equivalent to: - * \code - * typedef decltype(functor(declval())) type; - * \endcode - */ - //============================================================================ - template< class Sig - , class EvalContext = void - > struct call {}; - - template - struct call - : meta::result_of::type...), Site>::type(Args...)> - { - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/functor/meta/hierarchy.hpp b/inst/include/boost/dispatch/functor/meta/hierarchy.hpp deleted file mode 100644 index b3f2934..0000000 --- a/inst/include/boost/dispatch/functor/meta/hierarchy.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_FUNCTOR_META_HIERARCHY_HPP_INCLUDED -#define BOOST_DISPATCH_FUNCTOR_META_HIERARCHY_HPP_INCLUDED - -/*! - * \file - * \brief Defines the basic evaluation context hierarchy for \ref boost::dispatch::functor - */ - -#include - -namespace boost { namespace dispatch { namespace tag -{ - //============================================================================ - /*! - * \ingroup hierarchy - * Defines the formal evaluation context for functors. This context is the - * most abstract one and correspond to high-level code trasnformation function - */ - //============================================================================ - struct formal_ : meta::unspecified_ - { - typedef meta::unspecified_ parent; - }; - - //============================================================================ - /*! - * \ingroup hierarchy - * Defines the CPU based evaluation context for functors. This context is used - * when no specific architecture informations is available or required by a - * \ref functor. Functors specialization under the \c cpu_ context is usually - * used as common, architecture independant implementation. - */ - //============================================================================ - struct cpu_ : formal_ - { - typedef formal_ parent; - }; - - //============================================================================ - /*! - * \ingroup hierarchy - * Defines a dummy evaluation context equivalent to \c T. - * This is used when combining sites. - */ - //============================================================================ - template - struct id_ : T - { - typedef T parent; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/functor/meta/make_functor.hpp b/inst/include/boost/dispatch/functor/meta/make_functor.hpp deleted file mode 100644 index cb91e4a..0000000 --- a/inst/include/boost/dispatch/functor/meta/make_functor.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_FUNCTOR_META_MAKE_FUNCTOR_HPP_INCLUDED -#define BOOST_DISPATCH_FUNCTOR_META_MAKE_FUNCTOR_HPP_INCLUDED - -#include - -/*! - * \file - * \brief Implements a delayed \ref boost::dispatch::functor type instanciation system - */ - -namespace boost { namespace dispatch -{ - //============================================================================ - /*! - * \ingroup functors - * This meta-function builds a concrete \ref functor type from a given function - * \c Tag. It's main purpose is to delay the instanciation of \ref functor type - * in dependant context to satisfy the two-phase look-up rule enforced by - * clang and g++-4.6 and superior. - * - * \param Tag Function tag from which the \ref functor type is instanciated - * - * \par Models: - * \metafunction - * - * \par Semantic: - * - * For any \c Tag : - * \code - * typedef make_functor::type type; - * \endcode - * - * is equivalent to - * - * \code - * typedef functor type; - * \endcode - */ - //============================================================================ - template - struct make_functor - { - typedef functor type; - }; -} } - -#endif diff --git a/inst/include/boost/dispatch/functor/preprocessor/call.hpp b/inst/include/boost/dispatch/functor/preprocessor/call.hpp deleted file mode 100644 index 1be75b8..0000000 --- a/inst/include/boost/dispatch/functor/preprocessor/call.hpp +++ /dev/null @@ -1,151 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_FUNCTOR_PREPROCESSOR_CALL_HPP_INCLUDED -#define BOOST_DISPATCH_FUNCTOR_PREPROCESSOR_CALL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -//============================================================================== -/*! - * Generates a implement \c operator() prototype. - * In this function, arguments are defined as \c a0,...,an-1. - * - * \param N Number of parameters for the current implement - * - * - * \code - * BOOST_DISPATCH_CALL(3) - * { - * return a0 + a1/a2; - * } - * \endcode - */ -//============================================================================== -#define BOOST_DISPATCH_CALL(N) \ -result_type operator()( BOOST_PP_ENUM_BINARY_PARAMS(N,A,const& a) ) const \ -/**/ - -//============================================================================== -/*! - * Generates a implement specialization \c operator() prototype - * along with a result_type typedef. - * - * \param N Number of parameters for the current implement - * \param Args Arguments to the function, with type and name - * \param Body Function body, must be a single expression - * - * - * \code - * BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2), - * a0 + a1/a2 - * ) - * \endcode - */ -//============================================================================== -#define BOOST_DISPATCH_RETURNS(N, Args, Body) \ -BOOST_DISPATCH_RETURNS_ARGS(N,Args,Args, Body) \ -/**/ - -#define BOOST_DISPATCH_RETURNS_ARGS(N, Args, Call, Body) \ -struct dispatch_returns_impl \ -{ \ - BOOST_PP_REPEAT(N, BOOST_DISPATCH_RETURNS_, (N, Args)) \ - typedef decltype(Body) result_type; \ -}; \ -typedef typename dispatch_returns_impl::result_type result_type; \ -BOOST_FORCEINLINE result_type operator()Call const { return Body; } \ -/**/ - -#define BOOST_DISPATCH_RETURNS_(z, n, Args) \ -static BOOST_PP_ARRAY_ELEM(n, Args); \ -/**/ - -//============================================================================== -/*! - * Generates a implement \c operator() prototype. - * In this function, arguments are defined as \c a0,...,an-1 of the same type - * \c A0. - * - * \param N Number of parameters for the current implement - * - * \code - * BOOST_DISPATCH_CALL_REPEAT(3) - * { - * return a0 + a1/a2; - * } - * \endcode - */ -//============================================================================== -#define BOOST_DISPATCH_CALL_REPEAT(N) \ -result_type operator()( BOOST_PP_ENUM_PARAMS(N,A0 const& a) ) const \ -/**/ - -//============================================================================== -// Variants that dispatch to implement_Tag -//============================================================================== - -#define BOOST_DISPATCH_IMPLEMENT_BODY(Tag, Site, Types, Seq, M) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types), M, Types ) > \ -struct BOOST_DISPATCH_IMPLEMENT_IMPL(Tag, Site, Seq) \ -/**/ - -#define BOOST_DISPATCH_IMPLEMENT(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_REGISTER(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_IMPLEMENT_BODY(Tag, Site, Types, Seq, BOOST_DISPATCH_TYPE) \ -/**/ - -#define BOOST_DISPATCH_IMPLEMENT_TPL(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_REGISTER_TPL(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_IMPLEMENT_BODY(Tag, Site, Types, Seq, BOOST_DISPATCH_TYPE_TPL) \ -/**/ - -#define BOOST_DISPATCH_IMPLEMENT_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_REGISTER_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_IMPLEMENT_BODY(Tag, Site, Types, Seq, BOOST_DISPATCH_TYPE) \ -/**/ - -#define BOOST_DISPATCH_IMPLEMENT_TPL_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_REGISTER_TPL_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_IMPLEMENT_BODY(Tag, Site, Types, Seq, BOOST_DISPATCH_TYPE_TPL) \ -/**/ - -//============================================================================== -// Variants that dispatch to implement -//============================================================================== - -#define BOOST_DISPATCH_IMPLEMENT_G_BODY(Tag, Site, Types, Seq, M) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types), M, Types ) > \ -struct BOOST_DISPATCH_IMPLEMENT_IMPL_G(Tag, Site, Seq) \ -/**/ - -#define BOOST_DISPATCH_IMPLEMENT_G(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_REGISTER_G(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_IMPLEMENT_G_BODY(Tag, Site, Types, Seq, BOOST_DISPATCH_TYPE) \ -/**/ - -#define BOOST_DISPATCH_IMPLEMENT_G_TPL(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_REGISTER_G_TPL(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_IMPLEMENT_G_BODY(Tag, Site, Types, Seq, BOOST_DISPATCH_TYPE_TPL)\ -/**/ - -#define BOOST_DISPATCH_IMPLEMENT_G_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_REGISTER_G_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_IMPLEMENT_G_BODY(Tag, Site, Types, Seq, BOOST_DISPATCH_TYPE) \ -/**/ - -#define BOOST_DISPATCH_IMPLEMENT_G_TPL_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_REGISTER_G_TPL_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_IMPLEMENT_G_BODY(Tag, Site, Types, Seq, BOOST_DISPATCH_TYPE_TPL)\ -/**/ - -#endif diff --git a/inst/include/boost/dispatch/functor/preprocessor/dispatch.hpp b/inst/include/boost/dispatch/functor/preprocessor/dispatch.hpp deleted file mode 100644 index cd8b242..0000000 --- a/inst/include/boost/dispatch/functor/preprocessor/dispatch.hpp +++ /dev/null @@ -1,415 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_FUNCTOR_PREPROCESSOR_DISPATCH_HPP_INCLUDED -#define BOOST_DISPATCH_FUNCTOR_PREPROCESSOR_DISPATCH_HPP_INCLUDED - -/*! - * \file - * \brief Defines macros for registering a functor overload - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Helpers that strips each element of a sequence -#define BOOST_DISPATCH_TYPE_TPL(z,n,t) BOOST_PP_REMOVE_PARENS(BOOST_PP_SEQ_ELEM(n,t)) -#define BOOST_DISPATCH_TYPE(z,n,t) class BOOST_PP_REMOVE_PARENS(BOOST_PP_SEQ_ELEM(n,t)) - -// XXXMathias: 'const' prevents using TPPs -#define BOOST_DISPATCH_ARG(z,n,t) , BOOST_PP_REMOVE_PARENS(BOOST_PP_SEQ_ELEM(n,t)) /*const*/ -#define BOOST_DISPATCH_TAG(z,n,t) BOOST_PP_REMOVE_PARENS(BOOST_PP_SEQ_ELEM(n,t)) - -//============================================================================== -/*! - * Register an overload for function \c Tag on \c Site when called on types - * belonging to the hierarchies specified by \c (Types,Seq). - * This forwards to the PFO specified by \c Ret. - * - * \param NS Current namespace as a preprocessor sequence - * \param Tag Function tag to register - * \param Site Evaluation context to use in this overload - * \param Types Preprocessor sequence of template types used in the hierarchy - * \param Ret Implementation target to select if \c Cond is verified - * \param Seq Sequence of hierarchy defining the overload - */ -//============================================================================== -#define BOOST_DISPATCH_REGISTER_TO(Tag, Site, Types, Seq, Ret) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types) \ - , BOOST_DISPATCH_TYPE \ - , Types \ - ) \ - > \ -BOOST_FORCEINLINE \ -BOOST_PP_REMOVE_PARENS(Ret) \ -BOOST_PP_CAT(dispatching_, Tag)( adl_helper \ - , BOOST_PP_REMOVE_PARENS(Site) \ - BOOST_PP_REPEAT( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_ARG \ - , Seq \ - ) \ - ) \ -{ \ - return BOOST_PP_REMOVE_PARENS(Ret)(); \ -} \ -/**/ - -//============================================================================== -/*! - * Register an overload for function \c Tag on \c Site when called on types - * belonging to the hierarchies specified by \c (Types,Seq), where Seq can - * contain non-type hierarchy template parameters. - * This forwards to the PFO specified by \c Ret. - * - * \param NS Current namespace as a preprocessor sequence - * \param Tag Function tag to register - * \param Site Evaluation context to use in this overload - * \param Types Preprocessor sequence of template types used in the hierarchy - * \param Ret Implementation target to select if \c Cond is verified - * \param Seq Sequence of hierarchy defining the overload - */ -//============================================================================== -#define BOOST_DISPATCH_REGISTER_TPL_TO(Tag, Site, Types, Seq, Ret) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types) \ - , BOOST_DISPATCH_TYPE_TPL \ - , Types \ - ) \ - > \ -BOOST_FORCEINLINE \ -BOOST_PP_REMOVE_PARENS(Ret) \ -BOOST_PP_CAT(dispatching_, Tag)( adl_helper \ - , BOOST_PP_REMOVE_PARENS(Site) \ - BOOST_PP_REPEAT( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_ARG \ - , Seq \ - ) \ - ) \ -{ \ - return BOOST_PP_REMOVE_PARENS(Ret)(); \ -} \ -/**/ - -//============================================================================== -/*! - * Register an overload for function \c Tag on \c Site when called on types - * belonging to the hierarchies specified by \c (Types,Seq) and if the compile - * time condition \c Cond is verified. - * This forwards to the PFO specified by \c Ret. - * - * \param NS Current namespace as a preprocessor sequence - * \param Tag Function tag to register - * \param Site Evaluation context to use in this overload - * \param Types Preprocessor sequence of template types used in the hierarchy - * \param Cond Compile-time predicates to verify - * \param Ret Implementation target to select if \c Cond is verified - * \param Seq Sequence of hierarchy defining the overload - */ -//============================================================================== -#define BOOST_DISPATCH_REGISTER_TO_IF(Tag, Site, Types, Cond, Seq, Ret) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types) \ - , BOOST_DISPATCH_TYPE \ - , Types \ - ) \ - > \ -BOOST_FORCEINLINE \ -typename boost::enable_if< BOOST_PP_REMOVE_PARENS(Cond) \ - , BOOST_PP_REMOVE_PARENS(Ret) \ - >::type \ -BOOST_PP_CAT(dispatching_, Tag)( adl_helper \ - , BOOST_PP_REMOVE_PARENS(Site) \ - BOOST_PP_REPEAT( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_ARG \ - , Seq \ - ) \ - ) \ -{ \ - return BOOST_PP_REMOVE_PARENS(Ret)(); \ -} \ -/**/ - -//============================================================================== -/*! - * Register an overload for function \c Tag on \c Site when called on types - * belonging to the hierarchies specified by \c (Types,Seq), where Seq can - * contain non-type hierarchy template parameters and if the compile - * time condition \c Cond is verified. - * This forwards to the PFO specified by \c Ret. - * - * \param NS Current namespace as a preprocessor sequence - * \param Tag Function tag to register - * \param Site Evaluation context to use in this overload - * \param Types Preprocessor sequence of template types used in the hierarchy - * \param Cond Compile-time predicates to verify - * \param Ret Implementation target to select if \c Cond is verified - * \param Seq Sequence of hierarchy defining the overload - */ -//============================================================================== -#define BOOST_DISPATCH_REGISTER_TPL_TO_IF(Tag, Site, Types, Cond, Seq, Ret) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types) \ - , BOOST_DISPATCH_TYPE_TPL \ - , Types \ - ) \ - > \ -BOOST_FORCEINLINE \ -typename boost::enable_if< BOOST_PP_REMOVE_PARENS(Cond) \ - , BOOST_PP_REMOVE_PARENS(Ret) \ - >::type \ -BOOST_PP_CAT(dispatching_, Tag)( adl_helper \ - , BOOST_PP_REMOVE_PARENS(Site) \ - BOOST_PP_REPEAT( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_ARG \ - , Seq \ - ) \ - ) \ -{ \ - return BOOST_PP_REMOVE_PARENS(Ret)(); \ -} \ -/**/ - -//============================================================================== -// Variants that dispatch to implement_Tag -//============================================================================== - -#define BOOST_DISPATCH_IMPLEMENT_IMPL(Tag, Site, Seq) \ -BOOST_PP_CAT(impl_, Tag) \ - < void \ - ( BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_TAG \ - , Seq \ - ) \ - ) \ - , BOOST_PP_REMOVE_PARENS(Site) \ - > \ -/**/ - -#define BOOST_DISPATCH_REGISTER(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_REGISTER_TO( Tag, Site, Types, Seq \ - , ( BOOST_DISPATCH_IMPLEMENT_IMPL(Tag, Site, Seq) \ - ) \ - ) \ -/**/ - -#define BOOST_DISPATCH_REGISTER_TPL(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_REGISTER_TPL_TO( Tag, Site, Types, Seq \ - , ( BOOST_DISPATCH_IMPLEMENT_IMPL(Tag, Site, Seq) \ - ) \ - ) \ -/**/ - -#define BOOST_DISPATCH_REGISTER_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_REGISTER_TO_IF( Tag, Site, Types, Cond, Seq \ - , ( BOOST_DISPATCH_IMPLEMENT_IMPL(Tag, Site, Seq) \ - ) \ - ) \ -/**/ - -#define BOOST_DISPATCH_REGISTER_TPL_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_REGISTER_TPL_TO_IF( Tag, Site, Types, Cond, Seq \ - , ( BOOST_DISPATCH_IMPLEMENT_IMPL(Tag, Site, Seq) \ - ) \ - ) \ -/**/ - - -//============================================================================== -/*! - * Register an overload for function \c Tag on \c Site when called on types - * belonging to the hierarchies specified by \c (Types,Seq). - * This forwards to the PFO specified by \c Ret. - * - * \param NS Current namespace as a preprocessor sequence - * \param Tag Function tag to register - * \param Site Evaluation context to use in this overload - * \param Types Preprocessor sequence of template types used in the hierarchy - * \param Ret Implementation target to select if \c Cond is verified - * \param Seq Sequence of hierarchy defining the overload - */ -//============================================================================== -#define BOOST_DISPATCH_REGISTER_G_TO(Tag, Site, Types, Seq, Ret) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types) \ - , BOOST_DISPATCH_TYPE \ - , Types \ - ) \ - > \ -BOOST_FORCEINLINE \ -BOOST_PP_REMOVE_PARENS(Ret) \ -dispatching( adl_helper \ - , BOOST_PP_REMOVE_PARENS(Tag), BOOST_PP_REMOVE_PARENS(Site) \ - BOOST_PP_REPEAT( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_ARG \ - , Seq \ - ) \ - ) \ -{ \ - return BOOST_PP_REMOVE_PARENS(Ret)(); \ -} \ -/**/ - -//============================================================================== -/*! - * Register an overload for function \c Tag on \c Site when called on types - * belonging to the hierarchies specified by \c (Types,Seq), where Seq can - * contain non-type hierarchy template parameters. - * This forwards to the PFO specified by \c Ret. - * - * \param NS Current namespace as a preprocessor sequence - * \param Tag Function tag to register - * \param Site Evaluation context to use in this overload - * \param Types Preprocessor sequence of template types used in the hierarchy - * \param Ret Implementation target to select if \c Cond is verified - * \param Seq Sequence of hierarchy defining the overload - */ -//============================================================================== -#define BOOST_DISPATCH_REGISTER_G_TPL_TO(Tag, Site, Types, Seq, Ret) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types) \ - , BOOST_DISPATCH_TYPE_TPL \ - , Types \ - ) \ - > \ -BOOST_FORCEINLINE \ -BOOST_PP_REMOVE_PARENS(Ret) \ -dispatching( adl_helper \ - , BOOST_PP_REMOVE_PARENS(Tag), BOOST_PP_REMOVE_PARENS(Site) \ - BOOST_PP_REPEAT( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_ARG \ - , Seq \ - ) \ - ) \ -{ \ - return BOOST_PP_REMOVE_PARENS(Ret)(); \ -} \ -/**/ - -//============================================================================== -/*! - * Register an overload for function \c Tag on \c Site when called on types - * belonging to the hierarchies specified by \c (Types,Seq) and if the compile - * time condition \c Cond is verified. - * This forwards to the PFO specified by \c Ret. - * - * \param NS Current namespace as a preprocessor sequence - * \param Tag Function tag to register - * \param Site Evaluation context to use in this overload - * \param Types Preprocessor sequence of template types used in the hierarchy - * \param Cond Compile-time predicates to verify - * \param Ret Implementation target to select if \c Cond is verified - * \param Seq Sequence of hierarchy defining the overload - */ -//============================================================================== -#define BOOST_DISPATCH_REGISTER_G_TO_IF(Tag, Site, Types, Cond, Seq, Ret) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types) \ - , BOOST_DISPATCH_TYPE \ - , Types \ - ) \ - > \ -BOOST_FORCEINLINE \ -typename boost::enable_if< BOOST_PP_REMOVE_PARENS(Cond) \ - , BOOST_PP_REMOVE_PARENS(Ret) \ - >::type \ -dispatching( adl_helper \ - , BOOST_PP_REMOVE_PARENS(Tag), BOOST_PP_REMOVE_PARENS(Site) \ - BOOST_PP_REPEAT( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_ARG \ - , Seq \ - ) \ - ) \ -{ \ - return BOOST_PP_REMOVE_PARENS(Ret)(); \ -} \ -/**/ - -//============================================================================== -/*! - * Register an overload for function \c Tag on \c Site when called on types - * belonging to the hierarchies specified by \c (Types,Seq), where Seq can - * contain non-type hierarchy template parameters and if the compile - * time condition \c Cond is verified. - * This forwards to the PFO specified by \c Ret. - * - * \param NS Current namespace as a preprocessor sequence - * \param Tag Function tag to register - * \param Site Evaluation context to use in this overload - * \param Types Preprocessor sequence of template types used in the hierarchy - * \param Cond Compile-time predicates to verify - * \param Ret Implementation target to select if \c Cond is verified - * \param Seq Sequence of hierarchy defining the overload - */ -//============================================================================== -#define BOOST_DISPATCH_REGISTER_G_TPL_TO_IF(Tag, Site, Types, Cond, Seq, Ret) \ -template< BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Types) \ - , BOOST_DISPATCH_TYPE_TPL \ - , Types \ - ) \ - > \ -BOOST_FORCEINLINE \ -typename boost::enable_if< BOOST_PP_REMOVE_PARENS(Cond) \ - , BOOST_PP_REMOVE_PARENS(Ret) \ - >::type \ -dispatching( adl_helper \ - , BOOST_PP_REMOVE_PARENS(Tag), BOOST_PP_REMOVE_PARENS(Site) \ - BOOST_PP_REPEAT( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_ARG \ - , Seq \ - ) \ - ) \ -{ \ - return BOOST_PP_REMOVE_PARENS(Ret)(); \ -} \ -/**/ - -//============================================================================== -// Variants that dispatch to implement -//============================================================================== - -#define BOOST_DISPATCH_IMPLEMENT_IMPL_G(Tag, Site, Seq) \ -implement< BOOST_PP_REMOVE_PARENS(Tag) \ - ( BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Seq) \ - , BOOST_DISPATCH_TAG \ - , Seq \ - ) \ - ) \ - , BOOST_PP_REMOVE_PARENS(Site) \ - > \ -/**/ - -#define BOOST_DISPATCH_REGISTER_G(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_REGISTER_G_TO( Tag, Site, Types, Seq \ - , ( BOOST_DISPATCH_IMPLEMENT_IMPL_G(Tag, Site, Seq) \ - ) \ - ) \ -/**/ - -#define BOOST_DISPATCH_REGISTER_G_TPL(Tag, Site, Types, Seq) \ -BOOST_DISPATCH_REGISTER_G_TPL_TO( Tag, Site, Types, Seq \ - , ( BOOST_DISPATCH_IMPLEMENT_IMPL_G(Tag, Site, Seq) \ - ) \ - ) \ -/**/ - -#define BOOST_DISPATCH_REGISTER_G_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_REGISTER_G_TO_IF( Tag, Site, Types, Cond, Seq \ - , ( BOOST_DISPATCH_IMPLEMENT_IMPL_G(Tag, Site, Seq) \ - ) \ - ) \ -/**/ - -#define BOOST_DISPATCH_REGISTER_G_TPL_IF(Tag, Site, Types, Cond, Seq) \ -BOOST_DISPATCH_REGISTER_G_TPL_TO_IF( Tag, Site, Types, Cond, Seq \ - , ( BOOST_DISPATCH_IMPLEMENT_IMPL_G(Tag, Site, Seq) \ - ) \ - ) \ -/**/ - -#endif diff --git a/inst/include/boost/dispatch/functor/preprocessor/function.hpp b/inst/include/boost/dispatch/functor/preprocessor/function.hpp deleted file mode 100644 index 3e1ebf3..0000000 --- a/inst/include/boost/dispatch/functor/preprocessor/function.hpp +++ /dev/null @@ -1,236 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_FUNCTOR_PREPROCESSOR_FUNCTION_HPP_INCLUDED -#define BOOST_DISPATCH_FUNCTOR_PREPROCESSOR_FUNCTION_HPP_INCLUDED - -/*! - @file - @brief Defines macro boilerplate for writing dispatchable functions -**/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/*! - @brief Generate dispatch-based function prototype - - Given a @c Tag, generate the prototype for a function called @c Name taking - @c N parameters and using boost::dispatch for its implementation. - - @param Tag Function Tag to implement - @param Name Function public name - @param N Number of parameters - - @par Usage: - - @code - BOOST_DISPATCH_FUNCTION_INTERFACE(tag::plus_, addition, 2); - @endcode - - Such a call will generate a code similar to : - - @code - template - typename boost::dispatch::meta::call::type - addition(A0 const& a0, A1 const& a1 ); - @endcode -**/ -#define BOOST_DISPATCH_FUNCTION_INTERFACE(Tag, Name, N) \ -template \ -BOOST_FORCEINLINE \ -BOOST_AUTO_DECLTYPE Name( BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) ) \ -BOOST_AUTO_DECLTYPE_HEADER( BOOST_DISPATCH_FUNCTION_BODY_(Tag, N) ) \ -/**/ - -/*! - @brief Generate dispatch-based function body - - Given a @c Tag, generate the body of a function taking @c N parameters and - using boost::dispatch for its implementation. - - @param Tag Function Tag to implement - @param N Number of parameters - - @par Usage: - - @code - BOOST_DISPATCH_FUNCTION_BODY(tag::plus_, 2); - @endcode - - Such a call will generate a code similar to : - - @code - return typename boost::dispatch::make_functor::type()(a0,a1); - @endcode -**/ -#define BOOST_DISPATCH_FUNCTION_BODY(Tag, N) \ -return BOOST_DISPATCH_FUNCTION_BODY_(Tag, N); \ -/**/ - -/// INTERNAL ONLY -#define BOOST_DISPATCH_FUNCTION_BODY_(Tag, N) \ -BOOST_DISPATCH_FUNCTION_BODY_TPL_(Tag, BOOST_PP_REPEAT(N, BOOST_DISPATCH_FN_ARGS_TYPES, ~), N) \ -/**/ - -/// INTERNAL ONLY -#define BOOST_DISPATCH_FUNCTION_BODY_TPL_(Tag, Args, N) \ -Tag::dispatch( boost::dispatch::default_site_t() \ - , BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(Args), BOOST_DISPATCH_FN_ARGS_HIER, Args ) \ - ) \ - (BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Args), a)) \ -/**/ - -/*! - @brief Generate dispatch-based function implementation - - Given a @c Tag, generate a function called @c Name taking @c N parameters and - using boost::dispatch for its implementation. - - @param Tag Function Tag to implement - @param Name Function public name - @param N Number of parameters - - @par Usage: - - @code - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::plus_, addition, 2); - @endcode - - Such a call will generate a code similar to : - - @code - template - typename boost::dispatch::meta::call::type - addition(A0 const& a0, A1 const& a1 ) - { - return typename boost::dispatch::make_functor::type()(a0,a1); - } - @endcode - - Note the usage of make_functor which ensure that the functor type generated - from the tag is properly made dependent of the type parameters of the template - function. - - @see BOOST_DISPATCH_FUNCTION_INTERFACE - @see BOOST_DISPATCH_FUNCTION_BODY -**/ -#define BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(Tag, Name, N) \ -BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( \ - Tag, Name \ -, BOOST_PP_REPEAT(N, BOOST_DISPATCH_FN_ARGS_TYPES, ~) \ -, N \ -) \ -/**/ - -/// INTERNAL ONLY -#define BOOST_DISPATCH_FN_ARGS_TYPES(z,n,t) (A##n const&) - -/// INTERNAL ONLY -#define BOOST_DISPATCH_FN_ARGS(z,n,t) BOOST_PP_SEQ_ELEM(n,t) a##n - -/// INTERNAL ONLY -#define BOOST_DISPATCH_FN_ARGS_HIER(z,n,t) boost::dispatch::meta::hierarchy_of_t() - -/*! - @brief Generate custom dispatch-based function implementation - - Given a @c Tag, generate a function called @c Name taking @c N parameters and - using boost::dispatch for its implementation. As an additional parameter, - the exact cref qualification of each parameters is specified - - @param Args Actual parameters cref qualifications - @param Tag Function Tag to implement - @param Name Function public name - @param N Number of parameters - - @par Usage: - - @code - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::remquo_, remquo, 3, (A0 const&)(A1&)(A2&)); - @endcode - - Such a call will generate a code similar to : - - @code - template - typename boost::dispatch::meta::call::type - remquo(A0 const& a0, A1& a1 , A2& a2 ) - { - return typename boost::dispatch::make_functor::type()(a0,a1,a2); - } - @endcode - - Note the usage of make_functor which ensure that the functor type generated - from the tag is properly made dependent of the type parameters of the template - function. - - @see BOOST_DISPATCH_FUNCTION_IMPLEMENTATION - @see BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_SELF -**/ -#define BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(Tag, Name, Args, N) \ -template \ -BOOST_FORCEINLINE \ -BOOST_AUTO_DECLTYPE Name( BOOST_PP_ENUM(BOOST_PP_SEQ_SIZE(Args), BOOST_DISPATCH_FN_ARGS, Args) ) \ -BOOST_AUTO_DECLTYPE_BODY(BOOST_DISPATCH_FUNCTION_BODY_TPL_(Tag, Args, N)) \ -/**/ - -/// INTERNAL ONLY -#define BOOST_DISPATCH_FN_REF(z,n,t) (BOOST_PP_CAT(A,BOOST_PP_INC(n)) const&) - -/*! - @brief Generate custom dispatch-based function implementation - - Given a @c Tag, generate a function called @c Name taking @c N parameters and - using boost::dispatch for its implementation. The generated function is made - so it takes its first parameters by non-const refernce - - @param Tag Function Tag to implement - @param Name Function public name - @param N Number of parameters - - @par Usage: - - @code - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_SELF(tag::store_, store, 2); - @endcode - - Such a call will generate a code similar to : - - @code - template - typename boost::dispatch::meta::call::type - aligned_storeA0& a0, A1 const& a1) - { - return typename boost::dispatch::make_functor::type()(a0,a1,a2); - } - @endcode - - Note the usage of make_functor which ensure that the functor type generated - from the tag is properly made dependent of the type parameters of the template - function. - - @see BOOST_DISPATCH_FUNCTION_IMPLEMENTATION - @see BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL -**/ -// Generate a complete function implementation for self modifying operator -#define BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_SELF(Tag, Name, N) \ -BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(Tag, Name, \ - (A0&)BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_DISPATCH_FN_REF, ~), N) \ -/**/ - -#endif diff --git a/inst/include/boost/dispatch/include/functor.hpp b/inst/include/boost/dispatch/include/functor.hpp deleted file mode 100644 index bf02fc7..0000000 --- a/inst/include/boost/dispatch/include/functor.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_INCLUDE_FUNCTOR_HPP_INCLUDED -#define BOOST_DISPATCH_INCLUDE_FUNCTOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/dispatch/meta/adapted_traits.hpp b/inst/include/boost/dispatch/meta/adapted_traits.hpp deleted file mode 100644 index 53f1b04..0000000 --- a/inst/include/boost/dispatch/meta/adapted_traits.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_ADAPTED_TRAITS_HPP_INCLUDED -#define BOOST_DISPATCH_META_ADAPTED_TRAITS_HPP_INCLUDED - -/*! - * @file - * @brief Define the boost::dispatch::meta::is_floating_point and - * boost::dispatch::meta::is_integral traits. - **/ - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * @brief Check primitive type for floating point behavior - * - * For any type @c T, checks if its primitive type is a floating-point type. - * - * @tparam T Any type - * - * @par Models: - * - * @metafunction - * - * @par Semantic: - * For any type @c T, - * - * @code - * typedef is_floating::type type; - * @endcode - * - * is equivalent to - * - * @code - * typedef behave_as< boost::is_floating_point, T > type; - * @endcode - **/ - template - struct is_floating_point - : behave_as < details::is_floating_point_impl - , T - > - {}; - - /*! - * @brief Check primitive type for integer behavior - * - * For any type @c T, checks if its primitive type is an integral type. - * - * @tparam T Any type - * - * @par Models: - * - * @metafunction - * - * @par Semantic: - * For any type @c T, - * - * @code - * typedef is_integral::type type; - * @endcode - * - * is equivalent to - * - * @code - * typedef behave_as< boost::is_integral, T > type; - * @endcode - **/ - template - struct is_integral - : behave_as < details::is_integral_impl - , T - > - {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/all.hpp b/inst/include/boost/dispatch/meta/all.hpp deleted file mode 100644 index 2c13348..0000000 --- a/inst/include/boost/dispatch/meta/all.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_ALL_HPP_INCLUDED -#define BOOST_DISPATCH_META_ALL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch -{ - namespace details - { - template - struct all_impl; - - template - struct all_impl - : boost::mpl::false_ - {}; - - template - struct all_impl - : all_impl< boost::mpl::apply1::type::value - , Predicate - , Tail... - > - {}; - - template - struct all_impl - : boost::mpl::apply1::type - {}; - } - - namespace meta - { - /*! - @brief All combinator for types list - - Evaluates if a given unary Boolean @metafunction evaluates to @true_ - for all types in a list of types. - - @tparam Pred Boolean @metafunction - @tparam Args Types to check - - @par Models: - - @metafunction - - @par Semantic: - - For any unary Boolean @metafunction @c Pred and any types - T0,...,Tn: - - @code - typedef all::type type; - @endcode - - is equivalent to - - @code - typedef mpl::bool_< apply::type::value - && apply::type::value - ... - && apply::type::value - >::type type; - @endcode - - @par Usage: - - @include all.cpp - **/ - template - struct all; - - /// INTERNAL ONLY - template - struct all - : details::all_impl < boost::mpl::apply1::type::value - , Predicate - , Tail... - > - {}; - - /// INTERNAL ONLY - template - struct all - : boost::mpl::apply1::type - {}; - - template - struct all_seq - : boost::is_same< typename boost::mpl - ::find_if < T - , boost::mpl::not_ - >::type - , typename boost::mpl::end::type - > - {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/any.hpp b/inst/include/boost/dispatch/meta/any.hpp deleted file mode 100644 index f32b7f5..0000000 --- a/inst/include/boost/dispatch/meta/any.hpp +++ /dev/null @@ -1,113 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_ANY_HPP_INCLUDED -#define BOOST_DISPATCH_META_ANY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch -{ - namespace details - { - template - struct any_impl; - - template - struct any_impl - : boost::mpl::true_ - {}; - - template - struct any_impl - : any_impl< boost::mpl::apply1::type::value - , Predicate - , Tail... - > - {}; - - template - struct any_impl - : boost::mpl::apply1::type - {}; - } - - namespace meta - { - /*! - @brief any combinator for types list - - Evaluates if a given unary Boolean @metafunction evaluates to @true_ - for any types in a list of types. - - @tparam Pred Boolean @metafunction - @tparam Args Types to check - - @par Models: - - @metafunction - - @par Semantic: - - For any unary Boolean @metafunction @c Pred and any types - T0,...,Tn: - - @code - typedef any::type type; - @endcode - - is equivalent to - - @code - typedef mpl::bool_< apply::type::value - || apply::type::value - ... - || apply::type::value - >::type type; - @endcode - - @par Usage: - - @include any.cpp - **/ - template - struct any; - - /// INTERNAL ONLY - template - struct any - : details::any_impl < boost::mpl::apply1::type::value - , Predicate - , Tail... - > - {}; - - /// INTERNAL ONLY - template - struct any - : boost::mpl::apply1::type - {}; - - template - struct any_seq - : boost::mpl - ::not_ < boost::is_same< typename boost::mpl - ::find_if::type - , typename boost::mpl::end::type - > - > - {}; - } -} } - -#endif diff --git a/inst/include/boost/dispatch/meta/as.hpp b/inst/include/boost/dispatch/meta/as.hpp deleted file mode 100644 index dda503b..0000000 --- a/inst/include/boost/dispatch/meta/as.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_AS_HPP_INCLUDED -#define BOOST_DISPATCH_META_AS_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - Type wrapper hierarchy. - - @par Models: - - Hierarchy - - @tparam T Wrapped type hierarchy - **/ - template struct target_ : target_< typename T::parent > - { - typedef target_< typename T::parent > parent; - }; - - /// INTERNAL ONLY - template struct target_< unspecified_ > : unspecified_ - { - typedef unspecified_ parent; - }; - - /// INTERNAL ONLY - template struct target_< unknown_ > : unknown_ - { - typedef unknown_ parent; - }; - - /*! - @brief Lightweight type wrapper. - - Some implementation details of NT2 require types to be wrapped into an - empty structure so the type can be passed as a "ghostly" instance. - as_ performs such a wrapping. - - To discriminate as_ from the type @c T it wraps, its hierarcy is defined as - @c target_::type> - - @par Models: - - @metafunction - **/ - template struct as_ - { - typedef T type; - }; - - /*! - @brief Extract a target type - - For any type @c T, if T is a Target, returns the target type. - Otherwise, it behaves as the identity meta-function - **/ - template struct target_value - { - typedef T type; - }; - - /// INTERNAL ONLY - template struct target_value< as_ > - { - typedef T type; - }; - - /// INTERNAL ONLY - /// Register as_ hierarchy - template - struct hierarchy_of< as_, Origin> - { - typedef typename remove_const::type stripped; - typedef typename mpl::if_ < is_same< stripped, as_ > - , stripped - , Origin - >::type origin_; - typedef target_::type> type; - }; - - /// INTERNAL ONLY - /// The value of as_ is T - template struct value_of< as_ > - { - typedef T type; - }; - - /// INTERNAL ONLY - template struct model_of< as_ > - { - struct type - { - template struct apply { typedef as_ type; }; - }; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/as_floating.hpp b/inst/include/boost/dispatch/meta/as_floating.hpp deleted file mode 100644 index 810a186..0000000 --- a/inst/include/boost/dispatch/meta/as_floating.hpp +++ /dev/null @@ -1,152 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_AS_FLOATING_HPP_INCLUDED -#define BOOST_DISPATCH_META_AS_FLOATING_HPP_INCLUDED - -/*! - * @file - * @brief Define the boost::dispatch::meta::as_floating @metafunction. - **/ - -#include -#include -#include -#include -#include -#include -#include - -/// TODO: Try to find an implementation with less template instanciation -namespace boost { namespace dispatch { namespace meta -{ - /*! - * @brief Compute a floating point type common to a type set. - * - * Computes the smallest floating point type able to hold a value of the - * common type of its input parameters. - * - * @tparam Args Primitive types to transform - * - * @par Models: - * - * @metafunction - * - * @par Semantic: - * - * For any types @c Args, - * - * @code - * typedef as_floating::type type; - * @endcode - * - * is equivalent to: - * - * @code - * typedef make_floating < sizeof(primitive_of::type) - * , factory_of::type - * >::type type; - * @endcode - * - * where @c Ai is the type with the largest @c sizeof among @c Args... - * If any of the @c Ai is not a Primitive type, a - * @c BOOST_DISPATCH_NON_FUNDAMENTAL_PRIMITIVE_USED_IN_META_AS_FLOATING static - * assertion is triggered. - * - * @par Usage: - * - * @include as_floating.cpp - **/ -#if defined(DOXYGEN_ONLY) - template struct as_floating {}; -#else - template - struct as_floating; - - template - struct as_floating - : meta:: - make_floating - < sizeof( typename meta:: - primitive_of::type>::type - ) - , typename meta:: - factory_of::type>::type - > - { - //**************************** STATIC ASSERT *****************************// - // A type with a non-fundamental primitive is used in a call to the // - // boost::dispatch::meta::as_floating meta-function. // - //**************************** STATIC ASSERT *****************************// - BOOST_MPL_ASSERT_MSG - ( (is_fundamental < typename - meta::primitive_of::type>::type - >::value - ) - , BOOST_DISPATCH_NON_FUNDAMENTAL_PRIMITIVE_USED_IN_META_AS_FLOATING - , (T&) - ); - }; - - template - struct as_floating - : as_floating - < typename mpl:: - if_c< ( sizeof( typename meta:: - primitive_of::type>::type - ) - < sizeof( typename meta:: - primitive_of::type>::type - ) - ) - , A1 - , A0 - >::type - > - {}; - - template - struct as_floating - : as_floating - < typename mpl:: - if_c< ( sizeof( typename meta:: - primitive_of::type>::type - ) - < sizeof( typename meta:: - primitive_of::type>::type - ) - ) - , A1 - , A0 - >::type - , A2 - > - {}; - - template - struct as_floating - : as_floating - < typename mpl:: - if_c< ( sizeof( typename meta:: - primitive_of::type>::type - ) - < sizeof( typename meta:: - primitive_of::type>::type - ) - ) - , A1 - , A0 - >::type - , A2 - , A3 - > - {}; -#endif -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/as_integer.hpp b/inst/include/boost/dispatch/meta/as_integer.hpp deleted file mode 100644 index 114bba3..0000000 --- a/inst/include/boost/dispatch/meta/as_integer.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_AS_INTEGER_HPP_INCLUDED -#define BOOST_DISPATCH_META_AS_INTEGER_HPP_INCLUDED - -/*! - * @file - * @brief Define the boost::dispatch::meta::as_integer @metafunction. - **/ - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * @brief Compute the integral equivalent of a given type - * - * Computes an integral type which is compatible with the input type @c T and - * with a given signedness @c Signed. - * - * @tparam T Type to transform - * @tparam Sign Signedness of expected output. By default, the signedness - * of @c T - * - * @par Models: - * - * @metafunction - * - * @par Semantic: - * - * For any type @c T and @c Sign, - * - * @code - * typedef as_integer::type type; - * @endcode - * - * is equivalent to: - * - * @code - * typedef make_integer< sizeof(primitive_of::type) - * , Sign - * , factory_of::type - * >::type type; - * @endcode - * - * If any of the Ai is not a Primitive type, a - * @c BOOST_DISPATCH_NON_FUNDAMENTAL_PRIMITIVE_USED_IN_META_AS_INTEGER static - * assertion is triggered. - * - * @par Usage: - * - * @include as_integer.cpp - */ -#if defined(DOXYGEN_ONLY) - template::type > - struct as_integer - {}; -#else - template::type > - struct as_integer - : meta:: - make_integer< sizeof( typename meta:: - primitive_of::type>::type - ) - , Sign - , typename meta:: - factory_of::type>::type - > - { - //**************************** STATIC ASSERT *****************************// - // A type with a non-fundamental primitive is used in a call to the // - // boost::dispatch::meta::as_integer meta-function. // - //**************************** STATIC ASSERT *****************************// - BOOST_MPL_ASSERT_MSG - ( (is_fundamental < typename - meta::primitive_of::type>::type - >::value - ) - , BOOST_DISPATCH_NON_FUNDAMENTAL_PRIMITIVE_USED_IN_META_AS_INTEGER - , (T&) - ); - }; -#endif -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/as_ref.hpp b/inst/include/boost/dispatch/meta/as_ref.hpp deleted file mode 100644 index afa8f9d..0000000 --- a/inst/include/boost/dispatch/meta/as_ref.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_AS_REF_HPP_INCLUDED -#define BOOST_DISPATCH_META_AS_REF_HPP_INCLUDED - -/*! - * @file - * @brief Define the boost::dispatch::meta::as_ref @metafunction. - **/ - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * @brief Adapt a type to be a suitable parameters of dispatching function - * - * Returns a type which is equivalent to @c T but which will be properly - * qualified for dispacthing resolution. - * - * @tparam T Type to modify - * - * @par Models: - * - * @metafunction - * - * @par Semantic: - * - * For any type @c T, - * - * @code - * typedef as_ref::type type; - * @endcode - * - * is equivalent to - * - * @code - * typedef T& type; - * @endcode - * - * if @c T is a reference type and to - * - * @code - * typedef T const& type; - * @endcode - * - * otherwise. - */ - template struct as_ref - { - typedef T const& type; - }; - - /// INTERNAL ONLY - template struct as_ref - { - typedef T& type; - }; - - /// INTERNAL ONLY - template - struct as_ref - { - typedef T const& type; - }; - - /// INTERNAL ONLY - template - struct as_ref - { - typedef T const& type; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/as_signed.hpp b/inst/include/boost/dispatch/meta/as_signed.hpp deleted file mode 100644 index 3fe2f7d..0000000 --- a/inst/include/boost/dispatch/meta/as_signed.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_AS_SIGNED_HPP_INCLUDED -#define BOOST_DISPATCH_META_AS_SIGNED_HPP_INCLUDED - -/*! - * @file - * @brief Define the boost::dispatch::meta::as_signed @metafunction. - **/ - -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * @brief Compute the signed equivalent of a given type - * - * Returns the input type rebound the signed equivalent type to its primitive - * type. - * - * @tparam T Type to modify - * - * @par Models: - * - * @metafunction - * - * @par Semantic: - * - * For any type @c T, - * - * @code - * typedef as_signed::type type; - * @endcode - * - * is equivalent to - * - * @code - * typedef T type; - * @endcode - * - * if @c primitive::type is @c signed and to - * - * @code - * typedef apply< meta::factory_of::type - * , boost::make_signed< meta::primitive_of::type >::type - * >::type type; - * @endcode - * - * if @c primitive::type is unsigned. Note than for this @metafunction, - * real types like @c double or @c float are considered signed. - * - * @par Usage: - * - * @include as_signed.cpp - */ - template - struct as_signed - : details::as_signed_impl< typename meta::strip::type > - { - //**************************** STATIC ASSERT *****************************// - // A type with a non-fundamental primitive is used in a call to the // - // boost::dispatch::meta::as_signed meta-function. // - //**************************** STATIC ASSERT *****************************// - BOOST_MPL_ASSERT_MSG - ( (is_fundamental < typename - meta::primitive_of::type>::type - >::value - ) - , BOOST_DISPATCH_NON_FUNDAMENTAL_PRIMITIVE_USED_IN_META_AS_SIGNED - , (T&) - ); - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/as_unsigned.hpp b/inst/include/boost/dispatch/meta/as_unsigned.hpp deleted file mode 100644 index 81464a0..0000000 --- a/inst/include/boost/dispatch/meta/as_unsigned.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_AS_UNSIGNED_HPP_INCLUDED -#define BOOST_DISPATCH_META_AS_UNSIGNED_HPP_INCLUDED - -/*! - * @file - * @brief Define the boost::dispatch::meta::as_unsigned @metafunction. - **/ - -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * @brief Compute the unsigned equivalent of a given type - * - * Returns the input type rebound the unsigned equivalent type to its primitive - * type. - * - * @tparam T Type to modify - * - * @par Models: - * - * @metafunction - * - * @par Semantic: - * - * For any type @c T, - * - * @code - * typedef as_unsigned::type type; - * @endcode - * - * is equivalent to - * - * @code - * typedef T type; - * @endcode - * - * if @c primitive::type is @c unsigned and to - * - * @code - * typedef apply< meta::factory_of::type - * , boost::make_unsigned< meta::primitive_of::type >::type - * >::type type; - * @endcode - * - * if @c primitive::type is signed. Note than for this @metafunction, - * real types like @c double or @c float are considered signed. - * - * @par Example usage: - * - * @include as_unsigned.cpp - */ -#if defined(DOXYGEN_ONLY) - template struct as_unsigned {}; -#else - template - struct as_unsigned - : details::as_unsigned_impl< typename meta::strip::type > - { - //**************************** STATIC ASSERT *****************************// - // A type with a non-fundamental primitive is used in a call to the // - // boost::dispatch::meta::as_unsigned meta-function. // - //**************************** STATIC ASSERT *****************************// - BOOST_MPL_ASSERT_MSG - ( (is_fundamental < typename - meta::primitive_of::type>::type - >::value - ) - , BOOST_DISPATCH_NON_FUNDAMENTAL_PRIMITIVE_USED_IN_META_AS_UNSIGNED - , (T&) - ); - }; -#endif -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/behave_as.hpp b/inst/include/boost/dispatch/meta/behave_as.hpp deleted file mode 100644 index c32b112..0000000 --- a/inst/include/boost/dispatch/meta/behave_as.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_BEHAVE_AS_HPP_INCLUDED -#define BOOST_DISPATCH_META_BEHAVE_AS_HPP_INCLUDED - -/*! - * @file - * @brief Defines the @ref boost::dispatch::meta::behave_as @metafunction - */ - -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * @brief @mpllambda forwarding on Hierarchizable types - * - * Forward the application of a given @mpllambda @c Lambda onto a - * fundamental type. - * - * @tparam Lambda @mpllambda to apply. - * @tparam T Fundamental type to transform - * - * @par Semantic: - * - * For any type @c T and any @mpllambda @c Lambda: - * - * @code - * typedef boost::dispatch::meta::behave_as::type r; - * @endcode - * - * is equivalent to: - * - * @code - * typedef apply1 < Lambda - * , boost::dispatch::meta::primitive_of::type - * >::type r; - * @endcode - * - * @par Usage - * - * @include behave_as.cpp - */ - template - struct behave_as - : boost::mpl:: - apply1< Lambda, typename primitive_of::type >::type - {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/combine.hpp b/inst/include/boost/dispatch/meta/combine.hpp deleted file mode 100644 index 375c74e..0000000 --- a/inst/include/boost/dispatch/meta/combine.hpp +++ /dev/null @@ -1,158 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_COMBINE_HPP_INCLUDED -#define BOOST_DISPATCH_META_COMBINE_HPP_INCLUDED - -/*! - * @file - * @brief Define the boost::dispatch::meta::combine @metafunction - **/ -namespace boost { namespace dispatch -{ - // TODO: simplify - namespace details - { - template - struct combine_impl; - - template class Outer, class T, class U, int N> - struct combine_impl, U, N, true> - { - typedef Outer::type> type; - }; - - template class Outer, class T, class U, int N> - struct combine_impl, U, N, false> - { - typedef U type; - }; - - template class New, class T, class U, int N> - struct combine_impl, N, true> - { - typedef New type; - }; - - template class New, class T, class U, int N> - struct combine_impl, N, false> - { - typedef New::type> type; - }; - - template class Outer, template class New, class T, class U, int N> - struct combine_impl, New, N, true> - { - typedef Outer, N-1, true>::type> type; - }; - - template class Outer, template class New, class T, class U, int N> - struct combine_impl, New, N, false> - { - typedef New, U, N+1, false>::type> type; - }; - - template class Outer, class T, template class New, class U> - struct combine_impl, New, 0, true> - { - typedef Outer> type; - }; - - template class Outer, class T, template class New, class U> - struct combine_impl, New, 0, false> - { - typedef New> type; - }; - - template class Outer, class T, class U> - struct combine_impl, Outer, 0, false> - { - typedef Outer type; - }; - - template class Outer, class T, class U> - struct combine_impl, Outer, 0, true> - { - typedef Outer type; - }; - - template class Outer, class T, class U> - struct combine_impl, U, 0, true> - { - typedef U type; - }; - - template class Outer, class T, class U> - struct combine_impl, U, 0, false> - { - typedef T type; - }; - - template class New, class U> - struct combine_impl, 0, true> - { - typedef New type; - }; - - template class New, class U> - struct combine_impl, 0, false> - { - typedef T type; - }; - - template - struct combine_impl - { - typedef U type; - }; - - template - struct combine_impl - { - typedef T type; - }; - - template - struct outer_count - { - static const int value = 0; - }; - - template class T, class U> - struct outer_count< T > - { - static const int value = 1 + outer_count::value; - }; - } - - namespace meta - { - /*! - * @brief Nested tempalte combiner - * - * Combines two nested template types by inserting the top-most node - * of @c U at the same height in @c T. - * - * @tparam T Restructuring model type - * @tparam U Template type to restructure - * - * @par Models: - * @metafunction - **/ - template::value> - struct combine - : details::combine_impl < T, U - , details::outer_count::value - N - , !(details::outer_count::value < N) - > - { - }; - } -} } - -#endif diff --git a/inst/include/boost/dispatch/meta/counter.hpp b/inst/include/boost/dispatch/meta/counter.hpp deleted file mode 100644 index c2a0639..0000000 --- a/inst/include/boost/dispatch/meta/counter.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_COUNTER_HPP_INCLUDED -#define BOOST_DISPATCH_META_COUNTER_HPP_INCLUDED - -#include -#include -#include - -#ifndef BOOST_DISPATCH_COUNTER_MAX -/// INTERNAL ONLY -#define BOOST_DISPATCH_COUNTER_MAX 8 -#endif - -namespace boost { namespace dispatch { namespace details -{ - template - struct depth_; - - template<> - struct depth_<0> - { - }; - - template - struct depth_ : depth_ - { - }; - - template - struct identity - { - typedef T type; - }; -} - -namespace meta -{ - /// INTERNAL ONLY - struct adl_helper_ {}; -} -} } - -#define BOOST_DISPATCH_COUNTER_INIT(name) \ -namespace boost { namespace dispatch { namespace meta \ -{ \ - boost::mpl::int_<0> name( details::depth_<0>, adl_helper_ const& ); \ -} } } \ -/**/ - -#define BOOST_DISPATCH_COUNTER_VALUE(name) \ -boost::dispatch::details:: \ -identity< BOOST_DISPATCH_TYPEOF(name \ - ( boost::dispatch::details::depth_() \ - , boost::dispatch::meta::adl_helper_() \ - ) \ - ) \ - >::type::value \ -/**/ - -#define BOOST_DISPATCH_COUNTER_VALUE_TPL(name, dummy) \ -boost::dispatch::details:: \ -identity< BOOST_DISPATCH_TYPEOF(name \ - ( (typename boost::dispatch::details:: \ - identity< boost::dispatch::details:: \ - depth_ \ - , dummy \ - >::type() \ - ) \ - , boost::dispatch::meta::adl_helper_() \ - ) \ - ) \ - >::type::value \ -/**/ - -#define BOOST_DISPATCH_COUNTER_INCREMENT(name) \ -namespace boost { namespace dispatch { namespace meta \ -{ \ - boost::mpl::int_< BOOST_DISPATCH_COUNTER_VALUE(name) + 1 > \ - name( details::depth_< BOOST_DISPATCH_COUNTER_VALUE(name) + 1 > \ - , adl_helper_ const& \ - ); \ -} } } \ -/**/ - -#endif diff --git a/inst/include/boost/dispatch/meta/details/adapted_traits.hpp b/inst/include/boost/dispatch/meta/details/adapted_traits.hpp deleted file mode 100644 index 583cd57..0000000 --- a/inst/include/boost/dispatch/meta/details/adapted_traits.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DETAILS_ADAPTED_TRAITS_HPP_INCLUDED -#define BOOST_DISPATCH_META_DETAILS_ADAPTED_TRAITS_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace details -{ - struct is_floating_point_impl - { - template struct apply : boost::is_floating_point {}; - }; - - struct is_integral_impl - { - template struct apply : boost::is_integral {}; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/details/as_signed.hpp b/inst/include/boost/dispatch/meta/details/as_signed.hpp deleted file mode 100644 index e8b4b8e..0000000 --- a/inst/include/boost/dispatch/meta/details/as_signed.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DETAILS_AS_SIGNED_HPP_INCLUDED -#define BOOST_DISPATCH_META_DETAILS_AS_SIGNED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template struct as_signed; -} } } - -namespace boost { namespace dispatch { namespace details -{ - template - struct as_signed_impl - : boost::mpl::apply < typename meta::factory_of::type - , typename meta:: - as_signed< typename meta::primitive_of::type - >::type - > - {}; - - template - struct as_signed_impl< T - , typename boost::enable_if < typename boost:: - is_fundamental::type - >::type - > - : boost::mpl::eval_if < boost::mpl:: - bool_ < boost::is_integral::value - && !boost::is_same::value - > - , boost::make_signed - , boost::mpl::identity - > {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/details/as_unsigned.hpp b/inst/include/boost/dispatch/meta/details/as_unsigned.hpp deleted file mode 100644 index f4e85fa..0000000 --- a/inst/include/boost/dispatch/meta/details/as_unsigned.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DETAILS_AS_UNSIGNED_HPP_INCLUDED -#define BOOST_DISPATCH_META_DETAILS_AS_UNSIGNED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta { template struct as_unsigned; } } } - -namespace boost { namespace dispatch { namespace details -{ - template - struct as_unsigned_impl - : boost::mpl::apply < typename meta::factory_of::type - , typename meta:: - as_unsigned < typename meta::primitive_of::type - >::type - > - {}; - - template - struct as_unsigned_impl< T - , typename boost::enable_if < typename boost:: - is_fundamental::type - >::type - > - : boost::mpl::eval_if < boost::mpl:: - bool_ < boost::is_integral::value - && !boost::is_same::value - > - , boost::make_unsigned - , boost::mpl::identity - > {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/details/generic.hpp b/inst/include/boost/dispatch/meta/details/generic.hpp deleted file mode 100644 index bed15bd..0000000 --- a/inst/include/boost/dispatch/meta/details/generic.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DETAILS_GENERIC_HPP_INCLUDED -#define BOOST_DISPATCH_META_DETAILS_GENERIC_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct fusion_sequence_; - - template - struct generic_ : generic_< typename T::parent > - { - typedef generic_< typename T::parent > parent; - }; - - template - struct generic_< unspecified_ > : mpl::if_< boost::fusion::traits::is_sequence< typename meta::scalar_of::type >, fusion_sequence_, unspecified_ >::type - { - typedef typename mpl::if_< boost::fusion::traits::is_sequence< typename meta::scalar_of::type >, fusion_sequence_, unspecified_ >::type parent; - }; -} } } - -#include - -#endif diff --git a/inst/include/boost/dispatch/meta/details/hierarchy_base.hpp b/inst/include/boost/dispatch/meta/details/hierarchy_base.hpp deleted file mode 100644 index d8ec3be..0000000 --- a/inst/include/boost/dispatch/meta/details/hierarchy_base.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DETAILS_HIERARCHY_BASE_HPP_INCLUDED -#define BOOST_DISPATCH_META_DETAILS_HIERARCHY_BASE_HPP_INCLUDED - -namespace boost { namespace dispatch { namespace details -{ - struct hierarchy_tag {}; -} - -namespace meta -{ - //============================================================================ - /*! - * The unknown_ hierarchy is the upper bound in the hierarchy lattice. - * When a dispatch resovles on unknown_, it means no suitable overload has - * been found. - */ - //============================================================================ - template struct unknown_ - { - typedef T type; - typedef unknown_ parent; - typedef details::hierarchy_tag hierarchy_tag; - }; - - //============================================================================ - /*! The unspecified_ hierarchy is used for non-categorized type that can - * be caught silently - */ - //============================================================================ - template struct unspecified_ : unknown_ - { - typedef unknown_ parent; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/details/hierarchy_of.hpp b/inst/include/boost/dispatch/meta/details/hierarchy_of.hpp deleted file mode 100644 index ad2cfaa..0000000 --- a/inst/include/boost/dispatch/meta/details/hierarchy_of.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DETAILS_HIERARCHY_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_DETAILS_HIERARCHY_OF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace details -{ - //============================================================================ - // Overload for fundamental types - //============================================================================ - template - struct hierarchy_of< T - , Origin - , typename - boost::enable_if< boost::is_fundamental >::type - > - { - typedef typename remove_const::type stripped; - typedef typename mpl::if_< is_same< T, stripped >, stripped, Origin>::type origin_; - typedef meta::scalar_::type> type; - }; - - //============================================================================ - // Overload for hierarchies - //============================================================================ - template - struct hierarchy_of< T - , T - , typename - meta::enable_if_type< typename T::hierarchy_tag >::type - > - { - typedef T type; - }; - - template - struct hierarchy_of< T - , T const - , typename - meta::enable_if_type< typename T::hierarchy_tag >::type - > - { - typedef T type; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/details/properties.hpp b/inst/include/boost/dispatch/meta/details/properties.hpp deleted file mode 100644 index 15efebf..0000000 --- a/inst/include/boost/dispatch/meta/details/properties.hpp +++ /dev/null @@ -1,273 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DETAILS_PROPERTIES_HPP_INCLUDED -#define BOOST_DISPATCH_META_DETAILS_PROPERTIES_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace dispatch -{ - -namespace meta -{ - //============================================================================ - /*! - * The fundamental_ hierarchy gather all usual C++ base types. - */ - //============================================================================ - template struct fundamental_ : unspecified_ - { - typedef unspecified_ parent; - }; - - //============================================================================ - /*! - * The bool_ hierarchy represents the \c bool C++ type. - */ - //============================================================================ - template struct bool_ : fundamental_ - { - typedef fundamental_ parent; - }; - - //============================================================================ - /*! - * The void_ hierarchy represents the \c void C++ type. - */ - //============================================================================ - template struct void_ : fundamental_ - { - typedef fundamental_ parent; - }; - - //============================================================================ - /*! - * The arithmetic_ hierarchy gather all usual C++ base types except \c bool. - */ - //============================================================================ - template struct arithmetic_ : fundamental_ - { - typedef fundamental_ parent; - }; - - //============================================================================ - /*! - * The integer_ hierarchy gather all usual C++ integral types except \c bool. - */ - //============================================================================ - template struct integer_ : arithmetic_ - { - typedef arithmetic_ parent; - }; - - //============================================================================ - /*! - * The unsigned_ hierarchy gather all native unsigned types of C++ - */ - //============================================================================ - template struct unsigned_ : integer_ - { - typedef integer_ parent; - }; - - //============================================================================ - /*! - * The signed_ hierarchy gather all native signed types of C++ including - * floating-points type. - */ - //============================================================================ - template - struct signed_ : boost::mpl::if_ < meta::is_integral - , integer_ - , arithmetic_ - >::type - { - typedef typename boost::mpl::if_< meta::is_integral - , integer_ - , arithmetic_ - >::type parent; - }; - - //============================================================================ - /*! - * The floating_ hierarchy gathers all C++ floating-point types - */ - //============================================================================ - template struct floating_ : signed_ - { - typedef signed_ parent; - }; - - ////////////////////////////////////////////////////////////////////////////// - // Sign based hierarchy - gather integral types of a given signedness - ////////////////////////////////////////////////////////////////////////////// - template struct int_ : signed_ - { - typedef signed_ parent; - }; - - template struct uint_ : unsigned_ - { - typedef unsigned_ parent; - }; -} - -namespace details -{ - struct lsigned_ - { - template struct apply : boost::is_signed {}; - }; - - template - struct signed_or_not - : boost::mpl::if_ < meta::is_floating_point - , meta::floating_ - , typename boost::mpl::if_ - < meta::behave_as - , meta::int_ - , meta::uint_ - >::type - > - {}; -} - -namespace meta -{ - ////////////////////////////////////////////////////////////////////////////// - // Sizeof based hierarchy - gather type which sizeof is equal to a given value - ////////////////////////////////////////////////////////////////////////////// - template - struct type8_ : details::signed_or_not::type - { - typedef typename details::signed_or_not::type parent; - }; - - template - struct type16_ : details::signed_or_not::type - { - typedef typename details::signed_or_not::type parent; - }; - - template struct floating_sized_ - : boost::mpl::if_ < meta::is_floating_point - , floating_ - , typename details::signed_or_not::type - >::type - { - typedef typename boost::mpl::if_< meta::is_floating_point - , floating_ - , typename details::signed_or_not::type - >::type parent; - }; - - template struct type32_ : floating_sized_ - { - typedef floating_sized_ parent; - }; - - template struct type64_ : floating_sized_ - { - typedef floating_sized_ parent; - }; - - ////////////////////////////////////////////////////////////////////////////// - // Sizeof based hierarchy of integers - ////////////////////////////////////////////////////////////////////////////// - template struct ints8_ : type8_ - { - typedef type8_ parent; - }; - - template struct ints16_ : type16_ - { - typedef type16_ parent; - }; - - template struct ints32_ : type32_ - { - typedef type32_ parent; - }; - - template struct ints64_ : type64_ - { - typedef type64_ parent; - }; - - ////////////////////////////////////////////////////////////////////////////// - // Sizeof based hierarchy of signed integers - ////////////////////////////////////////////////////////////////////////////// - template struct int8_ : ints8_ - { - typedef ints8_ parent; - }; - - template struct int16_ : ints16_ - { - typedef ints16_ parent; - }; - - template struct int32_ : ints32_ - { - typedef ints32_ parent; - }; - - template struct int64_ : ints64_ - { - typedef ints64_ parent; - }; - - ////////////////////////////////////////////////////////////////////////////// - // Sizeof based hierarchy of unsigned integers - ////////////////////////////////////////////////////////////////////////////// - template struct uint8_ : ints8_ - { - typedef ints8_ parent; - }; - - template struct uint16_ : ints16_ - { - typedef ints16_ parent; - }; - - template struct uint32_ : ints32_ - { - typedef ints32_ parent; - }; - - template struct uint64_ : ints64_ - { - typedef ints64_ parent; - }; - - ////////////////////////////////////////////////////////////////////////////// - // Native real types hierarchy - ////////////////////////////////////////////////////////////////////////////// - template struct double_ : type64_ - { - typedef type64_ parent; - }; - - template struct single_ : type32_ - { - typedef type32_ parent; - }; - - template struct long_double_ : fundamental_ - { - typedef fundamental_ parent; - }; - -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/details/property_of.hpp b/inst/include/boost/dispatch/meta/details/property_of.hpp deleted file mode 100644 index 0e34095..0000000 --- a/inst/include/boost/dispatch/meta/details/property_of.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DETAILS_PROPERTY_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_DETAILS_PROPERTY_OF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace details -{ - //============================================================================ - // implementation details for property_of on integers - //============================================================================ - template - struct property_of_ints; - - template - struct property_of < T - , Origin - , typename boost:: - enable_if_c < boost::is_integral::value>::type - > - : details::property_of_ints < T - , Origin - , sizeof(T)*CHAR_BIT - , boost:: - is_signed::value - > - {}; - -} - -namespace meta -{ - //============================================================================ - // Overload for non integral native types - //============================================================================ - template - struct property_of - { - typedef meta::void_ type; - }; - - template - struct property_of - { - typedef meta::single_ type; - }; - - template - struct property_of - { - typedef meta::double_ type; - }; - - template - struct property_of - { - typedef meta::floating_ type; - }; -} - -namespace details -{ - //============================================================================ - // implementation details for property_of - overload for bool - //============================================================================ - template - struct property_of_ints - { - typedef meta::bool_ type; - }; - - //============================================================================ - // implementation details for property_of - overload for integral sized type - //============================================================================ - template struct property_of_ints - { - typedef meta::int8_ type; - }; - - template struct property_of_ints - { - typedef meta::int16_ type; - }; - - template struct property_of_ints - { - typedef meta::int32_ type; - }; - - template struct property_of_ints - { - typedef meta::int64_ type; - }; - - template struct property_of_ints - { - typedef meta::uint8_ type; - }; - - template struct property_of_ints - { - typedef meta::uint16_ type; - }; - - template struct property_of_ints - { - typedef meta::uint32_ type; - }; - - template struct property_of_ints - { - typedef meta::uint64_ type; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/details/scalar.hpp b/inst/include/boost/dispatch/meta/details/scalar.hpp deleted file mode 100644 index dc14c0d..0000000 --- a/inst/include/boost/dispatch/meta/details/scalar.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DETAILS_SCALAR_HPP_INCLUDED -#define BOOST_DISPATCH_META_DETAILS_SCALAR_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template struct scalar_ : scalar_< typename T::parent > - { - typedef scalar_< typename T::parent > parent; - }; - - template - struct scalar_< unspecified_ > - : generic_< typename property_of::type > - { - typedef generic_< typename property_of::type > parent; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/downgrade.hpp b/inst/include/boost/dispatch/meta/downgrade.hpp deleted file mode 100644 index 9afe54e..0000000 --- a/inst/include/boost/dispatch/meta/downgrade.hpp +++ /dev/null @@ -1,165 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_DOWNGRADE_HPP_INCLUDED -#define BOOST_DISPATCH_META_DOWNGRADE_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the boost::dispatch::meta::downgrade \metafunction - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - /*! - * Returns the input type rebound with a type that is twice as small as - * its primitive, with optional sign change.\ - * - * \tparam Type Hierarchizable type to downgrade. - * \tparam Sign Optional sign to use while downgrading \c Type. If unspecified, - * \c Sign is equals to the sign of \c Type. - * - * \par Models: - * - * \metafunction - * - * \par Semantic: - * - * \code - * typedef boost::dispatch::meta::downgrade::type r; - * \endcode - * - * is equivalent to: - * - * \code - * typedef make_floating< max< sizeof(primitive_of::type)/2 - * , sizeof(float) - * >::value - * , factory_of::type - * >::type r; - * \endcode - * - * if \c primitive_of is of hierarchy boost::dispatch::meta::floating_ - * and to: - * - * \code - * typedef make_integer< max::type)/2, 1>::value - * , Sign - * , factory_of::type - * >::type r; - * \endcode - * - * otherwise. - * - * \par Usage: - * - * \include downgrade.cpp - */ - //============================================================================ - template - struct downgrade; -} } } - -namespace boost { namespace dispatch { namespace details -{ - template - struct downgrade_impl; - - template - struct downgrade_impl< T, Sign, Lambda - , typename enable_if< boost::is_integral >::type - > - { - BOOST_STATIC_CONSTANT ( std::size_t - , size = (sizeof(T) > 1) ? sizeof(T)/2 : 1 - ); - - typedef typename mpl::eval_if < is_void - , meta::sign_of - , mpl::identity - >::type sign; - - typedef typename meta::make_integer::type type; - }; - - template - struct downgrade_impl< T, Sign, Lambda - , typename enable_if< boost::is_floating_point >::type - > - { - BOOST_STATIC_CONSTANT ( std::size_t - , size = (sizeof(T) > 1) ? sizeof(T)/2 : 1 - ); - - typedef typename meta::make_floating::type type; - }; - - template - struct downgrade_fusion - { - template - struct result; - - template - struct result - : meta::downgrade::type, Sign> - { - }; - - template - typename meta::downgrade::type operator()(X const&) const; - }; - - template - struct downgrade_impl< T, Sign, Lambda - , typename enable_if< boost::fusion::traits::is_sequence >::type - > - : Lambda::template apply< typename boost::fusion::result_of:: - as_vector< typename boost::fusion::result_of:: - transform >::type - >::type - > - { - }; -} } } - -namespace boost { namespace dispatch { namespace meta -{ - template - struct downgrade - { - typedef typename meta::factory_of::type lambda; - typedef typename meta::primitive_of::type base; - typedef typename meta::strip::type stripped; - typedef typename details::downgrade_impl::type type; - }; - - template - struct downgrade : downgrade {}; - - template - struct downgrade : downgrade {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/enable_if_type.hpp b/inst/include/boost/dispatch/meta/enable_if_type.hpp deleted file mode 100644 index 408b3bd..0000000 --- a/inst/include/boost/dispatch/meta/enable_if_type.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_ENABLE_IF_TYPE_HPP_INCLUDED -#define BOOST_DISPATCH_META_ENABLE_IF_TYPE_HPP_INCLUDED - -/*! - * \file - * \brief Defines the boost::dispatch::meta::enable_if_type @metafunction. - */ - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * Provides a SFINAE context to test the existence of a given type. - * - * @tparam T Type to check existence of. - * @tparam R Type to return if \c T is defined. - * - * @include enable_if_type.cpp - **/ - template - struct enable_if_type - { - typedef R type; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/factory_of.hpp b/inst/include/boost/dispatch/meta/factory_of.hpp deleted file mode 100644 index 88ecd9f..0000000 --- a/inst/include/boost/dispatch/meta/factory_of.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_FACTORY_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_FACTORY_OF_HPP_INCLUDED -/*! - * \file - * \brief Defines the \c boost::dispatch::meta::factory_of \metafunction - */ -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace details -{ - template - struct factory_of_impl - { - struct type - { - template - struct apply - : mpl::apply< typename meta::model_of::type - , typename mpl::apply< typename factory_of_impl< typename meta::value_of::type - , U - >::type - , X - >::type - > - { - }; - }; - }; - - template - struct factory_of_impl - { - struct type - { - template - struct apply - { - typedef X type; - }; - }; - }; -} - -namespace meta -{ - /*! - * \ingroup metafunctions - * For any Hierarchizable type, returns a @mpllambda which permits the lazy - * recomposition of any type of the same hierarchy from a set of types. - * - * \tparam Hierarchizable type to deconstruct - * - * For any Hierarchizable \c H, - * \code - * typedef boost::dispatch::meta::factory_of::type l; - * \endcode - * - * return a @mpllambda so that, for any types \c Tn... - * - * \code - * typedef boost::mpl::apply::type r; - * \endcode - * - * returns a type \c r which is a Hierarchizable of the same hierarchy than - * \c H and an equivalent semantic. - * - * \include factory_of.cpp - */ - template::type> - struct factory_of - : details::factory_of_impl - { - }; - -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/fusion.hpp b/inst/include/boost/dispatch/meta/fusion.hpp deleted file mode 100644 index 582486f..0000000 --- a/inst/include/boost/dispatch/meta/fusion.hpp +++ /dev/null @@ -1,125 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_FUSION_HPP_INCLUDED -#define BOOST_DISPATCH_META_FUSION_HPP_INCLUDED - -/*! - * \file - * \brief Register Fusion sequence and std::array as Hierarchizable - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - //========================================================================== - /*! Fusion sequence hierarchy type */ - //========================================================================== - template struct fusion_sequence_ : unspecified_ - { - typedef unspecified_ parent; - }; - - //========================================================================== - /*! boost::array hierarchy type */ - //========================================================================== - template - struct array_ : array_ - { - typedef array_ parent; - }; - - template - struct array_, N> : fusion_sequence_ - { - typedef fusion_sequence_ parent; - }; - - //============================================================================ - // Requirements for Buildable - //============================================================================ - template - struct value_of< boost::array > - { - typedef T type; - }; - - template - struct model_of< boost::array > - { - struct type - { - template - struct apply - { - typedef boost::array type; - }; - }; - }; -} - -namespace details -{ - template - struct is_array : boost::mpl::false_ {}; - - template - struct is_array< boost::array > : boost::mpl::true_ {}; - - template - struct hierarchy_of< T - , Origin - , typename boost - ::enable_if_c < boost::fusion - ::traits::is_sequence::value - && !is_array::value - && !proto::is_expr::value - >::type - > - { - typedef meta::fusion_sequence_ type; - }; - - template - struct property_of< T - , Origin - , typename boost - ::enable_if_c < boost::fusion - ::traits::is_sequence::value - && !is_array::value - && !proto::is_expr::value - >::type - > - { - typedef meta::fusion_sequence_ type; - }; -} - -namespace meta -{ - template - struct hierarchy_of< boost::array - , Origin - > - { - typedef array_< typename hierarchy_of::type - , boost::mpl::size_t - > type; - }; - -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/hierarchy_of.hpp b/inst/include/boost/dispatch/meta/hierarchy_of.hpp deleted file mode 100644 index 42548bc..0000000 --- a/inst/include/boost/dispatch/meta/hierarchy_of.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_HIERARCHY_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_HIERARCHY_OF_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the hierarchy building classes and \metafunction - */ - -////////////////////////////////////////////////////////////////////////////// -// Types hierarchy defines a partially order lattice of type familly -// which helps categorizing a given type into all its potential enclosing type -// sets. Hierarchies are template so they can use their root type to -// select at each lattice node which ancestor to use. -////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace details -{ - /// INTERNAL ONLY - template - struct hierarchy_of - { - typedef typename remove_const::type stripped; - typedef typename mpl::if_ < is_same< T, stripped > - , stripped - , Origin - >::type origin_; - typedef meta::unspecified_ type; - }; -} - -namespace meta -{ - ////////////////////////////////////////////////////////////////////////////// - // hierarchy_of computes the entry point of a given type inside the type - // hierarchy lattice. - ////////////////////////////////////////////////////////////////////////////// - template - struct hierarchy_of -#if !defined(DOXYGEN_ONLY) - : details::hierarchy_of< T - , typename remove_reference::type - > -#endif - {}; - - /// INTERNAL ONLY - template - struct hierarchy_of - : hierarchy_of::type> {}; - - /// INTERNAL ONLY - template - struct hierarchy_of - : hierarchy_of::type> {}; - - /// INTERNAL ONLY - template - struct hierarchy_of - : hierarchy_of::type const> {}; - - template - using hierarchy_of_t = typename hierarchy_of::type; -} } } - -#include - -#endif diff --git a/inst/include/boost/dispatch/meta/identity.hpp b/inst/include/boost/dispatch/meta/identity.hpp deleted file mode 100644 index 09b986f..0000000 --- a/inst/include/boost/dispatch/meta/identity.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_IDENTITY_HPP_INCLUDED -#define BOOST_DISPATCH_META_IDENTITY_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch -{ - struct identity - { - template - struct apply - { - typedef X type; - }; - - template - struct result; - - template - struct result - : meta::as_ref - { - }; - - template - struct result - : meta::as_ref - { - }; - - template - BOOST_FORCEINLINE - A0& operator()(A0& a0) const - { - return a0; - } - - template - BOOST_FORCEINLINE - A0 const& operator()(A0 const& a0) const - { - return a0; - } - - template - BOOST_FORCEINLINE - A0& operator()(A0& a0, A1&) const - { - return a0; - } - - template - BOOST_FORCEINLINE - A0 const& operator()(A0 const& a0, A1 const&) const - { - return a0; - } - }; - - template BOOST_FORCEINLINE T& id(T & t) { return t; } - template BOOST_FORCEINLINE T const& id(T const& t) { return t; } - -} } - -#endif diff --git a/inst/include/boost/dispatch/meta/is_fundamental.hpp b/inst/include/boost/dispatch/meta/is_fundamental.hpp deleted file mode 100644 index 2470054..0000000 --- a/inst/include/boost/dispatch/meta/is_fundamental.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_IS_FUNDAMENTAL_HPP_INCLUDED -#define BOOST_DISPATCH_META_IS_FUNDAMENTAL_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the boost::dispatch::meta::is_fundamental \metafunction - */ - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================== - /*! - * Checks if a given type is a fundamental type (i.e any scalar type natively - * supported by C++). - * - * \par Model: - * - * \metafunction - * - * For any type \c T - * - * \code - * typedef is_fundamental::type r; - * \endcode - * - * evaluates to \true_ if \c T hierarchy inherits from \c fundamental_ - * and to \false_ otherwise - * - * \include is_fundamental.cpp - */ - //============================================================================== - template - struct is_fundamental - { - typedef char true_type; - struct false_type { char dummy[2]; }; - - template - static true_type call( meta::scalar_< meta::fundamental_ > ); - - static false_type call(...); - - typedef typename meta::hierarchy_of::type hierarchy; - static const bool value = sizeof( call( hierarchy() ) ) == sizeof(true_type); - typedef boost::mpl::bool_ type; - }; -} } } - -#endif - diff --git a/inst/include/boost/dispatch/meta/is_iterator.hpp b/inst/include/boost/dispatch/meta/is_iterator.hpp deleted file mode 100644 index 0382e5b..0000000 --- a/inst/include/boost/dispatch/meta/is_iterator.hpp +++ /dev/null @@ -1,131 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_IS_ITERATOR_HPP_INCLUDED -#define BOOST_DISPATCH_META_IS_ITERATOR_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the boost::dispatch::meta::is_iterator \metafunction - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -//============================================================================ -// Fix a couple of things for restrict pointers -// FIXME: integrate upstream -//============================================================================ -#ifndef BOOST_DISPATCH_NO_RESTRICT -namespace boost -{ - template - struct is_pointer - : mpl::true_ - { - }; - -#if (BOOST_VERSION < 105600) - namespace detail - { - template - struct iterator_traits; - - template - struct iterator_traits - : boost::detail::iterator_traits - { - typedef T* BOOST_DISPATCH_RESTRICT pointer; -#ifndef BOOST_DISPATCH_NO_RESTRICT_REFERENCES - typedef T& BOOST_DISPATCH_RESTRICT reference; -#endif - }; - } -#endif -} - -// Looks like stlport and other do not handle restrict in iterator_traits -// making this available everywhere so it compiles using stlport -// TODO: If any std implementation actually support this, we'll -// put a proper negative guard. -//#if defined(__GLIBCPP__) || defined(__GLIBCXX__) || defined(BOOST_MSVC) -namespace std -{ - template - struct iterator_traits - : iterator_traits - { - typedef T* BOOST_DISPATCH_RESTRICT pointer; -#ifndef BOOST_DISPATCH_NO_RESTRICT_REFERENCES - typedef T& BOOST_DISPATCH_RESTRICT reference; -#endif - }; -} -//#endif - -#endif - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - /*! - * Checks if a given type models the iterator concept. - * - * For any type \c T, - * - * \code - * typedef boost::dispatch::meta::is_iterator::type v; - * \endcode - * - * evaluates to \true_ if \c T is a type modeling the iterator concept. - * Such types includes standard conforming iterator classes and non-function - * pointers. - * - * \include is_iterator.cpp - */ - //============================================================================ - template - struct is_iterator : boost::is_pointer {}; - - //============================================================================ - // Overload for function pointers (which are not iterator) - //============================================================================ - template - struct is_iterator < T - , typename boost:: - enable_if_c< boost:: - is_function::type - >::value - >::type - > - : boost::mpl::false_ {}; - - //============================================================================ - // Overload for standard conforming iterators - //============================================================================ - template - struct is_iterator < T - , typename - enable_if_type< typename - strip::type::iterator_category - >::type - > - : boost::mpl::true_ {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/is_result_of_supported.hpp b/inst/include/boost/dispatch/meta/is_result_of_supported.hpp deleted file mode 100644 index 95cb596..0000000 --- a/inst/include/boost/dispatch/meta/is_result_of_supported.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== - -#ifndef BOOST_DISPATCH_META_IS_RESULT_OF_SUPPORTED_HPP_INCLUDED -#define BOOST_DISPATCH_META_IS_RESULT_OF_SUPPORTED_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the boost::dispatch::meta::is_result_of_supported \metafunction - */ - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - #if defined(DOXYGEN_ONLY) - //============================================================================ - /*! - * For a given type \c T describing a potential \c result_of function type, - * this \metafunction verify that \c result_of is actually able to be resolved. - * - * \tparam T Function-type call to resolve - * - * For any type \c T, - * - * \code - * typedef boost::dispatch::meta::is_result_of_supported::type r; - * \endcode - * - * evaluates to \true_ if \c result_of::type is defined. - * - * \include is_result_of_supported.cpp - */ - //============================================================================ - template struct is_result_of_supported {}; - #endif - - template - struct is_result_of_supported : boost::mpl::false_ {}; - - template - struct is_result_of_supported::type >::type> - : boost::mpl::true_ - { - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/is_scalar.hpp b/inst/include/boost/dispatch/meta/is_scalar.hpp deleted file mode 100644 index e194f2d..0000000 --- a/inst/include/boost/dispatch/meta/is_scalar.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_IS_SCALAR_HPP_INCLUDED -#define BOOST_DISPATCH_META_IS_SCALAR_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the boost::dispatch::meta::is_scalar \metafunction - */ - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - /*! - * Checks if a given Hierarchizable type is a scalar type. - * - * For any given Hierarchizable \c T, - * - * \code - * typedef boost::dispatch::meta::is_scalar::type r; - * \endcode - * - * evaluates to \true_ is T has a hierarchy tied to \c scalar_ - * - * \include is_scalar.cpp - */ - //============================================================================ - template - struct is_scalar - { - typedef char true_type; - struct false_type { char dummy[2]; }; - - template - static true_type call( meta::scalar_< meta::unspecified_ > ); - - static false_type call(...); - - typedef typename meta::hierarchy_of::type hierarchy; - static const bool value = sizeof( call( hierarchy() ) ) == sizeof(true_type); - typedef boost::mpl::bool_ type; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/is_signed.hpp b/inst/include/boost/dispatch/meta/is_signed.hpp deleted file mode 100644 index 96a3051..0000000 --- a/inst/include/boost/dispatch/meta/is_signed.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_IS_SIGNED_HPP_INCLUDED -#define BOOST_DISPATCH_META_IS_SIGNED_HPP_INCLUDED - -////////////////////////////////////////////////////////////////////////////// -// Return false or true depending on whether the primitive of T is signed or not -// See: http://nt2.metascale.org/sdk/meta/traits/is_signed.html -////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct is_signed - : is_same < typename sign_of< typename primitive_of::type >::type - , signed - > - {}; - - template - struct is_unsigned - : is_same < typename sign_of< typename primitive_of::type >::type - , unsigned - > - {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/is_unspecified.hpp b/inst/include/boost/dispatch/meta/is_unspecified.hpp deleted file mode 100644 index 438593c..0000000 --- a/inst/include/boost/dispatch/meta/is_unspecified.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_IS_UNSPECIFIED_HPP_INCLUDED -#define BOOST_DISPATCH_META_IS_UNSPECIFIED_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - ////////////////////////////////////////////////////////////////////////////// - // Is T an unsepcified type ? - ////////////////////////////////////////////////////////////////////////////// - template - struct is_unspecified - : boost::is_same< typename hierarchy_of::type - , unspecified_ - > - {}; -} } } - -#endif - diff --git a/inst/include/boost/dispatch/meta/lambda_terminal.hpp b/inst/include/boost/dispatch/meta/lambda_terminal.hpp deleted file mode 100644 index 189e1a6..0000000 --- a/inst/include/boost/dispatch/meta/lambda_terminal.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_LAMBDA_TERMINAL_HPP_INCLUDED -#define BOOST_DISPATCH_META_LAMBDA_TERMINAL_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Defines a terminal fitting a lambda function -//////////////////////////////////////////////////////////////////////////////// -#include -#include - -namespace boost { namespace dispatch -{ - template - struct lambda_terminal - : boost::proto:: - and_< boost::proto::nullary_expr - , boost::proto::if_< Lambda() > - > - {}; -} } - -#endif diff --git a/inst/include/boost/dispatch/meta/make_floating.hpp b/inst/include/boost/dispatch/meta/make_floating.hpp deleted file mode 100644 index 61e8bb2..0000000 --- a/inst/include/boost/dispatch/meta/make_floating.hpp +++ /dev/null @@ -1,38 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_MAKE_FLOATING_HPP_INCLUDED -#define BOOST_DISPATCH_META_MAKE_FLOATING_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Meta-function that creates a standard real type from a size in bytes. -// As all make_xxx, also provides an optional lambda to apply to the result. -// See: http://nt2.metascale.org/sdk/meta/traits/make_floating.html -//////////////////////////////////////////////////////////////////////////////// -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct make_floating - : boost::mpl::apply {}; - - template<> struct make_floating { typedef double type; }; - template<> struct make_floating { typedef float type; }; - - template - struct make_floating - : boost::mpl::apply {}; - - template - struct make_floating - : boost::mpl::apply {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/make_integer.hpp b/inst/include/boost/dispatch/meta/make_integer.hpp deleted file mode 100644 index 36c609a..0000000 --- a/inst/include/boost/dispatch/meta/make_integer.hpp +++ /dev/null @@ -1,75 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_MAKE_INTEGER_HPP_INCLUDED -#define BOOST_DISPATCH_META_MAKE_INTEGER_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /** - * Build a standard integer type from a sign and a size in bytes - **/ - template< std::size_t Size - , class Sign = unsigned - , class Transform = na_ - > - struct make_integer {}; - - /// INTERNAL ONLY - template< std::size_t Size, class Transform> - struct make_integer - : boost::mpl::apply::fast> {}; - - /// INTERNAL ONLY - template< std::size_t Size, class Transform > - struct make_integer - : boost::mpl::apply::fast> {}; - - /// INTERNAL ONLY - /// Overload for long long to fix lack of boost::integer support - template< class Transform > - struct make_integer - : boost::mpl::apply {}; - - /// INTERNAL ONLY - template< class Transform > - struct make_integer - : boost::mpl::apply {}; - - /// INTERNAL ONLY - /// Overload to prevent useless apply<_,T> template instanciation - template< std::size_t Size> struct make_integer - { - typedef typename boost::uint_t::fast type; - }; - - /// INTERNAL ONLY - template< std::size_t Size> struct make_integer - { - typedef typename boost::int_t::fast type; - }; - - /// INTERNAL ONLY - template<> struct make_integer - { - typedef boost::uint64_t type; - }; - - /// INTERNAL ONLY - template<> struct make_integer - { - typedef boost::int64_t type; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/model_of.hpp b/inst/include/boost/dispatch/meta/model_of.hpp deleted file mode 100644 index 9f2396c..0000000 --- a/inst/include/boost/dispatch/meta/model_of.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_MODEL_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_MODEL_OF_HPP_INCLUDED - -#include - -/*! - * \file - * \brief Defines the \c model_of extension point - */ - -namespace boost { namespace dispatch { namespace details -{ - template - struct model_of - { - struct type - { - template - struct apply - { - typedef X type; - }; - }; - }; -} - -namespace meta -{ - template - struct model_of : details::model_of {}; - - template - struct model_of : model_of - { - }; - - template - struct model_of : model_of - { - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/mpl.hpp b/inst/include/boost/dispatch/meta/mpl.hpp deleted file mode 100644 index bc22c2e..0000000 --- a/inst/include/boost/dispatch/meta/mpl.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_MPL_HPP_INCLUDED -#define BOOST_DISPATCH_META_MPL_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Various memory hierarchy stuff -//////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// Specialize hierarchy for mpl integral types -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace dispatch { namespace meta -{ - template struct mpl_integral_ : mpl_integral_< typename T::parent > - { - typedef mpl_integral_< typename T::parent > parent; - }; -} - -namespace details -{ - //////////////////////////////////////////////////////////////////////////////// - // Some MPL introspection helpers - //////////////////////////////////////////////////////////////////////////////// - template - struct is_mpl_integral - : boost::mpl::false_ - { - }; - - template - struct is_mpl_integral - : boost::mpl::true_ - { - }; - - template - struct hierarchy_of< T - , Origin - , typename boost::enable_if< details::is_mpl_integral >::type - > - { - typedef typename remove_const::type stripped; - typedef typename mpl::if_< is_same< T, stripped >, stripped, Origin>::type origin_; - - typedef meta:: - mpl_integral_< typename meta:: - hierarchy_of< typename T::value_type - , origin_ - >::type - > type; - }; - - template - struct value_of< T, typename boost::enable_if< details::is_mpl_integral >::type > - { - typedef typename T::value_type type; - }; - - template - struct model_of< T, typename boost::enable_if< details::is_mpl_integral >::type > - { - struct type - { - template - struct apply - { - typedef boost::mpl::integral_c type; - }; - }; - }; - - template::value> - struct extract_mpl - : extract_mpl::type> - { - }; - - template - struct extract_mpl - { - typedef T type; - }; -} - -namespace meta -{ - template - struct mpl_integral_< unspecified_ > - : hierarchy_of::type::value_type,T>::type - { - typedef typename hierarchy_of::type::value_type,T>::type parent; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/na.hpp b/inst/include/boost/dispatch/meta/na.hpp deleted file mode 100644 index b839d32..0000000 --- a/inst/include/boost/dispatch/meta/na.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_NA_HPP_INCLUDED -#define BOOST_DISPATCH_META_NA_HPP_INCLUDED - -/*! - * \file - * \brief Defines the boost::dispatch::meta::na_ type - */ - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - /*! - * Empty type used to represent empty elements in compile-time containers. - * boost::dispatch::meta::na_ is used in nt2 to prevent some ADL issues with Boost.MPL. - */ - //============================================================================ - struct na_ {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/nth_hierarchy.hpp b/inst/include/boost/dispatch/meta/nth_hierarchy.hpp deleted file mode 100644 index 7b940a7..0000000 --- a/inst/include/boost/dispatch/meta/nth_hierarchy.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_NTH_HIERARCHY_HPP_INCLUDED -#define BOOST_DISPATCH_META_NTH_HIERARCHY_HPP_INCLUDED - -/*! - * @file - * @brief Define the boost::dispatch::meta::nth_hierarchy traits. - **/ - -#include - -namespace boost { namespace dispatch -{ - namespace details - { - template struct nth_hierarchy - { - typedef typename nth_hierarchy::type base; - typedef typename base::parent type; - }; - - template - struct nth_hierarchy : boost::dispatch::meta::hierarchy_of - {}; - } - - namespace meta - { - /*! - * - **/ - template - struct nth_hierarchy : details::nth_hierarchy - {}; - } -} } - -#endif - - diff --git a/inst/include/boost/dispatch/meta/primitive_of.hpp b/inst/include/boost/dispatch/meta/primitive_of.hpp deleted file mode 100644 index cee6333..0000000 --- a/inst/include/boost/dispatch/meta/primitive_of.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_PRIMITIVE_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_PRIMITIVE_OF_HPP_INCLUDED -/*! - * \file - * \brief Defines the boost::dispatch::meta::primitive_of @metafunction - */ -#include -#include - -namespace boost { namespace dispatch { namespace details -{ - /// INTERNAL ONLY - template - struct primitive_of_impl - : mpl::identity< primitive_of_impl::type, T> >::type - { - }; - - /// INTERNAL ONLY - template struct primitive_of_impl - { - typedef T type; - }; -} - -namespace meta -{ - //============================================================================ - /*! - * \ingroup metafunctions - * For a given Hierarchizable type T, returns the underlying type used to - * define T - * - * \tparam Hierarchizable Type to extract a primitive from. - * - * \par Models: - * \metafunction - * - * \par Semantic: - * For a given Hierarchizable type T, - * - * \code - * typedef primitive_of::type r; - * \endcode - * - * is defined so that - * - * \code - * is_same,r>::type>::value == true - * \endcode - * - * \include primitive_of.cpp - */ - //============================================================================ - template - struct primitive_of - #if !defined(DOXYGEN_ONLY) - : details::primitive_of_impl::type, T> - #endif - { - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/print.hpp b/inst/include/boost/dispatch/meta/print.hpp deleted file mode 100644 index 867cde9..0000000 --- a/inst/include/boost/dispatch/meta/print.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_PRINT_HPP_INCLUDED -#define BOOST_DISPATCH_META_PRINT_HPP_INCLUDED - -#include - -// Trick for GCC and Clang -#if (defined(__GNUC__) && !defined(BOOST_INTEL) && !defined(__CUDACC__)) -namespace boost { namespace dispatch { namespace meta -{ - template - struct print - { - typedef T type; - unsigned : sizeof(T)*80; - }; -} } } -// Trick for MSVC (explicit cast to avoid having multiple warnings) -// generates both C4305 (/W1) and C4309 (/W2) -// use explicit casting to only generate C4310 (/W3) -#elif defined(BOOST_MSVC) -namespace boost { namespace dispatch { namespace meta -{ - template - struct print - { - typedef T type; - static const unsigned char generate_warning = /*(unsigned char)*/(sizeof(T)*300); - }; -} } } -// Otherwise, use boost::mpl::print -#else -#include -namespace boost { namespace dispatch { namespace meta -{ - template - struct print : boost::mpl::print {}; -} } } -#endif - -#endif - diff --git a/inst/include/boost/dispatch/meta/property_of.hpp b/inst/include/boost/dispatch/meta/property_of.hpp deleted file mode 100644 index 8fe71f7..0000000 --- a/inst/include/boost/dispatch/meta/property_of.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_PROPERTY_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_PROPERTY_OF_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the boost::dispatch::meta::property_of \metafunction - */ - -////////////////////////////////////////////////////////////////////////////// -// Types property is defined on fundamental types as a lattice of classes -// mimicking the type structuration in C++ -////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct property_of; -} - -namespace details -{ - /// INTERNAL ONLY - template - struct property_of - : meta::property_of - { - }; - - /// INTERNAL ONLY - template - struct property_of_impl - : meta::property_of - { - }; - - /// INTERNAL ONLY - template - struct property_of_impl - : property_of - { - }; -} - -namespace meta -{ - template - struct property_of -#if !defined(DOXYGEN_ONLY) - : details::property_of_impl< typename meta::strip::type - , typename meta::scalar_of::type>::type - , typename remove_reference::type - > -#endif - {}; - - /// INTERNAL ONLY - template - struct property_of - : property_of::type> {}; - - /// INTERNAL ONLY - template - struct property_of - : property_of::type> {}; -} } } - -#include - -#endif diff --git a/inst/include/boost/dispatch/meta/proxy.hpp b/inst/include/boost/dispatch/meta/proxy.hpp deleted file mode 100644 index 0ba9409..0000000 --- a/inst/include/boost/dispatch/meta/proxy.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_PROXY_HPP_INCLUDED -#define BOOST_DISPATCH_META_PROXY_HPP_INCLUDED - -#include - -namespace boost { namespace dispatch { namespace meta -{ - template struct proxy_ : unspecified_ - { - typedef unspecified_ parent; - }; -} } } - -namespace boost { namespace dispatch { namespace details -{ - template struct is_proxy : boost::mpl::false_ {}; - - template - struct is_proxy< meta::proxy_ > : boost::mpl::true_ {}; -} } } - -namespace boost { namespace dispatch { namespace meta -{ - template - struct is_proxy - : details::is_proxy< typename hierarchy_of::type > - {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/result_of.hpp b/inst/include/boost/dispatch/meta/result_of.hpp deleted file mode 100644 index 07b3afb..0000000 --- a/inst/include/boost/dispatch/meta/result_of.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_RESULT_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_RESULT_OF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#if !defined(BOOST_NO_SFINAE_EXPR) -#include -#endif - -namespace boost { namespace dispatch -{ - namespace meta - { - #if !defined(BOOST_NO_SFINAE_EXPR) - template - struct result_of_decltype {}; - #endif - - template - struct result_of - #if !defined(BOOST_NO_SFINAE_EXPR) - : result_of_decltype - #endif - {}; - - template - struct is_function - : boost::is_function::type>::type> - { - }; - } -} } - -namespace boost { namespace dispatch { namespace meta -{ -#if !defined(BOOST_NO_SFINAE_EXPR) - template - struct result_of_decltype()(boost::declval()...) ) >::type> - { - typedef decltype( boost::declval()(boost::declval()...) ) type; - }; -#endif - - template - struct result_of >::type> - : boost::function_types::result_type::type>::type> - { - }; - - template - struct result_of::type> - { - typedef typename F::result_type type; - }; - - template - struct result_of::type >::type> - { - typedef typename F::template result::type type; - }; - -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/scalar_of.hpp b/inst/include/boost/dispatch/meta/scalar_of.hpp deleted file mode 100644 index e01125f..0000000 --- a/inst/include/boost/dispatch/meta/scalar_of.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_SCALAR_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_SCALAR_OF_HPP_INCLUDED - -#include -#include -#include - -#if defined(DOXYGEN_ONLY) -namespace boost { namespace dispatch { namespace meta -{ - /** - * @brief scalar_of metafunction - * - * scalar_of computes .... - **/ - template struct scalar_of - {}; -} } } -#else -namespace boost { namespace dispatch { namespace meta -{ - template - struct scalar_of; -} - -namespace details -{ - template::type> - struct scalar_of - : meta::scalar_of - { - }; - - template - struct scalar_of - { - typedef T type; - }; -} - -namespace meta -{ - template - struct scalar_of - : details::scalar_of {}; - - template - struct scalar_of - : mpl::if_< is_same< typename meta::scalar_of::type - , T - > - , T& - , typename details::scalar_of::type - > - { - }; - - template - struct scalar_of - : mpl::if_< is_same< typename meta::scalar_of::type - , T - > - , T const - , typename details::scalar_of::type - > - { - }; -} } } - -#endif - -#endif diff --git a/inst/include/boost/dispatch/meta/sfinae_enable_if.hpp b/inst/include/boost/dispatch/meta/sfinae_enable_if.hpp deleted file mode 100644 index 0afd4a8..0000000 --- a/inst/include/boost/dispatch/meta/sfinae_enable_if.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_SFINAE_ENABLE_IF_HPP_INCLUDED -#define BOOST_DISPATCH_META_SFINAE_ENABLE_IF_HPP_INCLUDED - -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * Provides a SFINAE context to test if a condition is true, and - * evaluate a meta-function to compute the result type if it is. - * Evaluating the meta-function also happens in an SFINAE context unlike - * with \c boost::lazy_enable_if_c. - * - * @tparam C Boolean giving the condition - * @tparam F Meta-Fnction to compute the result type if \c C is true - * - **/ - template - struct sfinae_enable_if_c - { - }; - - /// INTERNAL ONLY - template - struct sfinae_enable_if_c::type - > - { - typedef typename F::type type; - }; - - /*! - * Provides a SFINAE context to test if a condition is true, and - * evaluate a meta-function to compute the result type if it is. - * Evaluating the meta-function also happens in an SFINAE context unlike - * with \© boost::lazy_enable_if. - * - * @tparam C MPL Integral Constant giving the condition - * @tparam F Meta-Fnction to compute the result type if \c C is true - * - **/ - template - struct sfinae_enable_if - : sfinae_enable_if_c - { - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/sign_of.hpp b/inst/include/boost/dispatch/meta/sign_of.hpp deleted file mode 100644 index 625e101..0000000 --- a/inst/include/boost/dispatch/meta/sign_of.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_SIGN_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_SIGN_OF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - /*! Computes the signedness of a given type. - * - * \tparam T Type to compute signedness from. - * \return If \c T is signed, \c sign_of::type is \c signed, otherwsie, it - * is \c unsigned. - **/ - //============================================================================ - template struct sign_of; -} } } - -namespace boost { namespace dispatch { namespace ext -{ - template - struct sign_of - : sign_of< typename meta::primitive_of::type > - {}; - - template - struct sign_of >::type> - { - typedef signed type; - }; - - template - struct sign_of >::type> - { - typedef unsigned type; - }; - - template - struct sign_of >::type> - { - typedef signed type; - }; -} } } - -namespace boost { namespace dispatch { namespace meta -{ - template struct sign_of : ext::sign_of {}; - template struct sign_of : sign_of {}; - template struct sign_of : sign_of {}; -} } } -#endif diff --git a/inst/include/boost/dispatch/meta/strip.hpp b/inst/include/boost/dispatch/meta/strip.hpp deleted file mode 100644 index 13e889e..0000000 --- a/inst/include/boost/dispatch/meta/strip.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_STRIP_HPP_INCLUDED -#define BOOST_DISPATCH_META_STRIP_HPP_INCLUDED - -/*! - * \file - * \brief Defines the boost::dispatch::meta::strip \metafunction - */ - -#include - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - /*! - * Removes all reference and cv-qualifier from a given type \c T. - * - * \tparam T Type to strip from reference and cv-qualifier. - * - * For any given type \c T, - * - * \code - * typedef boost::dispatch::meta::strip::type r; - * \endcode - * - * is equivalent to: - * - * \code - * typedef remove_cv< remove_reference::type >::type r; - * \endcode - * - * \include strip.cpp - */ - //============================================================================ - template struct strip { typedef T type; }; - template struct strip : strip {}; - template struct strip : strip {}; - template struct strip : strip {}; - template struct strip : strip {}; -#ifndef BOOST_NO_RVALUE_REFERENCES - template struct strip : strip {}; -#endif - - //============================================================================ - // strip on C-style array - //============================================================================ - template - struct strip { typedef typename strip::type type[N]; }; - - template - struct strip { typedef typename strip::type type[N]; }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/terminal_of.hpp b/inst/include/boost/dispatch/meta/terminal_of.hpp deleted file mode 100644 index a802cf3..0000000 --- a/inst/include/boost/dispatch/meta/terminal_of.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_TERMINAL_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_TERMINAL_OF_HPP_INCLUDED - -/*! - * \file - * \brief Defines the \c boost::dispatch::meta::terminal_of \metafunction - */ - -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * \ingroup metafunctions - * For any type, returns a type which can act as a proto terminal in an - * expression template context - * - * \tparam Type type to convert into a terminal - */ - template struct terminal_of { typedef T type; }; - - template struct terminal_of : terminal_of {}; - template struct terminal_of : terminal_of {}; -#ifndef BOOST_NO_RVALUE_REFERENCES - template struct terminal_of : terminal_of {}; -#endif - -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/terminal_of_shared.hpp b/inst/include/boost/dispatch/meta/terminal_of_shared.hpp deleted file mode 100644 index 0c6a02b..0000000 --- a/inst/include/boost/dispatch/meta/terminal_of_shared.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_TERMINAL_OF_SHARED_HPP_INCLUDED -#define BOOST_DISPATCH_META_TERMINAL_OF_SHARED_HPP_INCLUDED - -/*! - * \file - * \brief Defines the \c boost::dispatch::meta::terminal_of_shared \metafunction - */ - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - * \ingroup metafunctions - * For any type, returns a type which can act as a proto terminal in an - * expression template context and which does shallow copies. - * Must also provide a make function for construction. - * - * \tparam Type type to convert into a terminal - */ - template struct terminal_of_shared - { - typedef typename meta::terminal_of::type type; - static type make() { return type(); } - }; - - template struct terminal_of_shared : terminal_of_shared {}; - template struct terminal_of_shared : terminal_of_shared {}; -#ifndef BOOST_NO_RVALUE_REFERENCES - template struct terminal_of_shared : terminal_of_shared {}; -#endif - -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/tieable.hpp b/inst/include/boost/dispatch/meta/tieable.hpp deleted file mode 100644 index 7d212a9..0000000 --- a/inst/include/boost/dispatch/meta/tieable.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_TIEABLE_HPP_INCLUDED -#define BOOST_DISPATCH_META_TIEABLE_HPP_INCLUDED - -#include - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - // Tie-able node hierarchy - //============================================================================ - template struct tieable_ : unspecified_ - { - typedef unspecified_ parent; - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/transfer_qualifiers.hpp b/inst/include/boost/dispatch/meta/transfer_qualifiers.hpp deleted file mode 100644 index e9f81b9..0000000 --- a/inst/include/boost/dispatch/meta/transfer_qualifiers.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_TRANSFER_QUALIFIERS_HPP_INCLUDED -#define BOOST_DISPATCH_META_TRANSFER_QUALIFIERS_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct transfer_qualifiers - { - typedef T type; - }; - - template - struct transfer_qualifiers - : add_reference - { - }; - - template - struct transfer_qualifiers - : add_const - { - }; - - template - struct transfer_qualifiers - : add_reference::type> - { - }; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/unproxy.hpp b/inst/include/boost/dispatch/meta/unproxy.hpp deleted file mode 100644 index 947f360..0000000 --- a/inst/include/boost/dispatch/meta/unproxy.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_UNPROXY_HPP_INCLUDED -#define BOOST_DISPATCH_META_UNPROXY_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the unproxify function -**/ - -#include -#include -#include -#include - -namespace boost { namespace dispatch -{ - namespace meta - { - /*! - @brief Metafunction computing the concrete type associated to a potential - proxy type. - **/ - template struct unproxy - { - template struct value_ { typedef typename U::value_type type; }; - - typedef typename boost::remove_reference::type sT; - typedef typename mpl::eval_if < is_proxy - , value_ - , mpl::identity::type> - >::type type; - }; - } - - /*! - @brief Unproxify a value - - For any given value @c t of type @c T, return either @c t if @c T is not a - proxy type or a value of the concrete type of @c T if @c T is a proxy type. - - @param t Value to unproxify - **/ - template - BOOST_FORCEINLINE typename meta::unproxy::type unproxy(T&& t) - { - return static_cast::type>(t); - } -} } - -#endif diff --git a/inst/include/boost/dispatch/meta/upgrade.hpp b/inst/include/boost/dispatch/meta/upgrade.hpp deleted file mode 100644 index 9c2ed0b..0000000 --- a/inst/include/boost/dispatch/meta/upgrade.hpp +++ /dev/null @@ -1,126 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_UPGRADE_HPP_INCLUDED -#define BOOST_DISPATCH_META_UPGRADE_HPP_INCLUDED - -////////////////////////////////////////////////////////////////////////////// -// Returns the input type rebound with a type that is twice as big -// as its primitive, with optional sign. -// If the primitive type is floating-point, sign is ignored. -// See: http://nt2.metascale.org/sdk/meta/traits/upgrade.html -////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct upgrade; -} } } - -namespace boost { namespace dispatch { namespace details -{ - template - struct upgrade_impl; - - template - struct upgrade_impl< T, Sign, Lambda - , typename enable_if< boost::is_integral >::type - > - { - BOOST_STATIC_CONSTANT ( std::size_t - , size = (sizeof(T) < 8) ? sizeof(T)*2 : 8 - ); - - typedef typename mpl::eval_if < is_void - , meta::sign_of - , mpl::identity - >::type sign; - - typedef typename - meta::make_integer::type type; - }; - - template - struct upgrade_impl< T, Sign, Lambda - , typename enable_if< boost::is_floating_point >::type - > - { - BOOST_STATIC_CONSTANT ( std::size_t - , size = (sizeof(T) < 8) ? sizeof(T)*2 : 8 - ); - - typedef typename meta::make_floating::type type; - }; - - template - struct upgrade_fusion - { - template - struct result; - - template - struct result - : meta::upgrade::type, Sign> - { - }; - - template - typename meta::upgrade::type operator()(X const&) const; - }; - - template - struct upgrade_impl< T, Sign, Lambda - , typename enable_if< boost::fusion::traits::is_sequence >::type - > - : Lambda::template apply< typename boost::fusion::result_of:: - as_vector< typename boost::fusion::result_of:: - transform >::type - >::type - > - { - }; -} } } - -namespace boost { namespace dispatch { namespace meta -{ - ////////////////////////////////////////////////////////////////////////////// - // For any type, return the integer type of size equals to sizeof(T)*2 - // with an optional sign change - ////////////////////////////////////////////////////////////////////////////// - template - struct upgrade - { - typedef typename meta::factory_of::type lambda; - typedef typename meta::primitive_of::type base; - typedef typename meta::strip::type stripped; - typedef typename details::upgrade_impl::type type; - }; - - template - struct upgrade : upgrade {}; - - template - struct upgrade : upgrade {}; -} } } - -#endif diff --git a/inst/include/boost/dispatch/meta/value_of.hpp b/inst/include/boost/dispatch/meta/value_of.hpp deleted file mode 100644 index b6d5cd2..0000000 --- a/inst/include/boost/dispatch/meta/value_of.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_DISPATCH_META_VALUE_OF_HPP_INCLUDED -#define BOOST_DISPATCH_META_VALUE_OF_HPP_INCLUDED - -/*! - * \file - * \brief Defines the \c value_of extension point - */ - -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct value_of; -} - -namespace details -{ - template - struct value_of - { - typedef T type; - }; - - template - struct value_of_cv; - - template - struct value_of_cv - : add_const::type> - { - }; - - template - struct value_of_cv - : add_reference::type> - { - }; -} - -namespace meta -{ - /*! - * @brief Computes the basic value of a type - * - * @tparam T - * - * - **/ - template - struct value_of - : details::value_of - {}; - - /// INTERNAL ONLY - template - struct value_of - : details::value_of_cv - {}; - - /// INTERNAL ONLY - template - struct value_of - : details::value_of_cv - {}; - -#ifndef BOOST_DISPATCH_NO_RESTRICT_REFERENCES - /// INTERNAL ONLY - template - struct value_of - : details::value_of_cv - { - }; -#endif -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/arithmetic.hpp b/inst/include/boost/simd/arithmetic/arithmetic.hpp deleted file mode 100644 index 96bc1b9..0000000 --- a/inst/include/boost/simd/arithmetic/arithmetic.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_ARITHMETIC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_ARITHMETIC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/constants.hpp b/inst/include/boost/simd/arithmetic/constants.hpp deleted file mode 100644 index 608d7e4..0000000 --- a/inst/include/boost/simd/arithmetic/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions.hpp b/inst/include/boost/simd/arithmetic/functions.hpp deleted file mode 100644 index 06b6e33..0000000 --- a/inst/include/boost/simd/arithmetic/functions.hpp +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/abs.hpp b/inst/include/boost/simd/arithmetic/functions/abs.hpp deleted file mode 100644 index 1b8085a..0000000 --- a/inst/include/boost/simd/arithmetic/functions/abs.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_ABS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief abs generic tag - - Represents the abs function in generic contexts. - - @par Models: - Hierarchy - **/ - struct abs_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_abs_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_abs_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_abs_; - } - /*! - Computes the absolute value of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = abs(x); - @endcode - - is equivalent to: - - @code - T r = x < T(0) ? -x : x; - @endcode - - @par Note: - - Take care that for signed integers the absolute value of @c Valmin is - @c Valmin (thus negative!). - This is a side effect of the 2-complement representation of integers. - To avoid this, you can use the @c abss saturated functor or convert the - input parameter to a larger type before taking the absolute value. - - @par Alias - - modulus - - @see @funcref{abss}, @funcref{sqr_abs}, @funcref{sqrs} - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::abs_, abs, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::abs_, modulus, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/abss.hpp b/inst/include/boost/simd/arithmetic/functions/abss.hpp deleted file mode 100644 index 8e74455..0000000 --- a/inst/include/boost/simd/arithmetic/functions/abss.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_ABSS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_ABSS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { -namespace tag -{ - /*! - @brief abss generic tag - - Represents the abss function in generic contexts. - - @par Models: - Hierarchy - **/ - struct abss_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_abss_( ext::adl_helper(), static_cast(args)... ) ) - }; - } -namespace ext -{ - template - BOOST_FORCEINLINE generic_dispatcher dispatching_abss_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_abss_; -} - /*! - Computes the saturated absolute value of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = abss(x); - @endcode - - is equivalent to: - - @code - T r = (x == Valmin) ? Valmax : (x < T(0) ? -x : x); - @endcode - - @par Note: - - The function always returns a positive value of the same type as the - entry. - - This is generally equivalent to @c abs functor except for signed integer - types for which \c abss(Valmin) is \c Valmax. - - @par Alias - - saturated_abs - - @see @funcref{abs}, @funcref{sqr_abs}, @funcref{sqrs} - @param a0 value whose absolute value will be returned. - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::abss_, abss, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::abss_, saturated_abs, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/adds.hpp b/inst/include/boost/simd/arithmetic/functions/adds.hpp deleted file mode 100644 index 9e636fc..0000000 --- a/inst/include/boost/simd/arithmetic/functions/adds.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_ADDS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_ADDS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief adds generic tag - - Represents the adds function in generic contexts. - - @par Models: - Hierarchy - **/ - struct adds_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_adds_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_adds_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_adds_; - } - /*! - Computes the saturated sum of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = adds(x, y); - @endcode - - The function coincide with plus for floating point parameters. - For integers is similar to: - - @code - T r = (x+y > Valmax) ? Valmax : (x+y < Valmin ? Valmin : x+y); - @endcode - - @par Alias - - saturated_add - - @see @funcref{plus}, @funcref{oneplus}, @funcref{inc} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::adds_, adds, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::adds_, saturated_add, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/arg.hpp b/inst/include/boost/simd/arithmetic/functions/arg.hpp deleted file mode 100644 index 2169fb8..0000000 --- a/inst/include/boost/simd/arithmetic/functions/arg.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_ARG_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_ARG_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief arg generic tag - - Represents the arg function in generic contexts. - - @par Models: - Hierarchy - **/ - struct arg_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_arg_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_arg_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_arg_; - } - /*! - Computes the angular orientation of its parameter. - - @par semantic: - For any given value @c x of floating type @c T: - - @code - T r = arg(x); - @endcode - - is equivalent to: - - @code - T r = (is_nan(x)) ? x :(x < zero) ? pi : zero; - @endcode - - @par Note: - - Always 0 or \f$\pi\f$ according to the input sign, or Nan - is the input is Nan. - This function is the restriction to real numbers of the complex - argument function. - - @par Alias - - angle - - @param a0 - - @return a value of the type T. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::arg_, arg, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::arg_, angle, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/average.hpp b/inst/include/boost/simd/arithmetic/functions/average.hpp deleted file mode 100644 index 2481514..0000000 --- a/inst/include/boost/simd/arithmetic/functions/average.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_AVERAGE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_AVERAGE_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief average generic tag - - Represents the average function in generic contexts. - - @par Models: - Hierarchy - **/ - struct average_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_average_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_average_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_average_; - } - /*! - Computes the arithmetic mean of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = average(x, y); - @endcode - - For floating point values the code is equivalent to: - - @code - T r = (x+y)/T(2); - @endcode - - for integer types it returns a rounded value at a distance guaranteed - less or equal to 0.5 of the average floating value, but can differ - of one unity from the truncation given by (x1+x2)/T(2). - - @par Note: - - This function does not overflow. - - @see @funcref{meanof} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::average_, average, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/ceil.hpp b/inst/include/boost/simd/arithmetic/functions/ceil.hpp deleted file mode 100644 index f9c294e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/ceil.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_CEIL_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ceil generic tag - - Represents the ceil function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ceil_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ceil_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ceil_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ceil_; - } - /*! - Computes the ceil of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = ceil(x); - @endcode - - smallest integral value of type @c T greater or equal to @c x. - - @see @funcref{floor}, @funcref{round}, @funcref{round2even}, @funcref{trunc}, @funcref{iceil} - @param a0 - - @return an integral value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ceil_, ceil, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/conj.hpp b/inst/include/boost/simd/arithmetic/functions/conj.hpp deleted file mode 100644 index 2154cc1..0000000 --- a/inst/include/boost/simd/arithmetic/functions/conj.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/U.B.P. -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ. Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_CONJ_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_CONJ_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief conj generic tag - - Represents the conj function in generic contexts. - - @par Models: - Hierarchy - **/ - struct conj_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_conj_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_conj_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_conj_; - } - /*! - Computes the conjugate value of its parameter (identity for reals). - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = conj(x); - @endcode - - for real parameters is equivalent to: - - @code - T r = x - @endcode - - @par Alias - - conjugate - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::conj_, conj, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::conj_, conjugate, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/correct_fma.hpp b/inst/include/boost/simd/arithmetic/functions/correct_fma.hpp deleted file mode 100644 index 3bccbf6..0000000 --- a/inst/include/boost/simd/arithmetic/functions/correct_fma.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief correct_fma generic tag - - Represents the correct_fma function in generic contexts. - - @par Models: - Hierarchy - **/ - struct correct_fma_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_correct_fma_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_correct_fma_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_correct_fma_; - } - /*! - Computes fused multiply/add of its parameter. - - @par semantic: - For any given value @c a, @c b, @c c of type @c T: - - @code - T r = correct_fma(a, b, c); - @endcode - - is similar to: - - @code - T r = a*b+c; - @endcode - - but with only one rounding - - @par Note: - - For integer a*b+c is performed - - For floating points numbers, always compute the correct fused multiply add, - this means the computation of a0*a1+a2 with only one rounding operation. - On machines not possessing this hard wired capability this can be very - expansive. - - @c correct_fma is in fact a transitory function that allows to ensure - strict fma capabilities, i.e. only one rounding operation and no undue - overflow in intermediate computations. - - If you are using this function for a system with no hard wired fma - and are sure that overflow is not a problem - you can define BOOST_SIMD_DONT_CARE_CORRECT_FMA_OVERFLOW to get better - performances - - This function is never used internally in boost/simd. See also - the @funcref{fma} function. - - @see @funcref{fma} - @param a0 - - @param a1 - - @param a2 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::correct_fma_, correct_fma, 3) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/dec.hpp b/inst/include/boost/simd/arithmetic/functions/dec.hpp deleted file mode 100644 index 04e7241..0000000 --- a/inst/include/boost/simd/arithmetic/functions/dec.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_DEC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_DEC_HPP_INCLUDED -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief dec generic tag - - Represents the dec function in generic contexts. - - @par Models: - Hierarchy - **/ - struct dec_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_dec_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_dec_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_dec_; - } - /*! - Decrements a value by 1. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = dec(x); - @endcode - - is equivalent to: - - @code - T r = x-T(1); - @endcode - - @see @funcref{minusone}, @funcref{minus} - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::dec_, dec, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/dist.hpp b/inst/include/boost/simd/arithmetic/functions/dist.hpp deleted file mode 100644 index 624b7b4..0000000 --- a/inst/include/boost/simd/arithmetic/functions/dist.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIST_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIST_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief dist generic tag - - Represents the dist function in generic contexts. - - @par Models: - Hierarchy - **/ - struct dist_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_dist_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_dist_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_dist_; - } - /*! - Computes the (saturated) absolute value of the difference of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = dist(x, y); - @endcode - - is similar to: - - @code - T r = abs(x-y); - @endcode - - @par Note - - The result is never negative. For floating, it can of course be Nan. - - @see @funcref{ulpdist} - @param a0 - - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::dist_, dist, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/divceil.hpp b/inst/include/boost/simd/arithmetic/functions/divceil.hpp deleted file mode 100644 index 983609d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/divceil.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVCEIL_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief divceil generic tag - - Represents the divceil function in generic contexts. - - @par Models: - Hierarchy - **/ - struct divceil_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_divceil_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_divceil_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_divceil_; - } - /*! - Computes the ceil of the division of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = divceil(x, y); - @endcode - - For floating point values the code is equivalent to: - - @code - T r = ceil(x/y); - @endcode - - for integral types, if y is null, it returns Valmax (resp. Valmin) - if x is positive (resp. negative), and 0 if x is null. - Take care also that dividing Valmin by -1 for signed integral types has - undefined behaviour. - - @see @funcref{divides}, @funcref{fast_divides}, @funcref{rec}, @funcref{fast_rec}, @funcref{divs}, @funcref{divfloor}, - @funcref{divround}, @funcref{divround2even}, @funcref{divfix} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divceil_, divceil, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/divfix.hpp b/inst/include/boost/simd/arithmetic/functions/divfix.hpp deleted file mode 100644 index ec6e959..0000000 --- a/inst/include/boost/simd/arithmetic/functions/divfix.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVFIX_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief divfix generic tag - - Represents the divfix function in generic contexts. - - @par Models: - Hierarchy - **/ - struct divfix_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_divfix_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_divfix_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_divfix_; - } - /*! - Computes the truncated division of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = divfix(x, y); - @endcode - - The code is similar to: - - @code - T r = trunc(x/y); - @endcode - - for integral types, if y is null, it returns Valmax (resp. Valmin) - if x is positive (resp. negative) and 0 if x is null. - Take also care that dividing Valmin by -1 for signed integral types has - undefined behaviour. - - @par Alias - - @c divtrunc - - @see @funcref{divides}, @funcref{fast_divides}, @funcref{rec}, @funcref{fast_rec}, @funcref{divs}, @funcref{divfloor}, - @funcref{divround}, @funcref{divround2even} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divfix_, divfix, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divfix_, divtrunc, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/divfloor.hpp b/inst/include/boost/simd/arithmetic/functions/divfloor.hpp deleted file mode 100644 index 4e3293f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/divfloor.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVFLOOR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief divfloor generic tag - - Represents the divfloor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct divfloor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_divfloor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_divfloor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_divfloor_; - } - /*! - Computes the floor of the division. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = divfloor(x, y); - @endcode - - The code is similar to: - - @code - T r = floor(x/y); - @endcode - - for integral types, if y is null, it returns Valmax or Valmin - if x is positive (resp. negative) and 0 if x is null. - Take also care that dividing Valmin by -1 for signed integral types has - undefined behaviour. - - @see @funcref{divides}, @funcref{fast_divides}, @funcref{rec}, @funcref{fast_rec}, @funcref{divs}, @funcref{divfix}, - @funcref{divround}, @funcref{divround2even} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divfloor_, divfloor, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/divround.hpp b/inst/include/boost/simd/arithmetic/functions/divround.hpp deleted file mode 100644 index e9359cd..0000000 --- a/inst/include/boost/simd/arithmetic/functions/divround.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVROUND_HPP_INCLUDED -#include -#include -namespace boost { namespace simd { - namespace tag - { - /*! - @brief divround generic tag - - Represents the divround function in generic contexts. - - @par Models: - Hierarchy - **/ - struct divround_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_divround_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_divround_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_divround_; - } - /*! - Computes the round of the division. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = divround(x, y); - @endcode - - The code is similar to: - - @code - T r = round(x/y); - @endcode - - for integral types, if y is null, it returns Valmax or Valmin - if x is positive (resp. negative) and 0 if x is null. - Take also care that dividing Valmin by -1 for signed integral types has - undefined behaviour. - - @see @funcref{divides}, @funcref{fast_divides}, @funcref{rec}, @funcref{fast_rec}, @funcref{divs}, @funcref{divfloor}, - @funcref{divceil}, @funcref{divround2even}, @funcref{divfix} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divround_, divround, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/divround2even.hpp b/inst/include/boost/simd/arithmetic/functions/divround2even.hpp deleted file mode 100644 index 2a6669d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/divround2even.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief divround2even generic tag - - Represents the divround2even function in generic contexts. - - @par Models: - Hierarchy - **/ - struct divround2even_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_divround2even_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_divround2even_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_divround2even_; - } - /*! - Computes the round2even of the division. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = divround2even(x, y); - @endcode - - The code is similar to: - - @code - T r = round2even(x/y); - @endcode - - for integral types, if y is null, it returns Valmax or Valmin - if x is positive (resp. negative) and 0 if x is null. - Take also care that dividing Valmin by -1 for signed integral types has - undefined behaviour. - - @see @funcref{divides}, @funcref{fast_divides}, @funcref{rec}, @funcref{fast_rec}, @funcref{divs}, @funcref{divfloor}, - @funcref{divceil}, @funcref{divround}, @funcref{divfix} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divround2even_, divround2even, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/divs.hpp b/inst/include/boost/simd/arithmetic/functions/divs.hpp deleted file mode 100644 index 890bba8..0000000 --- a/inst/include/boost/simd/arithmetic/functions/divs.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_DIVS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief divs generic tag - - Represents the divs function in generic contexts. - - @par Models: - Hierarchy - **/ - struct divs_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_divs_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_divs_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_divs_; - } - /*! - Computes the truncated saturated division of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = divs(x, y); - @endcode - - The code is similar to: - - @code - T r = trunc(x/y); - @endcode - - for integral types, if y is null, it returns Valmax or Valmin - if x is positive (resp. negative) and 0 if x is null. - Saturated means that for signed integer types, - @c divs(Valmin,-1) returns Valmax. - - @par Alias - - @c saturated_div, rdivide - - @see @funcref{divides}, @funcref{fast_divides}, @funcref{rec}, @funcref{fast_rec}, @funcref{divfloor}, - @funcref{divceil}, @funcref{divround}, @funcref{divround2even}, @funcref{divfix} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divs_, divs, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divs_, saturated_div, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divs_, rdivide, 2) - - template - BOOST_FORCEINLINE - typename dispatch::meta::call::type - ldivide(A0 const& a0, A1 const& a1) - { - return dispatch::make_functor::type()(a1, a0); - } - - template - BOOST_FORCEINLINE - typename dispatch::meta::call::type - ldiv(A0 const& a0, A1 const& a1) - { - return dispatch::make_functor::type()(a1, a0); - } - -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/fast_hypot.hpp b/inst/include/boost/simd/arithmetic/functions/fast_hypot.hpp deleted file mode 100644 index b126942..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fast_hypot.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fast_hypot generic tag - - Represents the fast_hypot function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_hypot_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_hypot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_hypot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_hypot_; - } - /*! - Computes \f$(x^2 + y^2)^{1/2}\f$ - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = fast_hypot(x, y); - @endcode - - The code is equivalent to: - - @code - T r =sqrt(sqr(x)+sqr(y)); - @endcode - - Fast means that nothing is done to avoid overflow or inaccuracies - for large values. See @funcref{hypot} if that matters. - - @param a0 - @param a1 - - @return a value of the same floating type as the input. - **/ - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_hypot_, fast_hypot, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/fast_iround2even.hpp b/inst/include/boost/simd/arithmetic/functions/fast_iround2even.hpp deleted file mode 100644 index edb9d7a..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fast_iround2even.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fast_iround2even generic tag - - Represents the fast_iround2even function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_iround2even_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_iround2even_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_iround2even_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_iround2even_; - } - /*! - Convert to integer by rounding using round2even. - large values can be not correctly converted - The invalid entries lead to undefined results - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = fast_iround2even(x); - @endcode - - is similar to: - - @code - as_integer r = toint(round2even(a0)); - @endcode - - @param a0 - - @return an integral value of the integral type associated to the input. - - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_iround2even_, fast_iround2even, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/fast_rec.hpp b/inst/include/boost/simd/arithmetic/functions/fast_rec.hpp deleted file mode 100644 index bdee602..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fast_rec.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_REC_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief fast_rec generic tag - - Represents the fast_rec function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_rec_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_rec_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_rec_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_rec_; - } - /*! - Computes the inverse its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = fast_rec(x); - @endcode - - is similar to: - - @code - T r = T(1)/x; - @endcode - - @par Note: - - Fast means that the computation is possibly done through some - low precision intrinsic. The result can be not fully accurate - - @param a0 - - @see funcref{rec} - @return a value of the typeof the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_rec_, fast_rec, 1) - -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/fast_rsqrt.hpp deleted file mode 100644 index 2401036..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fast_rsqrt.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief fast_rsqrt generic tag - - Represents the fast_rsqrt function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_rsqrt_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_rsqrt_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_rsqrt_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_rsqrt_; - } - /*! - Computes the inverse of the square root its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = fast_rsqrt(x); - @endcode - - is similar to: - - @code - T r = T(1)/sqrt(x); - @endcode - - @par Note: - - Fast means that the computation is possibly done through some - low precision intrinsic. The result can be not fully accurate - - @see funcref{rsqrt} - @param a0 - - @return a value of the typeof the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_rsqrt_, fast_rsqrt, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/fast_sqrt.hpp b/inst/include/boost/simd/arithmetic/functions/fast_sqrt.hpp deleted file mode 100644 index ecd37f4..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fast_sqrt.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_SQRT_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief fast_sqrt generic tag - - Represents the fast_sqrt function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_sqrt_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_sqrt_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_sqrt_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_sqrt_; - } - /*! - Computes the square root of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = fast_sqrt(x); - @endcode - - is similar to: - - @code - T r = sqrt(x); - @endcode - - @par Note: - - Fast means that the computation is possibly done through some - low precision intrinsic. The result can be not fully accurate - - @see funcref{sqrt} - @param a0 - - @return a value of the typeof the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_sqrt_, fast_sqrt, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/fast_toint.hpp b/inst/include/boost/simd/arithmetic/functions/fast_toint.hpp deleted file mode 100644 index 0905f6e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fast_toint.hpp +++ /dev/null @@ -1,102 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_TOINT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fast_toint generic tag - - Represents the fast_toint function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_toint_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_toint_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_toint_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_toint_; - } - /*! - Convert to integer by truncation. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = fast_toint(x); - @endcode - - The code is similar to: - - @code - as_integer r = static_cast >(x) - @endcode - - @par Notes: - - @c fast_toint cast a floating value to the signed integer value of the same bit size. - - This is done by C casting for scalars and corresponding intrinsic in simd (if available). - - Peculiarly, that implies that the behaviour of this function on invalid entries is - not defined and quite unpredictable. - - (For instance it is quite frequent that the test: - - @code - fast_toint(Inf()) == fast_toint(1.0/0.0) - @endcode - - - will return false whilst the test: - - @code - Inf() == 1.0/0.0 - @endcode - - - returns true !) - - If you intend to use nans and infs entries, consider using fast_toints instead. - On integral typed values, it acts as identity. - - @par Alias - - fast__fast_toint - - @param a0 - - @return a value of the integer type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_toint_, fast_toint, 1) - -} } - -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/fast_trunc.hpp b/inst/include/boost/simd/arithmetic/functions/fast_trunc.hpp deleted file mode 100644 index f5f1289..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fast_trunc.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fast_trunc generic tag - - Represents the fast_trunc function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_trunc_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_trunc_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_trunc_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_trunc_; - } - /*! - Computes the truncation toward zero of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = fast_trunc(x); - @endcode - - The code is similar to: - - @code - T r = tofloat(toint(x))); - @endcode - - fast means that no provisions are taken for floating to large to fit - in the same size integer type. - - @see @funcref{trunc} - @par Alias - - fast_fix - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_trunc_, fast_trunc, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_trunc_, fast_fix, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/floor.hpp b/inst/include/boost/simd/arithmetic/functions/floor.hpp deleted file mode 100644 index f2932a3..0000000 --- a/inst/include/boost/simd/arithmetic/functions/floor.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FLOOR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief floor generic tag - - Represents the floor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct floor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_floor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_floor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_floor_; - } - /*! - Computes the floor of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = floor(x); - @endcode - - greatest integral value of type @c T less or equal to @c x. - - @see @funcref{ceil}, @funcref{round}, @funcref{round2even}}, @funcref{trunc}, @funcref{ifloor} - @param a0 - - @return an integral value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::floor_, floor, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/fma.hpp b/inst/include/boost/simd/arithmetic/functions/fma.hpp deleted file mode 100644 index ed4ab1b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fma.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FMA_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fma generic tag - - Represents the fma function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fma_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fma_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fma_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fma_; - } - /*! - Computes the (fused) multiply add of the three parameters. - - @par semantic: - For any given value @c x, @c y, @c z of type @c T: - - @code - T r = fma(x, y, z); - @endcode - - The code is similar to: - - @code - T r = x*y+z; - @endcode - - @par Note - Correct fused multiply/add implies - - 1) only one rounding - - 2) no "intermediate" overflow - - fma provides this each time it is reasonable - in terms of performance (mainly if the system has the hard - wired capability). - If you need fma in all circumstances in your own - code use correct_fma. - - @par Alias - - @c madd - - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fma_, fma, 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fma_, madd, 3) - - BOOST_DISPATCH_FUNCTION_INTERFACE(tag::fma_, fam, 3) - { - typename boost::dispatch::make_functor::type callee; - return callee(a1, a2, a0); - } - - BOOST_DISPATCH_FUNCTION_INTERFACE(tag::fma_, amul, 3) - { - typename boost::dispatch::make_functor::type callee; - return callee(a1, a2, a0); - } - -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/fms.hpp b/inst/include/boost/simd/arithmetic/functions/fms.hpp deleted file mode 100644 index f52b5c2..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fms.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FMS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fms generic tag - - Represents the fms function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fms_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fms_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fms_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fms_; - } - - /*! - Computes the fused multiply-substract of three value. - - @par semantic: - For any given value @c x, @c y, @c z of type @c T: - - @code - T r = fms(x, y, z); - @endcode - - The code is similar to: - - @code - T r = x*y-z; - @endcode - - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the input. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fms_, fms, 3) - - - /*! - Computes the fused negated substract-multiply of three values. - - @par semantic: - For any given value @c x, @c y, @c z of type @c T: - - @code - T r = fnsm(x, y, z); - @endcode - - The code is similar to: - - @code - T r = -(x-y*z); - @endcode - - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the input. - **/ - BOOST_DISPATCH_FUNCTION_INTERFACE(tag::fms_, fnsm, 3) - { - typename boost::dispatch::make_functor::type callee; - return callee(a2, a1, a0); - } -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/fnma.hpp b/inst/include/boost/simd/arithmetic/functions/fnma.hpp deleted file mode 100644 index b384073..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fnma.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FNMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FNMA_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fnma generic tag - - Represents the fnma function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fnma_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fnma_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fnma_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fnma_; - } - - /*! - Computes the fused negated multiply-add of three values. - - @par semantic: - For any given value @c x, @c y, @c z of type @c T: - - @code - T r = fnma(x, y, z); - @endcode - - The code is similar to: - - @code - T r = -(x*y+z); - @endcode - - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the input. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fnma_, fnma, 3) - - /*! - Computes the fused negated add-multiply of three values. - - @par semantic: - For any given value @c x, @c y, @c z of type @c T: - - @code - T r = fnam(x, y, z); - @endcode - - The code is similar to: - - @code - T r = -(x+y*z); - @endcode - - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the input. - **/ - BOOST_DISPATCH_FUNCTION_INTERFACE(tag::fnma_, fnam, 3) - { - typename boost::dispatch::make_functor::type callee; - return callee(a2, a1, a0); - } -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/fnms.hpp b/inst/include/boost/simd/arithmetic/functions/fnms.hpp deleted file mode 100644 index 0f57624..0000000 --- a/inst/include/boost/simd/arithmetic/functions/fnms.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_FNMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_FNMS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fnms generic tag - - Represents the fnms function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fnms_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fnms_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fnms_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fnms_; - } - - /*! - Computes the fused negated multiply-substract of three values. - - @par semantic: - For any given value @c x, @c y, @c z of type @c T: - - @code - T r = fnms(x, y, z); - @endcode - - The code is similar to: - - @code - T r = -(x*y-z); - @endcode - - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the input. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fnms_, fnms, 3) - - /*! - Computes the fused substract-multiply of three value. - - @par semantic: - For any given value @c x, @c y, @c z of type @c T: - - @code - T r = fsm(x, y, z); - @endcode - - The code is similar to: - - @code - T r = x-y*z; - @endcode - - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the input. - **/ - BOOST_DISPATCH_FUNCTION_INTERFACE(tag::fnms_, fsm, 3) - { - typename boost::dispatch::make_functor::type callee; - return callee(a2, a1, a0); - } -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/abss.hpp b/inst/include/boost/simd/arithmetic/functions/generic/abss.hpp deleted file mode 100644 index 6aca96f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/abss.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ABSS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ABSS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( abss_, tag::cpu_ - , (A0) - , (generic_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return simd::abs(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abss_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return simd::abs(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abss_, tag::cpu_ - , (A0) - , (generic_< signed_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type a = simd::abs(a0); - return if_else(eq(a0,Valmin()),Valmax(),a); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/arg.hpp b/inst/include/boost/simd/arithmetic/functions/generic/arg.hpp deleted file mode 100644 index e32ae35..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/arg.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ARG_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ARG_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_NANS -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( arg_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - // a0 >= 0 -> 0, a0 < 0 ->Pi, a0 is Nan -> Nan - result_type r = if_else_zero(is_ltz(a0),Pi()); - #ifndef BOOST_SIMD_NO_NANS - return if_nan_else(is_nan(a0),r); - #else - return r; - #endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/average.hpp b/inst/include/boost/simd/arithmetic/functions/generic/average.hpp deleted file mode 100644 index f94b491..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/average.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_AVERAGE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_AVERAGE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( average_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return b_and(a0, a1)+shift_right(b_xor(a0, a1),1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( average_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return fma(a0,Half(),a1*Half()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/ceil.hpp b/inst/include/boost/simd/arithmetic/functions/generic/ceil.hpp deleted file mode 100644 index 3981f9f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/ceil.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_CEIL_HPP_INCLUDED -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ceil_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/conj.hpp b/inst/include/boost/simd/arithmetic/functions/generic/conj.hpp deleted file mode 100644 index d7570c4..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/conj.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_CONJ_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_CONJ_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( conj_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/dec.hpp b/inst/include/boost/simd/arithmetic/functions/generic/dec.hpp deleted file mode 100644 index 7c4e402..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/dec.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_DEC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_DEC_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( dec_, tag::cpu_ - , (A0) - , ((generic_< arithmetic_ >)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0-One(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/fast_hypot.hpp b/inst/include/boost/simd/arithmetic/functions/generic/fast_hypot.hpp deleted file mode 100644 index 5782a00..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/fast_hypot.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FAST_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FAST_HYPOT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_hypot_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::sqrt(boost::simd::fma(a0, a0, sqr(a1))); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/fast_iround2even.hpp b/inst/include/boost/simd/arithmetic/functions/generic/fast_iround2even.hpp deleted file mode 100644 index b54271e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/fast_iround2even.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FAST_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_iround2even_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_iround2even_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return toint(round2even(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/fast_rec.hpp b/inst/include/boost/simd/arithmetic/functions/generic/fast_rec.hpp deleted file mode 100644 index 88f913f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/fast_rec.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FAST_REC_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_rec_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - BOOST_DISPATCH_RETURNS(1,(A0 const& a0), boost::simd::rec(a0)); - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/fast_sqrt.hpp b/inst/include/boost/simd/arithmetic/functions/generic/fast_sqrt.hpp deleted file mode 100644 index 4e87957..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/fast_sqrt.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FAST_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FAST_SQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_sqrt_ - , tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return if_else_zero(a0, a0 * fast_rsqrt(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_sqrt_ - , tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::simd::sqrt(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/floor.hpp b/inst/include/boost/simd/arithmetic/functions/generic/floor.hpp deleted file mode 100644 index 6054dd9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/floor.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FLOOR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( floor_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/fma.hpp b/inst/include/boost/simd/arithmetic/functions/generic/fma.hpp deleted file mode 100644 index 2dca935..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/fma.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NUMSCALE SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FMA_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fma_, tag::cpu_ - , (A0) - , (generic_< unspecified_ >) - (generic_< unspecified_ >) - (generic_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, A0 const& a2) const - { - return boost::simd::multiplies(a0, a1)+a2; - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/fms.hpp b/inst/include/boost/simd/arithmetic/functions/generic/fms.hpp deleted file mode 100644 index da2f64b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/fms.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 NUMSCALE SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FMS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fms_, tag::cpu_ - , (A0) - , (generic_< unspecified_ >) - (generic_< unspecified_ >) - (generic_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, A0 const& a2) const - { - return boost::simd::multiplies(a0, a1)-a2; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/fnma.hpp b/inst/include/boost/simd/arithmetic/functions/generic/fnma.hpp deleted file mode 100644 index 7e3e23d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/fnma.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 NUMSCALE SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FNMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FNMA_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4146) // unary minus applied to unsigned -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fnma_, tag::cpu_ - , (A0) - , (generic_< unspecified_ >) - (generic_< unspecified_ >) - (generic_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, A0 const& a2) const - { - return -a2 - boost::simd::multiplies(a0, a1); - } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/fnms.hpp b/inst/include/boost/simd/arithmetic/functions/generic/fnms.hpp deleted file mode 100644 index 94b6af9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/fnms.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 NUMSCALE SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FNMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_FNMS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fnms_, tag::cpu_ - , (A0) - , (generic_< unspecified_ >) - (generic_< unspecified_ >) - (generic_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, A0 const& a2) const - { - return a2-boost::simd::multiplies(a0, a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/iceil.hpp b/inst/include/boost/simd/arithmetic/functions/generic/iceil.hpp deleted file mode 100644 index b4e6145..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/iceil.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ICEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ICEIL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( iceil_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( iceil_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return toints(simd::ceil(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/idivceil.hpp b/inst/include/boost/simd/arithmetic/functions/generic/idivceil.hpp deleted file mode 100644 index 7006287..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/idivceil.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVCEIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( idivceil_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return divceil(a0, a1); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( idivceil_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return iceil(a0/a1); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/idivfix.hpp b/inst/include/boost/simd/arithmetic/functions/generic/idivfix.hpp deleted file mode 100644 index 55884ed..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/idivfix.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVFIX_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( idivfix_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return divfix(a0, a1); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( idivfix_, tag::cpu_, (A0) - , (generic_< floating_ > ) - (generic_< floating_ > ) - ) - - { - typedef typename boost::dispatch::meta::as_integer ::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return itrunc(a0/a1); - } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/idivfloor.hpp b/inst/include/boost/simd/arithmetic/functions/generic/idivfloor.hpp deleted file mode 100644 index 222dc73..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/idivfloor.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVFLOOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( idivfloor_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return divfloor(a0, a1); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( idivfloor_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return ifloor(a0/a1); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/idivround.hpp b/inst/include/boost/simd/arithmetic/functions/generic/idivround.hpp deleted file mode 100644 index 45556a1..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/idivround.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVROUND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( idivround_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return divround(a0, a1); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( idivround_, tag::cpu_ - , (A0) - , (generic_< floating_ > ) - (generic_< floating_ > ) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return iround(a0/a1); - } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/idivround2even.hpp b/inst/include/boost/simd/arithmetic/functions/generic/idivround2even.hpp deleted file mode 100644 index d6671f7..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/idivround2even.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IDIVROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( idivround2even_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return divround2even(a0, a1); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( idivround2even_, tag::cpu_ - , (A0) - , (generic_< floating_ > ) - (generic_< floating_ > ) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return iround2even(a0/a1); - } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/ifloor.hpp b/inst/include/boost/simd/arithmetic/functions/generic/ifloor.hpp deleted file mode 100644 index e3323ce..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/ifloor.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IFLOOR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifloor_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ifloor_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return toints(simd::floor(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/inc.hpp b/inst/include/boost/simd/arithmetic/functions/generic/inc.hpp deleted file mode 100644 index 4d21842..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/inc.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_INC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_INC_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( inc_, tag::cpu_ - , (A0) - , ((generic_< arithmetic_ >)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0+One(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/iround.hpp b/inst/include/boost/simd/arithmetic/functions/generic/iround.hpp deleted file mode 100644 index fd9d22d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/iround.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IROUND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( iround_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( iround_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - A0 inc = if_else(is_ltz(a0), Mhalf(), Half()); - return toints(a0+inc); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/iround2even.hpp b/inst/include/boost/simd/arithmetic/functions/generic/iround2even.hpp deleted file mode 100644 index 515f366..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/iround2even.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( iround2even_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( iround2even_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return toints(simd::round2even(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/meanof.hpp b/inst/include/boost/simd/arithmetic/functions/generic/meanof.hpp deleted file mode 100644 index 67e2ddb..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/meanof.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_MEANOF_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_MEANOF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -//no overflow average for floating numbers - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( meanof_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 m = min(a0, a1); - return if_else( logical_and(is_finite(a0),is_finite(a1)), - m + (max(a0, a1)-m)*Half(), - average(a0, a1) - ); - } - }; - BOOST_DISPATCH_IMPLEMENT ( meanof_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 & a1) + ((a0 ^ a1) >> 1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/minusone.hpp b/inst/include/boost/simd/arithmetic/functions/generic/minusone.hpp deleted file mode 100644 index ec5d0a2..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/minusone.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_MINUSONE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_MINUSONE_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minusone_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return selsub(neq(a0, Valmin()), a0, One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minusone_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return a0-One(); - } - }; - -} } } -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/mod.hpp b/inst/include/boost/simd/arithmetic/functions/generic/mod.hpp deleted file mode 100644 index c666f14..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/mod.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_MOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_MOD_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mod_, tag::cpu_ - , (A0) - , (generic_ >) - (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return selsub(boost::simd::is_nez(a1),a0, - divfloor(a0,a1)*a1 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mod_, tag::cpu_ - , (A0) - , (generic_ >) - (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return selsub(is_nez(a1),a0, - boost::simd::multiplies(idivfloor(a0,a1), a1) - ); - - } - }; - - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/oneminus.hpp b/inst/include/boost/simd/arithmetic/functions/generic/oneminus.hpp deleted file mode 100644 index 034c6f8..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/oneminus.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ONEMINUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ONEMINUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( oneminus_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return subs(One(), a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( oneminus_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return One()-simd::min(a0, One()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/oneplus.hpp b/inst/include/boost/simd/arithmetic/functions/generic/oneplus.hpp deleted file mode 100644 index 8619464..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/oneplus.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ONEPLUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_ONEPLUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( oneplus_, tag::cpu_ - , (A0) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return seladd(is_not_equal(a0, Valmax()), - a0, - One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( oneplus_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0+One(); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/raw_rec.hpp b/inst/include/boost/simd/arithmetic/functions/generic/raw_rec.hpp deleted file mode 100644 index 772619f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/raw_rec.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_RAW_REC_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( raw_rec_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - BOOST_DISPATCH_RETURNS(1,(A0 const& a0), boost::simd::rec(a0)); - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/refine_rec.hpp b/inst/include/boost/simd/arithmetic/functions/generic/refine_rec.hpp deleted file mode 100644 index b4086e2..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/refine_rec.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_REFINE_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_REFINE_REC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( refine_rec_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 const& a1) const - { - // Newton-Raphson: 1/X ~= x*(1-a0*x) + x - return fma(fsm(One(), a0, a1), a1, a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/remainder.hpp b/inst/include/boost/simd/arithmetic/functions/generic/remainder.hpp deleted file mode 100644 index 55ea37d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/remainder.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_REMAINDER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_REMAINDER_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// The remainder() function computes the remainder of dividing x by y. The -// return value is x-n*y, where n is the value x / y, rounded to the nearest -// integer. If the boost::simd::absolute value of x-n*y is 0.5, n is chosen -// to be even. -// The drem function is just an alias for the same thing. -// As the result can be negative the functor is not defined for unsigned -// entries -///////////////////////////////////////////////////////////////////////////// - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( remainder_, tag::cpu_ - , (A0) - , (generic_< signed_ >) - (generic_< signed_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return selsub(is_nez(a1),a0, - boost::simd::multiplies(idivround2even(a0, a1), a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( remainder_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0-divround2even(a0, a1)*a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/remquo.hpp b/inst/include/boost/simd/arithmetic/functions/generic/remquo.hpp deleted file mode 100644 index ebb9c90..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/remquo.hpp +++ /dev/null @@ -1,106 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_REMQUO_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_REMQUO_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( remquo_ - , tag::cpu_ - , (A0)(A1) - , ( boost::is_same - < typename dispatch::meta:: - as_integer::type - , A1 - > - ) - , (generic_< floating_ >) - (generic_< floating_ >) - (generic_< integer_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A0 const& a1,A1& a3) const - { - result_type a2; - boost::simd::remquo(a0, a1, a2, a3); - return a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( remquo_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type quo_t; - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 const& a1) const - { - A0 first; - quo_t second; - boost::simd::remquo( a0, a1, first, second ); - return result_type(first, second); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( remquo_, tag::cpu_ - , (A0)(A1) - , ( boost::is_same - < typename dispatch::meta:: - as_integer::type - , A1 - > - ) - , (generic_ >) - (generic_ >) - (generic_ >) - (generic_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1,A0& a2, A1& a3) const - { - A0 const d = round2even(a0/a1); - -#if defined(BOOST_SIMD_NO_INVALIDS) - a2 = if_allbits_else(is_eqz(a1), a0-d*a1); -#else - a2 = if_allbits_else(l_or(is_invalid(a0), is_eqz(a1)), a0-d*a1); -#endif - - a3 = toint(d); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/remround.hpp b/inst/include/boost/simd/arithmetic/functions/generic/remround.hpp deleted file mode 100644 index d10fdbc..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/remround.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_REMROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_REMROUND_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// The remround() function computes the remround of dividing x by y. The -// return value is x-n*y, where n is the value x / y, rounded to the nearest -// integer. -// As the result can be negative the functor is not defined for unsigned -// entries -///////////////////////////////////////////////////////////////////////////// - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( remround_, tag::cpu_ - , (A0) - , (generic_< signed_ >) - (generic_< signed_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return selsub(is_nez(a1),a0, - boost::simd::multiplies(idivround(a0, a1), a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( remround_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0-divround(a0, a1)*a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/generic/rsqrt.hpp deleted file mode 100644 index 6ece2e1..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/rsqrt.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_RSQRT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rsqrt_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return rec(simd::sqrt(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/sqr.hpp b/inst/include/boost/simd/arithmetic/functions/generic/sqr.hpp deleted file mode 100644 index 51250ce..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/sqr.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_SQR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_SQR_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sqr_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return multiplies(a0, a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/sqr_abs.hpp b/inst/include/boost/simd/arithmetic/functions/generic/sqr_abs.hpp deleted file mode 100644 index b951ac2..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/sqr_abs.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_SQR_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_SQR_ABS_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sqr_abs_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return sqr(a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/two_add.hpp b/inst/include/boost/simd/arithmetic/functions/generic/two_add.hpp deleted file mode 100644 index 31cffa7..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/two_add.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_TWO_ADD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_TWO_ADD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( two_add_ - , tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A0 const& a1,A0& a3) const - { - result_type a2; - boost::simd::two_add(a0, a1, a2, a3); - return a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_add_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 const& a1) const - { - A0 first, second; - boost::simd::two_add( a0, a1, first, second ); - return result_type(first, second); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_add_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE - result_type operator()(A0 const& a,A0 const& b, A0 & r0,A0 & r1) const - { - boost::simd::config::enforce_precision enforcer; - r0 = a + b; - A0 z = r0 - a; -#if defined(BOOST_SIMD_NO_INFINITIES) - r1 = a-(r0-z)+(b-z); -#else - r1 = if_zero_else(is_inf(r0), (a-(r0-z))+(b-z)); -#endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/two_prod.hpp b/inst/include/boost/simd/arithmetic/functions/generic/two_prod.hpp deleted file mode 100644 index ff780c3..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/two_prod.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_TWO_PROD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_TWO_PROD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( two_prod_ - , tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A0 const& a1,A0& a3) const - { - result_type a2; - boost::simd::two_prod(a0, a1, a2, a3); - return a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_prod_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 const& a1) const - { - A0 first, second; - boost::simd::two_prod( a0, a1, first, second ); - return result_type(first, second); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_prod_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE - result_type operator()(A0 const& a,A0 const& b, A0 & r0,A0 & r1) const - { - boost::simd::config::enforce_precision enforcer; - - A0 a1, a2, b1, b2; - r0 = a*b; - - two_split(a, a1, a2); - two_split(b, b1, b2); - -#if defined(BOOST_SIMD_NO_INVALIDS) - r1 = a2*b2 -(((r0-a1*b1)-a2*b1)-a1*b2); -#else - r1 = if_zero_else(is_invalid(r0), a2*b2 -(((r0-a1*b1)-a2*b1)-a1*b2)); -#endif - - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/generic/two_split.hpp b/inst/include/boost/simd/arithmetic/functions/generic/two_split.hpp deleted file mode 100644 index 4a9dad4..0000000 --- a/inst/include/boost/simd/arithmetic/functions/generic/two_split.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_TWO_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_GENERIC_TWO_SPLIT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( two_split_ - , tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A0& a2) const - { - result_type a1; - boost::simd::two_split(a0, a1, a2); - return a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_split_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - ) - { - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - A0 first, second; - boost::simd::two_split( a0, first, second ); - return result_type(first, second); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_split_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - (generic_< floating_ >) - (generic_< floating_ >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A0 & r0,A0 & r1) const - { - boost::simd::config::enforce_precision enforcer; - A0 const c = boost::simd::Splitfactor()*a; - A0 const c1 = c-a; - r0 = c-c1; - r1 = a-r0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/hypot.hpp b/inst/include/boost/simd/arithmetic/functions/hypot.hpp deleted file mode 100644 index 0f76c8c..0000000 --- a/inst/include/boost/simd/arithmetic/functions/hypot.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_HYPOT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief hypot generic tag - - Represents the hypot function in generic contexts. - - @par Models: - Hierarchy - **/ - struct hypot_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_hypot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_hypot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_hypot_; - } - /*! - Computes \f$(x^2 + y^2)^{1/2}\f$ - - @par semantic: - For any given value @c x, @c y of floating type @c T: - - @code - T r = hypot(x, y); - @endcode - - The code is similar to: - - @code - T r = sqrt(sqr(x)+sqr(y)); - @endcode - - Provision are made to avoid overflow as possible and to compute - @c hypot accurately. - If these considerations can be put aside use - @c fast_hypot. - - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::hypot_, hypot, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/iceil.hpp b/inst/include/boost/simd/arithmetic/functions/iceil.hpp deleted file mode 100644 index 6dec586..0000000 --- a/inst/include/boost/simd/arithmetic/functions/iceil.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_ICEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_ICEIL_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief iceil generic tag - - Represents the iceil function in generic contexts. - - @par Models: - Hierarchy - **/ - struct iceil_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_iceil_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_iceil_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_iceil_; - } - /*! - Computes the integer conversion of the ceil of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = iceil(x); - @endcode - - is equivalent to: - - @code - as_integer r = toints(ceil(x)); - @endcode - - @par Note: - This operation is properly saturated - - @see funcref{fast_iceil} - @param a0 - - @return an integral value of the integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::iceil_, iceil, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/idivceil.hpp b/inst/include/boost/simd/arithmetic/functions/idivceil.hpp deleted file mode 100644 index 9c5f893..0000000 --- a/inst/include/boost/simd/arithmetic/functions/idivceil.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVCEIL_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief idivceil generic tag - - Represents the idivceil function in generic contexts. - - @par Models: - Hierarchy - **/ - struct idivceil_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_idivceil_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_idivceil_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_idivceil_; - } - /*! - Computes the integer conversion of the ceil of the division of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = idivceil(x, y); - @endcode - - The code is similar to: - - @code - as_integer r = toints(ceil(x/y)); - @endcode - - If y is null, it returns Valmax (resp. Valmin) - if x is positive (resp. negative) and 0 if x is null. - - @see funcref{toints}, funcref{ceil} - @param a0 - @param a1 - - @return a value of the integral type associated to the input. - - **/ - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::idivceil_, idivceil, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/idivfix.hpp b/inst/include/boost/simd/arithmetic/functions/idivfix.hpp deleted file mode 100644 index 3e4a97a..0000000 --- a/inst/include/boost/simd/arithmetic/functions/idivfix.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVFIX_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief idivfix generic tag - - Represents the idivfix function in generic contexts. - - @par Models: - Hierarchy - **/ - struct idivfix_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_idivfix_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_idivfix_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_idivfix_; - } - /*! - Computes the integer conversion of the truncated division of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = idivfix(x, y); - @endcode - - The code is similar to: - - @code - as_integer r = toints(trunc(x/y)); - @endcode - - If y is null, it returns Valmax (resp. Valmin) - if x is positive (resp. negative) and 0 if x is null. - - @param a0 - @param a1 - - @see funcref{toints}, funcref{trunc} - @return a value of the integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::idivfix_, idivfix, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/idivfloor.hpp b/inst/include/boost/simd/arithmetic/functions/idivfloor.hpp deleted file mode 100644 index 4fecbf6..0000000 --- a/inst/include/boost/simd/arithmetic/functions/idivfloor.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief idivfloor generic tag - - Represents the idivfloor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct idivfloor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_idivfloor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_idivfloor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_idivfloor_; - } - /*! - Computes the integer conversion of the truncated division of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = idivfix(x, y); - @endcode - - The code is similar to: - - @code - as_integer r = toints(floor(x/y)); - @endcode - - If y is null, it returns Valmax (resp. Valmin) - if x is positive (resp. negative) and 0 if x is null. - - @see funcref{toints}, funcref{floor} - @param a0 - @param a1 - - @return a value of the integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::idivfloor_, idivfloor, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/idivround.hpp b/inst/include/boost/simd/arithmetic/functions/idivround.hpp deleted file mode 100644 index e8e3f4f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/idivround.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVROUND_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief idivround generic tag - - Represents the idivround function in generic contexts. - - @par Models: - Hierarchy - **/ - struct idivround_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_idivround_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_idivround_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_idivround_; - } - /*! - Computes the integer conversion of the rounded division of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = idivround(x, y); - @endcode - - The code is similar to: - - @code - as_integer r = toints(round(x/y)); - @endcode - - If y is null, it returns Valmax (resp. Valmin) - if x is positive (resp. negative) and 0 if x is null. - - @see funcref{toints}, funcref{round} - @param a0 - @param a1 - - @return a value of the integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::idivround_, idivround, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/idivround2even.hpp b/inst/include/boost/simd/arithmetic/functions/idivround2even.hpp deleted file mode 100644 index 750b66f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/idivround2even.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief idivround2even generic tag - - Represents the idivround2even function in generic contexts. - - @par Models: - Hierarchy - **/ - struct idivround2even_ : ext::elementwise_ { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_idivround2even_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_idivround2even_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_idivround2even_; - } - /*! - Computes the integer conversion of the rounded to even - division of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = idivround2even_(x, y); - @endcode - - The code is similar to: - - @code - as_integer r = toints(round2even(x/y)); - @endcode - - If y is null, it returns Valmax (resp. Valmin) - if x is positive (resp. negative) and 0 if x is null. - - @see funcref{toints}, funcref{round2even} - @param a0 - @param a1 - - @return a value of the integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::idivround2even_, idivround2even, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/ifloor.hpp b/inst/include/boost/simd/arithmetic/functions/ifloor.hpp deleted file mode 100644 index d244a53..0000000 --- a/inst/include/boost/simd/arithmetic/functions/ifloor.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_IFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_IFLOOR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ifloor generic tag - - Represents the ifloor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ifloor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ifloor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ifloor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ifloor_; - } - /*! - Computes the integer conversion of the floor of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = ifloor(x); - @endcode - - is equivalent to: - - @code - as_integer r = toints(floor(x)); - @endcode - - @par Note: - This operation is properly saturated - - @see funcref{fast_ifloor} - @param a0 - - @return an integral value of the integral type associated to the input. - - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ifloor_, ifloor, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/inc.hpp b/inst/include/boost/simd/arithmetic/functions/inc.hpp deleted file mode 100644 index 2dd4882..0000000 --- a/inst/include/boost/simd/arithmetic/functions/inc.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_INC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_INC_HPP_INCLUDED - -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief inc generic tag - - Represents the inc function in generic contexts. - - @par Models: - Hierarchy - **/ - struct inc_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_inc_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_inc_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_inc_; - } - /*! - Increments a value by 1. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = inc(x); - @endcode - - is equivalent to: - - @code - T r = x+T(1); - @endcode - - @see @funcref{oneplus}, @funcref{plus} - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::inc_, inc, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/iround.hpp b/inst/include/boost/simd/arithmetic/functions/iround.hpp deleted file mode 100644 index 8d9ab29..0000000 --- a/inst/include/boost/simd/arithmetic/functions/iround.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_IROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_IROUND_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief iround generic tag - - Represents the iround function in generic contexts. - - @par Models: - Hierarchy - **/ - struct iround_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_iround_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_iround_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_iround_; - } - /*! - Computes the integer conversion of the round of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = iround(x); - @endcode - - is similar to: - - @code - as_integer r = toints(round(x)); - @endcode - - - @see funcref{fast_iround} - @param a0 - - @return an integral value of the integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::iround_, iround, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/iround2even.hpp b/inst/include/boost/simd/arithmetic/functions/iround2even.hpp deleted file mode 100644 index 2179839..0000000 --- a/inst/include/boost/simd/arithmetic/functions/iround2even.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED -#include -#include -namespace boost { namespace simd { namespace tag - { - /*! - @brief iround2even generic tag - - Represents the iround2even function in generic contexts. - - @par Models: - Hierarchy - **/ - struct iround2even_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_iround2even_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_iround2even_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_iround2even_; - } - /*! - Computes the integer conversion of the round2even of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = iround2even(x); - @endcode - - is similar to: - - @code - as_integer r = toints(round2even(x)); - @endcode - - - @see funcref{fast_iround2even} - @param a0 - - @return an integral value of the integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::iround2even_, iround2even, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/logical_xor.hpp b/inst/include/boost/simd/arithmetic/functions/logical_xor.hpp deleted file mode 100644 index 763eccf..0000000 --- a/inst/include/boost/simd/arithmetic/functions/logical_xor.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief logical_xor generic tag - - Represents the logical_xor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_xor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_logical_xor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_logical_xor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_logical_xor_; - } - /*! - Computes the logical xor of its parameter. - - @par semantic: - For any given value @c x and @c y of type @c T: - - @code - as_logical r = logical_xor(x, y); - @endcode - - is similar to: - - @code - as_logical r = !x != !y; - @endcode - - @param a0 - @param a1 - - @return a logical value of the logical type associated to the input. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_xor_, logical_xor, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/max.hpp b/inst/include/boost/simd/arithmetic/functions/max.hpp deleted file mode 100644 index 2061b7e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/max.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_MAX_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief max generic tag - - Represents the max function in generic contexts. - - @par Models: - Hierarchy - **/ - struct max_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_max_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_max_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_max_; - } - /*! - Computes the largest of its parameter. - - @par semantic: - For any given value @c x and @c y of type @c T: - - @code - T r = max(x, y); - @endcode - - is similar to: - - @code - T r = if (x > y) ? x : y; - @endcode - - @param a0 - @param a1 - - @return an value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::max_, max, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/meanof.hpp b/inst/include/boost/simd/arithmetic/functions/meanof.hpp deleted file mode 100644 index d8de42c..0000000 --- a/inst/include/boost/simd/arithmetic/functions/meanof.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_MEANOF_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_MEANOF_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief meanof generic tag - - Represents the meanof function in generic contexts. - - @par Models: - Hierarchy - **/ - struct meanof_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_meanof_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_meanof_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_meanof_; - } - /*! - Computes the mean of its parameter avoiding overflow. - - @par semantic: - For any given value @c x and @c y of type @c T: - - @code - T r = meanof(x, y); - @endcode - - is similar to: - - @code - T r = (x+y)/2; - @endcode - - @par Note: - Take care that for integers the value returned can differ by one unit - from \c ceil((a+b)/2.0) or \c floor((a+b)/2.0), but is always one of - the two values. - - @param a0 - @param a1 - - @return an value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::meanof_, meanof, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/min.hpp b/inst/include/boost/simd/arithmetic/functions/min.hpp deleted file mode 100644 index 1ce4b44..0000000 --- a/inst/include/boost/simd/arithmetic/functions/min.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_MIN_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief min generic tag - - Represents the min function in generic contexts. - - @par Models: - Hierarchy - **/ - struct min_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_min_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_min_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_min_; - } - /*! - Computes the smallest of its parameter. - - @par semantic: - For any given value @c x and @c y of type @c T: - - @code - T r = min(x, y); - @endcode - - is similar to: - - @code - T r = if (x < y) ? x : y; - @endcode - - @param a0 - @param a1 - - @return an value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::min_, min, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/minmod.hpp b/inst/include/boost/simd/arithmetic/functions/minmod.hpp deleted file mode 100644 index b075e8e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/minmod.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_MINMOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_MINMOD_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief minmod generic tag - - Represents the minmod function in generic contexts. - - @par Models: - Hierarchy - **/ - struct minmod_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_minmod_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_minmod_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_minmod_; - } - /*! - Return the minimum of the two entries - if they have the same sign, otherwise 0 - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = minmod(x, y); - @endcode - - is similar to: - - @code - T r = x*y > 0 ? min(x, y) : 0; - @endcode - - @param a0 - @param a1 - - @return a value of the same type as the inputs. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minmod_, minmod, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/minusone.hpp b/inst/include/boost/simd/arithmetic/functions/minusone.hpp deleted file mode 100644 index 1e78b1b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/minusone.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_MINUSONE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_MINUSONE_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief minusone generic tag - - Represents the minusone function in generic contexts. - - @par Models: - Hierarchy - **/ - struct minusone_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_minusone_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_minusone_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_minusone_; - } - /*! - Return the entry minus one, saturated in the entry type. - If @c x is not Nan, @c minusone(x) is always less or equal to x. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = minusone(x); - @endcode - - is similar to: - - @code - T r = x-1 - @endcode - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minusone_, minusone, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/mod.hpp b/inst/include/boost/simd/arithmetic/functions/mod.hpp deleted file mode 100644 index d96e155..0000000 --- a/inst/include/boost/simd/arithmetic/functions/mod.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_MOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_MOD_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief mod generic tag - - Represents the mod function in generic contexts. - - @par Models: - Hierarchy - **/ - struct mod_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mod_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mod_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mod_; - } - /*! - Computes the remainder of division. - The return value is a0-n*a1, where n is the value a0/a1, - truncated to -inf. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = mod(x, y); - @endcode - - The code is similar to: - - @code - T r = x-divfloor(x, y)*y; - @endcode - - @see @funcref{remainder}, @funcref{rem} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mod_, mod, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mod_, remfloor, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/muls.hpp b/inst/include/boost/simd/arithmetic/functions/muls.hpp deleted file mode 100644 index 7e97575..0000000 --- a/inst/include/boost/simd/arithmetic/functions/muls.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_MULS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_MULS_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief muls generic tag - - Represents the muls function in generic contexts. - - @par Models: - Hierarchy - **/ - struct muls_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_muls_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_muls_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_muls_; - } - /*! - Computes the saturated multiplication of the two inputs. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = muls(x, y); - @endcode - - The code is similar to: - - @code - T r = x*y - @endcode - - @par Alias - - saturated_mul - - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::muls_, muls, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::muls_, saturated_mul, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/negs.hpp b/inst/include/boost/simd/arithmetic/functions/negs.hpp deleted file mode 100644 index 95dcfb5..0000000 --- a/inst/include/boost/simd/arithmetic/functions/negs.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_NEGS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_NEGS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief negs generic tag - - Represents the negs function in generic contexts. - - @par Models: - Hierarchy - **/ - struct negs_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_negs_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_negs_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_negs_; - } - /*! - Computes the saturated negation of the input. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = negs(x); - @endcode - - The code is equivalent to: - - @code - T r = -x - @endcode - - @par Note: - For integers types @c negs(Valmin) returns @c Valmax. - - @c negs is not defined for unsigned types. - - @par Alias - - saturated_neg - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::negs_, negs, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::negs_, saturated_neg, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/oneminus.hpp b/inst/include/boost/simd/arithmetic/functions/oneminus.hpp deleted file mode 100644 index f72da71..0000000 --- a/inst/include/boost/simd/arithmetic/functions/oneminus.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_ONEMINUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_ONEMINUS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief oneminus generic tag - - Represents the oneminus function in generic contexts. - - @par Models: - Hierarchy - **/ - struct oneminus_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_oneminus_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_oneminus_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_oneminus_; - } - /*! - Returns the one minus the entry, saturated in the entry type. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = oneminus(x); - @endcode - - For signed type is similar to: - - @code - T r = 1-x - @endcode - - For unsigned type it is equivalent (due to saturation) to: - - @code - T r = x == 0 ? 1 : 0 - @endcode - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::oneminus_, oneminus, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/oneplus.hpp b/inst/include/boost/simd/arithmetic/functions/oneplus.hpp deleted file mode 100644 index 3d68726..0000000 --- a/inst/include/boost/simd/arithmetic/functions/oneplus.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_ONEPLUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_ONEPLUS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief oneplus generic tag - - Represents the oneplus function in generic contexts. - - @par Models: - Hierarchy - **/ - struct oneplus_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_oneplus_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_oneplus_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_oneplus_; - } - /*! - Returns the one plus the entry, saturated in the entry type. - If @c x is not Nan, @c oneplus(x) is greater or equal to x. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = oneplus(x); - @endcode - - The code is similar to: - - @code - T r = 1+x - @endcode - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::oneplus_, oneplus, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/optimize/fma.hpp b/inst/include/boost/simd/arithmetic/functions/optimize/fma.hpp deleted file mode 100644 index f650714..0000000 --- a/inst/include/boost/simd/arithmetic/functions/optimize/fma.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_OPTIMIZE_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_OPTIMIZE_FMA_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fma_ , tag::formal_, (D)(A0)(A1)(A2) - , ((node_ , D>)) - (unspecified_) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2), - fnms(boost::proto::child_c<0>(a0), a1, a2) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( fma_ , tag::formal_, (D)(A0)(A1)(A2) - , (unspecified_) - ((node_ , D>)) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2), - fnms(boost::proto::child_c<0>(a1), a0, a2) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( fma_ , tag::formal_, (D)(A0)(A1)(A2) - , ((node_ , D>)) - ((node_ , D>)) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2), - fma(boost::proto::child_c<0>(a0), boost::proto::child_c<0>(a1), a2) - ) - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/optimize/fms.hpp b/inst/include/boost/simd/arithmetic/functions/optimize/fms.hpp deleted file mode 100644 index cb239c6..0000000 --- a/inst/include/boost/simd/arithmetic/functions/optimize/fms.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_OPTIMIZE_FMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_OPTIMIZE_FMS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fms_ , tag::formal_, (D)(A0)(A1)(A2) - , ((node_ , D>)) - (unspecified_) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2), - fnma(boost::proto::child_c<0>(a0), a1, a2) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( fms_ , tag::formal_, (D)(A0)(A1)(A2) - , (unspecified_) - ((node_ , D>)) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2), - fnma(boost::proto::child_c<0>(a1), a0, a2) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( fms_ , tag::formal_, (D)(A0)(A1)(A2) - , ((node_ , D>)) - ((node_ , D>)) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2), - fms(boost::proto::child_c<0>(a0), boost::proto::child_c<0>(a1), a2) - ) - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/raw_rec.hpp b/inst/include/boost/simd/arithmetic/functions/raw_rec.hpp deleted file mode 100644 index da24018..0000000 --- a/inst/include/boost/simd/arithmetic/functions/raw_rec.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_RAW_REC_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief raw_rec generic tag - - Represents the raw_rec function in generic contexts. - - @par Models: - Hierarchy - **/ - struct raw_rec_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_raw_rec_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_raw_rec_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_raw_rec_; - } - /*! - Computes an rough approximation of the inverse of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = raw_rec(x); - @endcode - - is similar to: - - @code - T r = T(1)/x; - @endcode - - @par Note: - - Raw means that the computation is possibly done with the most speed available - on current hardware but with the least precision. - - @param a0 - - @see funcref{rec} - @see funcref{fast_rec} - - @return a value of the type of the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::raw_rec_, raw_rec, 1) - -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/rec.hpp b/inst/include/boost/simd/arithmetic/functions/rec.hpp deleted file mode 100644 index 5247a24..0000000 --- a/inst/include/boost/simd/arithmetic/functions/rec.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_REC_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief rec generic tag - - Represents the rec function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rec_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rec_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rec_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rec_; - } - /*! - Returns the inverse of the entry. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = rec(x); - @endcode - - The code is similar to: - - @code - T r = T(1)/x; - @endcode - - - @param a0 - - @return a value of the type of the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rec_, rec, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/refine_rec.hpp b/inst/include/boost/simd/arithmetic/functions/refine_rec.hpp deleted file mode 100644 index 215489a..0000000 --- a/inst/include/boost/simd/arithmetic/functions/refine_rec.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_REFINE_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_REFINE_REC_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief refine_rec generic tag - - Represents the refine_rec function in generic contexts. - - @par Models: - Hierarchy - **/ - struct refine_rec_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_refine_rec_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_refine_rec_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_refine_rec_; - } - - /*! - Performs a Newton-Raphson step to improve precision of reciprocate estimate. - This function can be used in conjunction with funcref{raw_rec} or - funcref{fast_rec} to add more precision to the estimate if their default - precision is not enough. - - @param a0 Value for which rec is to be computed - @param a1 Current estimate of rec(a0) - - @see funcref{rec} - - @return A value estimating rec(a0) with twice as much precision - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::refine_rec_, refine_rec, 2) - -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/rem.hpp b/inst/include/boost/simd/arithmetic/functions/rem.hpp deleted file mode 100644 index 5de3f5c..0000000 --- a/inst/include/boost/simd/arithmetic/functions/rem.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_REM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_REM_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief rem generic tag - - Represents the rem function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rem_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rem_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rem_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rem_; - } - /*! - Computes the remainder of division. - The return value is a0-n*a1, where n is the value a0/a1, - rounded toward zero. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = rem(x, y); - @endcode - - For floating point values the code is equivalent to: - - @code - T r = x-divfix(x, y)*y; - @endcode - - @par Alias - - @c fmod, @c remfix - - @see @funcref{remainder}, @funcref{mod} - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rem_, rem, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rem_, fmod, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rem_, remfix, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/remainder.hpp b/inst/include/boost/simd/arithmetic/functions/remainder.hpp deleted file mode 100644 index d032583..0000000 --- a/inst/include/boost/simd/arithmetic/functions/remainder.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_REMAINDER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_REMAINDER_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief remainder generic tag - - Represents the remainder function in generic contexts. - - @par Models: - Hierarchy - **/ - struct remainder_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_remainder_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_remainder_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_remainder_; - } - /*! - Computes the remainder of division. - The return value is a0-n*a1, where n is the value a0/a1, - rounded to the nearest integer (using round2even). - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = remainder(x, y); - @endcode - - For floating point values the code is equivalent to: - - @code - T r = x-divround2even(x, y)*y; - @endcode - - @par Note: - - As r can be negative, @c remainder is not defined for unsigned types. - - @see @funcref{mod}, @funcref{rem} - @par Alias - - @c drem - - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::remainder_, remainder, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::remainder_, drem, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::remainder_, remround2even, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/remquo.hpp b/inst/include/boost/simd/arithmetic/functions/remquo.hpp deleted file mode 100644 index 869d715..0000000 --- a/inst/include/boost/simd/arithmetic/functions/remquo.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_REMQUO_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_REMQUO_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief remquo generic tag - - Represents the remquo function in generic contexts. - - @par Models: - Hierarchy - **/ - struct remquo_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_remquo_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_remquo_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_remquo_; - } - - /*! - @brief Remainder and part of quotient - - remquo computes the remainder and part of the quotient upon division of - @c a0 by @c a1. By design, the value of the remainder is the same as that - computed by the remainder function. The value of the computed quotient has - the sign of @c a0/a1 and agrees with the actual quotient in at least the low - order 3 bits. - - @param a0 Dividend value - @param a1 Divisor value - - @return A Fusion Sequence containing the two remainder and partial quotient - of @c a0/a1 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::remquo_, remquo, 2) - - /*! - @brief Remainder and part of quotient - - remquo computes the remainder and part of the quotient upon division of - @c a0 by @c a1. By design, the value of the remainder is the same as that - computed by the remainder function. The value of the computed quotient has - the sign of @c a0/a1 and agrees with the actual quotient in at least the low - order 3 bits. - - @param a0 Dividend value - @param a1 Divisor value - @param a2 L-Value that will receive the partial quotient of @c a0 - - @return The remainder of @c a0/a1 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::remquo_, remquo - , (A0 const&)(A1 const&)(A2&) - , 3 - ) - - /*! - @brief Remainder and part of quotient - - remquo computes the remainder and part of the quotient upon division of - @c a0 by @c a1. By design, the value of the remainder is the same as that - computed by the remainder function. The value of the computed quotient has - the sign of @c a0/a1 and agrees with the actual quotient in at least the low - order 3 bits. - - @param a0 Dividend value - @param a1 Divisor value - @param a2 L-Value that will receive the remainder of @c a0 - @param a3 L-Value that will receive the partial quotient of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::remquo_, remquo - , (A0 const&)(A1 const&)(A2&)(A3&) - , 4 - ) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/remround.hpp b/inst/include/boost/simd/arithmetic/functions/remround.hpp deleted file mode 100644 index a586fd2..0000000 --- a/inst/include/boost/simd/arithmetic/functions/remround.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_REMROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_REMROUND_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief rem generic tag - - Represents the remround function in generic contexts. - - @par Models: - Hierarchy - **/ - struct remround_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_remround_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_remround_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_remround_; - } - /*! - Computes the remainder of division. - The return value is a0-n*a1, where n is the value a0/a1, - rounded toward infinity. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = remround(x, y); - @endcode - - For floating point values the code is equivalent to: - - @code - T r = x-divround(x, y)*y; - @endcode - - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::remround_, remround, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/round.hpp b/inst/include/boost/simd/arithmetic/functions/round.hpp deleted file mode 100644 index aa2b67f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/round.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//============================================================================== -// Copyright 2015 - J.T. Lapreste -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_ROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_ROUND_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief round generic tag - - Represents the round function in generic contexts. - - @par Models: - Hierarchy - **/ - struct round_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_round_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_round_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_round_; - } - /*! - Computes the rounded to nearest integer away from 0 - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = round(x); - @endcode - - Returns the nearest integer to x. - - @par Note: - - aways from 0 means that half integer values are rounded to the nearest - integer of greatest absolute value - - @param x value to be rounded - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::round_, round, 1) - /*! - round(x,n) rounds aways from 0 to n digits: - - @par semantic: - For any given value @c x of type @c T and integer n : - - @code - T r = round(x, n); - @endcode - - is equivalent to - - @code - T r = round(x*exp10(n)*exp10(-n)); - @endcode - - @par Note: - - n > 0: round to n digits to the right of the decimal point. - - n = 0: round to the nearest integer. - - n < 0: round to n digits to the left of the decimal point. - - aways from 0 means that half integer values are rounded to the nearest - integer of greatest absolute value - - @param x value to be rounded - @param n number of digits - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::round_, round, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/round2even.hpp b/inst/include/boost/simd/arithmetic/functions/round2even.hpp deleted file mode 100644 index 06d9007..0000000 --- a/inst/include/boost/simd/arithmetic/functions/round2even.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief round2even generic tag - - Represents the round2even function in generic contexts. - - @par Models: - Hierarchy - **/ - struct round2even_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_round2even_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_round2even_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_round2even_; - } - /*! - Computes the rounded to even value of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = round2even(x); - @endcode - - Returns the nearest integer to x. - - @par Note: - - to even means that half integer values are rounded to the nearest - even value - - @par Alias: - @c rint - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::round2even_, round2even, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::round2even_, rint, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/rsqrt.hpp deleted file mode 100644 index 43381c3..0000000 --- a/inst/include/boost/simd/arithmetic/functions/rsqrt.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_RSQRT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief rsqrt generic tag - - Represents the rsqrt function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rsqrt_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rsqrt_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rsqrt_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rsqrt_; - } - /*! - Returns the inverse of the square root of the input. - - @par semantic: - - For any given value @c x of floating type @c T: - - @code - T r = rsqrt(x); - @endcode - - For signed type is similar to: - - @code - T r = T(1)/sqrt(x) - @endcode - - - @param a0 - - @return a value of the type of the input. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rsqrt_, rsqrt, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/abs.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/abs.hpp deleted file mode 100644 index b6aef13..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/abs.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_ABS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_unsigned::type utype; - - utype mask = a0 >> (sizeof(result_type)*8 - 1); - return (a0 + mask) ^ mask; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifdef BOOST_SIMD_HAS_FABSF - return ::fabsf(a0); - #else - return (a0 > 0) ? a0 : -a0; - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return ::fabs(a0); - } - }; - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/adds.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/adds.hpp deleted file mode 100644 index d1ceaf9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/adds.hpp +++ /dev/null @@ -1,113 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_ADDS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_ADDS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( adds_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0+a1; - } - }; - - // for int8/int16 - BOOST_DISPATCH_IMPLEMENT ( adds_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type utype; - return static_cast(boost::simd::saturate(utype(a0)+utype(a1))); - } - }; - - // for uint8/uint16 - BOOST_DISPATCH_IMPLEMENT ( adds_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type utype; - return static_cast(boost::simd::min(utype(boost::simd::Valmax()), utype(a0+a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( adds_, tag::cpu_ - , (A0) - , (mpl::bool_) - , (scalar_< int_ >) - (scalar_< int_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_unsigned::type utype; - - utype ux = a0; - utype uy = a1; - utype res = ux + uy; - - ux = (ux >> (sizeof(A0)*CHAR_BIT-1)) + Valmax(); - - if(A0((ux ^ uy) | ~(uy ^ res)) >= Zero()) - res = ux; - - return res; - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( adds_, tag::cpu_ - , (A0) - , (mpl::bool_) - , (scalar_< uint_ >) - (scalar_< uint_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 res = a0 + a1; - res |= -(res < a0); - return res; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/ceil.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/ceil.hpp deleted file mode 100644 index baeb952..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/ceil.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_CEIL_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( ceil_, tag::cpu_, (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifdef BOOST_SIMD_HAS_CEILF - return ::ceilf(a0); - #else - return std::ceil(a0); - #endif - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( ceil_, tag::cpu_, (A0) - , (scalar_< double_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return ::ceil(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/correct_fma.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/correct_fma.hpp deleted file mode 100644 index 8c50221..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/correct_fma.hpp +++ /dev/null @@ -1,115 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_CORRECT_FMA_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( correct_fma_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - (scalar_< single_ >) - (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - return static_cast( static_cast(a0)*static_cast(a1) - + static_cast(a2) - ); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( correct_fma_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - result_type p, rp, s, rs; -#ifndef BOOST_SIMD_DONT_CARE_FMA_OVERFLOW - typedef typename boost::dispatch::meta::as_integer::type iA0; - iA0 e0 = exponent(a0); - iA0 e1 = exponent(a1); - iA0 e = -boost::simd::max(e0, e1)/2; - result_type ae2 = ldexp(a2, e); - bool choose = (e0 > e1); - result_type amax = choose ? ldexp(a0, e) : ldexp(a1, e); - result_type amin = choose ? a1 : a0; - two_prod(amax, amin, p, rp); - two_add(p, ae2, s, rs); - return ldexp(s+(rp+rs), -e); -#else - two_prod(a0, a1, p, rp); - two_add(p, a2, s, rs); - return s+(rp+rs); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( correct_fma_, tag::cpu_ - , (A0) - , (scalar_< int_ >) - (scalar_< int_ >) - (scalar_< int_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - // correct fma has to ensure "no intermediate overflow". - // This is done in the case of signed integers by transtyping to unsigned type - // to perform the computations in a guaranteed 2-complement environment - // since signed integer oveflow in C++ produces "undefined results" - typedef typename dispatch::meta::as_integer::type utype; - return A0(correct_fma(utype(a0), utype(a1), utype(a2))); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( correct_fma_, tag::cpu_ - , (A0) - , (scalar_< uint_ >) - (scalar_< uint_ >) - (scalar_< uint_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - return multiplies(a0, a1)+a2; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/dist.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/dist.hpp deleted file mode 100644 index 2833b0d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/dist.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIST_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIST_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0>a1) ? a0-a1 : a1-a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_ - , (A0) - , (scalar_ >) - (scalar_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::abs(a0 - a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/divceil.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/divceil.hpp deleted file mode 100644 index 48c33ac..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/divceil.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVCEIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divceil_, tag::cpu_ - , (A0) - , (scalar_< int64_ >) - (scalar_< int64_ >) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (!a0) return Zero(); - if(a1) - { - result_type q = a0/a1; - result_type r =a0-q*a1; - if ((r != Zero())&&((a0^a1) >= 0)) return oneplus(q); - return q; - } - else - return ((a0>0) ? Valmax() : Valmin()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divceil_, tag::cpu_ - , (A0) - , (scalar_< signed_ >) - (scalar_< signed_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if(a1) - return static_cast(iceil(static_cast(a0)/static_cast(a1))); - else - return (a0) ? ((a0>0) ? Valmax() : Valmin()) : Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divceil_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if(a1) - { - result_type q = a0/a1; - if (a0-q*a1 != Zero()) return inc(q); - return q; - } - else - return (a0) ? Valmax() : Zero(); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( divceil_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return ceil(a0/a1); } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/divfix.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/divfix.hpp deleted file mode 100644 index 26203dd..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/divfix.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVFIX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divfix_, tag::cpu_ - , (A0) - , (scalar_< signed_ >) - (scalar_< signed_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (!a0) return Zero(); - if(a1) - { - return a0/a1; - } - else - return ((a0>0) ? Valmax() : Valmin()); - - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divfix_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (!a0) return Zero(); - if(a1) - { - return a0/a1; - } - else - return Valmax(); - - } - }; - - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( divfix_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return trunc(a0/a1); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/divfloor.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/divfloor.hpp deleted file mode 100644 index 7e95e69..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/divfloor.hpp +++ /dev/null @@ -1,108 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVFLOOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divfloor_, tag::cpu_ - , (A0) - , (scalar_< int64_ >) - (scalar_< int64_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (!a0) return Zero(); - if(a1) - { - result_type q = divs(a0, a1); - result_type r = a0-q*a1; - if ((r != Zero())&&((a0^a1) <= 0)) return minusone(q); - return q; - } - else - return ((a0>0) ? Valmax() : Valmin()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divfloor_, tag::cpu_ - , (A0) - , (scalar_< signed_ >) - (scalar_< signed_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if(a1) - return static_cast(-iceil(-static_cast(a0)/static_cast(a1))); - else - { - return (a0) ? ((a0>0) ? Valmax() : Valmin()) : Zero(); - } - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divfloor_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if(a1) - return divs(a0, a1); - else - return (a0) ? Valmax() : Zero(); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( divfloor_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::floor(a0/a1); - } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/divround.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/divround.hpp deleted file mode 100644 index a31a844..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/divround.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVROUND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divround_, tag::cpu_ - , (A0) - , (scalar_< int64_ >) - (scalar_< int64_ >) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (!a0) return Zero(); - if(a1) - { - A0 aa0 = abs(a0); - A0 aa1 = abs(a1); - result_type q = aa0/aa1; - result_type r = aa0-q*aa1; - if ((r!= 0) && (r-is_odd(aa1) >= (aa1 >> 1))) ++q; - return copysign(q, a0^a1); - } - else - return ((a0>0) ? Valmax() : Valmin()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divround_, tag::cpu_ - , (A0) - , (scalar_< signed_ >) - (scalar_< signed_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if(a1) - return static_cast(round(static_cast(a0)/static_cast(a1))); - else - { - return (a0) ? ((a0>0) ? Valmax() : Valmin()) : Zero(); - } - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divround_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if(a1) - { - result_type q = a0/a1; - result_type r = a0-q*a1; - if ((r!= 0) && (r-is_odd(a1) >= (a1 >> 1))) ++q; - return q; - } - else - return (a0) ? Valmax() : Zero(); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - BOOST_DISPATCH_IMPLEMENT ( divround_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::round(a0/a1); - } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/divround2even.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/divround2even.hpp deleted file mode 100644 index cd0b648..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/divround2even.hpp +++ /dev/null @@ -1,122 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divround2even_, tag::cpu_ - , (A0) - , (scalar_< int64_ >) - (scalar_< int64_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename boost::dispatch::meta::as_integer::type uitype; - if (!a0) return Zero(); - if(a1) - { - uitype aa0 = abs(a0); - uitype aa1 = abs(a1); - uitype q = aa0/aa1; - uitype rx2 = 2*(aa0-q*aa1); - if (rx2 >= aa1) - { - if ((rx2 == aa1) && is_even(q)) --q; - ++q; - } - return copysign(result_type(q), a0^a1); - } - else - return ((a0>0) ? Valmax() : Valmin()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divround2even_, tag::cpu_ - , (A0) - , (scalar_< signed_ >) - (scalar_< signed_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if(a1) - return static_cast(round2even(static_cast(a0)/static_cast(a1))); - else - { - return (a0) ? ((a0>0) ? Valmax() : Valmin()) : Zero(); - } - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divround2even_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if(a1) - { - result_type q = a0/a1; - result_type rx2 = 2*(a0-q*a1); - if (rx2 >= a1) - { - if ((rx2 == a1) && is_even(q)) --q; - ++q; - } - return q; - } - else - return (a0) ? Valmax() : Zero(); - } - }; - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( divround2even_, tag::cpu_ - , (A0) - , (scalar_< floating_ > ) - (scalar_< floating_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return round2even(a0/a1); - } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/divs.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/divs.hpp deleted file mode 100644 index f6e2829..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/divs.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_DIVS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( divs_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0/a1; - } - }; - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - - BOOST_DISPATCH_IMPLEMENT ( divs_, tag::cpu_ - , (A0) - , (scalar_< int_ >) - (scalar_< int_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_unsigned::type utype; - A0 const aa0 = a0 + !((a1 + One()) | ((utype)a0 + Valmin())); - if (a1) - return aa0/a1; - else if (a0) - return Valmax() + ((utype)a0 >> (sizeof(A0)*CHAR_BIT-1)); - else - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divs_, tag::cpu_ - , (A0) - , (scalar_< uint_ >) - (scalar_< uint_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a1 ? a0/a1 : genmask(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/fast_rsqrt.hpp deleted file mode 100644 index 6581fcd..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/fast_rsqrt.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_FAST_RSQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - typedef typename dispatch::meta::as_integer::type i_t; - - // Quake III Arena RSQRT approximation - i_t x = bitwise_cast(a0); - i_t y = 0x5f3759df - (x >> 1); - - // make negative values be NaN - y |= x >> (sizeof(i_t)*CHAR_BIT-1); - - A0 x2 = a0 * 0.5f; - A0 y2 = bitwise_cast(y); - - // Newton-Rhapson refinement steps: 2 NR steps for precision purpose - y2 = y2 * ( 1.5f - ( x2 * y2 * y2 ) ); - return y2 * ( 1.5f - ( x2 * y2 * y2 ) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - return simd::rsqrt(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/fast_toint.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/fast_toint.hpp deleted file mode 100644 index ea062ae..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/fast_toint.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2014 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_FAST_TOINT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_toint_ - , tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::as_integer ::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return toint(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/fast_trunc.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/fast_trunc.hpp deleted file mode 100644 index 047f6a2..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/fast_trunc.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_FAST_TRUNC_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_trunc_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return a0; } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_trunc_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type iA0; - return A0(iA0(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/floor.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/floor.hpp deleted file mode 100644 index 323c194..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/floor.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_FLOOR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( floor_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifdef BOOST_SIMD_HAS_FLOORF - return ::floorf(a0); - #else - return std::floor(a0); - #endif - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( floor_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return ::floor(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/hypot.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/hypot.hpp deleted file mode 100644 index 81e5eb3..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/hypot.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_HYPOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_INVALIDS -#include -#include -#include -#endif - - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hypot_, tag::cpu_ - , (A0) - , ((scalar_ >)) - ((scalar_ >)) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_integer::type iA0; - #ifndef BOOST_SIMD_NO_INVALIDS - if (is_nan(a0) && is_inf(a1)) return Inf(); - if (is_inf(a0) && is_nan(a1)) return Inf(); - #endif - A0 r = boost::simd::abs(a0); - A0 i = boost::simd::abs(a1); - iA0 e = exponent(boost::simd::max(i, r)); - e = boost::simd::min(boost::simd::max(e,Minexponent()),Maxexponentm1()); - return ldexp(sqrt(sqr(ldexp(r, -e))+sqr(ldexp(i, -e))), e); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/iround2even.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/iround2even.hpp deleted file mode 100644 index a151699..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/iround2even.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( iround2even_, tag::cpu_ - , (A0) - , ((scalar_ >)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifndef BOOST_SIMD_NO_NANS - if (boost::simd::is_nan(a0)) return Zero(); - #endif - if (a0 >= Valmax()) return Valmax(); - if (a0 <= Valmin()) return Valmin(); - return fast_iround2even(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/logical_xor.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/logical_xor.hpp deleted file mode 100644 index 190b9d2..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/logical_xor.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_LOGICAL_XOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_LOGICAL_XOR_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_xor_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,A0 a1) const - { - return result_type( !a0 != !a1 ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/max.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/max.hpp deleted file mode 100644 index 8911e8b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/max.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_MAX_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0, A0 a1) const - { - return (a0 > a1) ? a0 : a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_ - , (A0)(A1) - , (mpl_integral_< scalar_< fundamental_ > >) - (scalar_< arithmetic_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 a1) const - { - return (A0::value > a1) ? A0::value : a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (mpl_integral_< scalar_< fundamental_ > >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&) const - { - return (a0 > A1::value) ? a0 : A1::value; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_ - , (A0)(A1) - , (mpl_integral_< scalar_< fundamental_ > >) - (mpl_integral_< scalar_< fundamental_ > >) - ) - { - typedef typename boost::mpl::max::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const&) const - { - return result_type(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/min.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/min.hpp deleted file mode 100644 index e4ce925..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/min.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_MIN_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A0 a1) const - { - return (a0 < a1) ? a0 : a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/minmod.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/minmod.hpp deleted file mode 100644 index d49ed6a..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/minmod.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_MINMOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_MINMOD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minmod_, tag::cpu_ - , (A0) - , (scalar_< int_ >) - (scalar_< int_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return is_gez(b_xor(a0, a1)) ? boost::simd::min(a0, a1): Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minmod_, tag::cpu_ - , (A0) - , (scalar_< uint_ >) - (scalar_< uint_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::min(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minmod_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return is_nltz(a0*a1) ? boost::simd::min(a0,a1) : Zero(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/muls.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/muls.hpp deleted file mode 100644 index 6a57d51..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/muls.hpp +++ /dev/null @@ -1,147 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_MULS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_MULS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( muls_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0*a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( muls_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >)(scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type utype; - utype res = utype(a0)*utype(a1); - return static_cast(res) | genmask(static_cast(res >> sizeof(A0)*CHAR_BIT)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( muls_, tag::cpu_ - , (A0) - , (scalar_< integer_ >)(scalar_< integer_ >) - ) - { - - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type uptype; - return A0(saturate(static_cast(a0)*static_cast(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( muls_, tag::cpu_ - , (A0) - , (scalar_< int32_ >)(scalar_< int32_ >) - ) - { - - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_unsigned::type untype; - typedef typename dispatch::meta::upgrade::type utype; - - utype res = utype(a0)*utype(a1); - untype res2 = (untype(a0 ^ a1) >> (sizeof(A0)*CHAR_BIT-1)) + Valmax(); - - A0 hi = (res >> sizeof(A0)*CHAR_BIT); - A0 lo = res; - - if(hi != (lo >> (sizeof(A0)*CHAR_BIT-1))) - res = res2; - - return res; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( muls_, tag::cpu_ - , (A0) - , (scalar_< uint64_ >)(scalar_< uint64_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (a1 == 0 || a0 == 0) return Zero(); - if (a1 >= a0) - return aux(a0, a1); - else - return aux(a1, a0); - } - private : - static BOOST_FORCEINLINE A0 aux(const A0& mini, const A0& maxi) - { - A0 z = Valmax()/maxi; - return (z < mini) ? Valmax() : mini*maxi; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( muls_, tag::cpu_ - , (A0) - , (scalar_< int64_ >)(scalar_< int64_ >) - ) - { - typedef A0 result_type; - typedef typename dispatch::meta::as_unsigned::type untype; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (a1 == 0 || a0 == 0) return Zero(); - result_type sign = b_xor(bitofsign(a0), bitofsign(a1)); - untype aa0 = boost::simd::abs(a0); - untype aa1 = boost::simd::abs(a1); - if (aa1 >= aa0) - return aux(a0, a1, sign, aa0, aa1); - else - return aux(a1, a0, sign, aa1, aa0); - } - private : - static BOOST_FORCEINLINE A0 aux(const A0& mini, const A0& maxi, - const A0& sign, - const untype& amini, const untype& amaxi) - { - untype z = Valmax()/amaxi; - return (z < amini) - ? ( sign ? Valmin():Valmax()) - : mini*maxi; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/negs.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/negs.hpp deleted file mode 100644 index ec9b62c..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/negs.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_NEGS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_NEGS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( negs_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0 == Valmin() ? Valmax() : unary_minus(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( negs_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return unary_minus(a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/rec.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/rec.hpp deleted file mode 100644 index fcc6c23..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/rec.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_REC_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - - BOOST_DISPATCH_IMPLEMENT ( rec_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - return One()/a0; - } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/rem.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/rem.hpp deleted file mode 100644 index 523f813..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/rem.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_REM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_REM_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rem_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a1 ? a0%a1 : a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rem_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a1 ? a0-a1*idivfix(a0,a1) : a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/round.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/round.hpp deleted file mode 100644 index de802e2..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/round.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2015 - J.T. Lapreste -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_ROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_ROUND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { -#ifdef BOOST_SIMD_HAS_ROUNDF - return ::roundf(a0); -#else - const result_type v = simd::abs(a0); - if (!(v <= Maxflint())) - return a0; - result_type c = boost::simd::ceil(v); - return copysign(seldec(c-Half() > v, c), a0); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { -#ifdef BOOST_SIMD_HAS_ROUND - return ::round(a0); -#else - const result_type v = simd::abs(a0); - if (!(v <= Maxflint())) - return a0; - result_type c = boost::simd::ceil(v); - return copysign(seldec(c-Half() > v, c), a0); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type itype; - A0 fac = tenpower(itype(a1)); - A0 tmp = round(a0*fac)/fac; - return is_ltz(a1) ? round(tmp) : tmp; - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/round2even.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/round2even.hpp deleted file mode 100644 index 847b824..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/round2even.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_ROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( round2even_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - boost::simd::config::enforce_precision enforcer; - - const result_type v = boost::simd::abs(a0); - const result_type t2n = boost::simd::Twotonmb(); - result_type d0 = (v+t2n); - result_type d = (d0-t2n); - d = (v < t2n)?d:v; - return a0 < Zero() ? -d : d; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round2even_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/sqrs.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/sqrs.hpp deleted file mode 100644 index fcda349..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/sqrs.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SQRS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SQRS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sqrs_, tag::cpu_ - , (A0) - , (scalar_< int_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return abss(a0) > boost::simd::Sqrtvalmax() ? boost::simd::Valmax() : sqr(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrs_, tag::cpu_ - , (A0) - , (scalar_< uint_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0 > boost::simd::Sqrtvalmax() ? boost::simd::Valmax() : sqr(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrs_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return sqr(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/sqrt.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/sqrt.hpp deleted file mode 100644 index a4cb2bf..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/sqrt.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sqrt_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - typedef typename boost::dispatch::meta::as_floating::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return ::sqrt(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifdef BOOST_SIMD_HAS_SQRTF - return ::sqrtf(a0); - #else - return std::sqrt(a0); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(is_gez(a0), "sqrt input is negative"); - - return A0(sqrt(double(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_iround2even.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_iround2even.hpp deleted file mode 100644 index 4e6c1be..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_iround2even.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_FAST_IROUND2EVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_iround2even_, boost::simd::tag::sse2_ - , (A0) - , (scalar_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_cvtss_si32(_mm_load_ss(&a0)); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_rec.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_rec.hpp deleted file mode 100644 index 8ae72a4..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_rec.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_FAST_REC_HPP_INCLUDED -#if defined(BOOST_SIMD_HAS_SSE2_SUPPORT) - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_rec_ - , boost::simd::tag::sse_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - return refine_rec(a0, raw_rec( a0 )); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_rec_ - , boost::simd::tag::sse_ - , (A0) - , (scalar_< double_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - float x = a0; - double e = static_cast(raw_rec( x )); - e = refine_rec(a0, e); - - return refine_rec(a0, e); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_rsqrt.hpp deleted file mode 100644 index 8b49892..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_rsqrt.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_FAST_RSQRT_HPP_INCLUDED -#if defined(BOOST_SIMD_HAS_SSE2_SUPPORT) - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , boost::simd::tag::sse_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(float a0) const - { - float r; - _mm_store_ss( &r, _mm_rsqrt_ss( _mm_load_ss( &a0 ) ) ); - return r * (( 3.f - (r * r) * a0) * 0.5f); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , boost::simd::tag::sse_ - , (A0) - , (scalar_< double_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(double a0) const - { - float arg = a0; - _mm_store_ss( & arg, _mm_rsqrt_ss( _mm_load_ss( & arg ) ) ); - - double r = arg; - - r *= ((3.0 - (r * r) * a0) * 0.5); - r *= ((3.0 - (r * r) * a0) * 0.5); - - return r; - } - }; -} } } - -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_trunc.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_trunc.hpp deleted file mode 100644 index 11055b8..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/sse/fast_trunc.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_FAST_TRUNC_HPP_INCLUDED - -#if defined(BOOST_SIMD_HAS_SSE2_SUPPORT) -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_trunc_ - , boost::simd::tag::sse_ - , (A0) - , (scalar_< single_ >) - ) - { - - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - return result_type(_mm_cvttss_si32(_mm_set_ss(a0))); - } - }; - - -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/sse/raw_rec.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/sse/raw_rec.hpp deleted file mode 100644 index 53aa97e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/sse/raw_rec.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_RAW_REC_HPP_INCLUDED -#if defined(BOOST_SIMD_HAS_SSE2_SUPPORT) - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( raw_rec_ - , boost::simd::tag::sse_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - float inv; - _mm_store_ss( &inv, _mm_rcp_ss( _mm_load_ss( &a0 ) ) ); - - return inv; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/sse/trunc.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/sse/trunc.hpp deleted file mode 100644 index 4bd1966..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/sse/trunc.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SSE_TRUNC_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( trunc_ - , boost::simd::tag::sse_ - , (A0) - , (scalar_< single_ >) - ) - { - - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - if (!(abs(a0) <= Maxflint())) - return a0; - return result_type(_mm_cvttss_si32(_mm_set_ss(a0))); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/subs.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/subs.hpp deleted file mode 100644 index ecdd0b0..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/subs.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SUBS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_SUBS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( subs_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0-a1; - } - }; - - // for int8/int16 - BOOST_DISPATCH_IMPLEMENT ( subs_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type utype; - typedef typename dispatch::meta::as_signed::type stype; - return static_cast(boost::simd::saturate(stype(a0)-stype(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( subs_, tag::cpu_ - , (A0) - , (mpl::bool_) - , (scalar_< uint_ >) - (scalar_< uint_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 res = a0 - a1; - res &= -(res <= a0); - - return res; - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( subs_, tag::cpu_ - , (A0) - , (mpl::bool_) - , (scalar_ >) - (scalar_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_unsigned::type utype; - - utype ux = a0; - utype uy = a1; - utype res = ux - uy; - - ux = (ux >> (sizeof(A0)*CHAR_BIT-1)) + Valmax(); - - if(A0((ux ^ uy) & (ux ^ res)) < Zero()) - res = ux; - - return res; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/tenpower.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/tenpower.hpp deleted file mode 100644 index 191ad0c..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/tenpower.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2015 - J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TENPOWER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TENPOWER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tenpower_, tag::cpu_ - , (A0) - , (scalar_< int_ >) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 exp) const - { - result_type result = One(); - result_type base = Ten(); - bool neg = exp < 0; - exp = boost::simd::abs(exp); - while(exp) - { - if (is_odd(exp)) result *= base; - exp >>= 1; - base = sqr(base); - } - return neg ? rec(result) : result; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tenpower_, tag::cpu_ - , (A0) - , (scalar_< uint_ >) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 exp) const - { - result_type result = One(); - result_type base = Ten(); - while(exp) - { - if (is_odd(exp)) result *= base; - exp >>= 1; - base = sqr(base); - } - return result; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/tofloat.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/tofloat.hpp deleted file mode 100644 index 9bc7dc9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/tofloat.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOFLOAT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tofloat_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename boost::dispatch::meta::as_floating::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return static_cast(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tofloat_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/toint.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/toint.hpp deleted file mode 100644 index ff0d9da..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/toint.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOINT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( toint_, tag::cpu_ - , (A0) - , (scalar_< int_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( toint_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename dispatch::meta::as_integer ::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( toint_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer ::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/toints.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/toints.hpp deleted file mode 100644 index ced5e9b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/toints.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOINTS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( toints_, tag::cpu_ - , (A0) - , (scalar_< int_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( toints_, tag::cpu_ - , (A0) - , (scalar_< uint_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(saturate(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( toints_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifndef BOOST_SIMD_NO_NANS - if (boost::simd::is_nan(a0)) return Zero(); - #endif - if (a0 >= Valmax()) return Valmax(); - if (a0 <= Valmin()) return Valmin(); - return result_type(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/touint.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/touint.hpp deleted file mode 100644 index 6475110..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/touint.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOUINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOUINT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( touint_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - typedef typename dispatch::meta::as_integer ::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( touint_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer ::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/touints.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/touints.hpp deleted file mode 100644 index 9339523..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/touints.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TOUINTS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( touints_, tag::cpu_ - , (A0) - , (scalar_< int_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(saturate(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( touints_, tag::cpu_ - , (A0) - , (scalar_< uint_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( touints_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - if (is_ngez(a0)) - return Zero(); - - if (a0 >= boost::simd::Valmax()) - return boost::simd::Valmax(); - - return result_type(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/trunc.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/trunc.hpp deleted file mode 100644 index d3a0cf2..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/trunc.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_TRUNC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( trunc_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return a0; } - }; - - BOOST_DISPATCH_IMPLEMENT ( trunc_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return b_or(floor(abs(a0)), bitofsign(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/scalar/vmx/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/scalar/vmx/fast_rsqrt.hpp deleted file mode 100644 index 3e5b874..0000000 --- a/inst/include/boost/simd/arithmetic/functions/scalar/vmx/fast_rsqrt.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_VMX_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SCALAR_VMX_FAST_RSQRT_HPP_INCLUDED -#if defined(BOOST_SIMD_HAS_VMX_SUPPORT) - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , boost::simd::tag::vmx_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(float a0) const - { - float r; - __asm__ ("frsqrte %0, %1" - : "=f" (r) - : "f" (a0) - ); - - r *= ((3.0f - (r * r) * a0) * 0.5f); - r *= ((3.0f - (r * r) * a0) * 0.5f); - - return r; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , boost::simd::tag::vmx_ - , (A0) - , (scalar_< double_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(double a0) const - { - double r; - __asm__ ("frsqrte %0, %1" - : "=f" (r) - : "f" (a0) - ); - - r *= ((3.0f - (r * r) * a0) * 0.5f); - r *= ((3.0f - (r * r) * a0) * 0.5f); - r *= ((3.0f - (r * r) * a0) * 0.5f); - - return r; - } - }; -} } } - -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/abs.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/abs.hpp deleted file mode 100644 index 8a52df7..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/abs.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_ABS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type int_type; - typedef typename meta::scalar_of::type sint_type; - result_type const s = a0 >> Maxleftshift(); - return (a0+s)^s; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return a0; } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return bitwise_notand(Mzero(),a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/adds.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/adds.hpp deleted file mode 100644 index 43f5adb..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/adds.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_ADDS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_ADDS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( adds_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0+a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( adds_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 a0pa1 = a0+a1; - return a0pa1 | genmask(a0pa1 < a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( adds_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_unsigned::type utype; - typedef typename meta::scalar_of::type stype; - - utype ux = bitwise_cast(a0); - utype uy = bitwise_cast(a1); - utype res = ux + uy; - - ux = shift_right(ux, sizeof(stype)*CHAR_BIT-1) + static_cast::type>(Valmax()); - - return bitwise_cast(if_else(bitwise_cast((ux ^ uy) | ~(uy ^ res)) >= Zero(), ux, res)); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/ceil.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/ceil.hpp deleted file mode 100644 index 7de1b1a..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/ceil.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_CEIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ceil_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - const A0 d0 = round2even(a0); - return seladd(lt(d0,a0),d0,One()); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/correct_fma.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/correct_fma.hpp deleted file mode 100644 index 664113f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/correct_fma.hpp +++ /dev/null @@ -1,123 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_CORRECT_FMA_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_DONT_CARE_FMA_OVERFLOW -#include -#include -#include -#include -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT_IF ( correct_fma_, tag::cpu_ - , (A0)(X) - , ( simd::meta::is_upgradable_on_ext ) - , ((simd_,X>)) - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h, a2l, a2h; - split(a0, a0l, a0h); - split(a1, a1l, a1h); - split(a2, a2l, a2h); - return group(a0l*a1l+a2l, a0h*a1h+a2h); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( correct_fma_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - result_type p, rp, s, rs; -#ifndef BOOST_SIMD_DONT_CARE_FMA_OVERFLOW - typedef typename boost::dispatch::meta::as_integer::type iA0; - result_type amax = maxmag(a0, a1); - result_type amin = minmag(a0, a1); - iA0 e0 = -shift_right(exponent(amax), 1); - amax = ldexp(amax, e0); - result_type a02 = ldexp(a2, e0); - two_prod(amax, amin, p, rp); - two_add(p, a02, s, rs); - return ldexp(s+(rp+rs), -e0); -#else - two_prod(a0, a1, p, rp); - two_add(p, a2, s, rs); - return s+(rp+rs); -#endif - - } - }; - - BOOST_DISPATCH_IMPLEMENT ( correct_fma_, tag::cpu_ - , (A0)(X) - , ((simd_< int_,X >)) - ((simd_< int_,X >)) - ((simd_< int_,X >)) - ) - { - typedef A0 result_type; - typedef typename dispatch::meta::as_integer::type utype; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - // correct fma has to ensure "no intermediate overflow". - // This is done in the case of signed integers by transtyping to unsigned type - // to perform the computations in a guaranteed 2-complement environment - // since signed integer oveflow in C++ produces "undefined results" - return bitwise_cast(correct_fma(bitwise_cast(a0), bitwise_cast(a1), bitwise_cast(a2))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( correct_fma_, tag::cpu_ - , (A0)(X) - , ((simd_< uint_,X >)) - ((simd_< uint_,X >)) - ((simd_< uint_,X >)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - return a0*a1+a2; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/dist.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/dist.hpp deleted file mode 100644 index 545ea88..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/dist.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIST_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::max(a0, a1) - boost::simd::min(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::abs(a0 - a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/divceil.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/divceil.hpp deleted file mode 100644 index 76487b8..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/divceil.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVCEIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT_IF ( divceil_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_< int_, X>)) - ((simd_< int_, X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = toints(divceil(tofloat(a0l), tofloat(a1l))); - ivtype d1 = toints(divceil(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( divceil_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_< uint_, X>)) - ((simd_< uint_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = touints(divceil(tofloat(a0l), tofloat(a1l))); - ivtype d1 = touints(divceil(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divceil_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h); - boost::simd::split(a1, a1l, a1h); - ivtype d0 = divceil(a0l, a1l); - ivtype d1 = divceil(a0h, a1h); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divceil_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::ceil(a0/a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/divfix.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/divfix.hpp deleted file mode 100644 index 125bc1f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/divfix.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVFIX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( divfix_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_< int_, X>)) - ((simd_< int_, X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = toints(divfix(tofloat(a0l), tofloat(a1l))); - ivtype d1 = toints(divfix(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( divfix_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = touints(divfix(tofloat(a0l), tofloat(a1l))); - ivtype d1 = touints(divfix(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divfix_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = divfix(a0l, a1l); - ivtype d1 = divfix(a0h, a1h); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divfix_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::trunc(a0/a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/divfloor.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/divfloor.hpp deleted file mode 100644 index 440fa58..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/divfloor.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVFLOOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( divfloor_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_< int_, X>)) - ((simd_< int_, X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = toints(divfloor(tofloat(a0l), tofloat(a1l))); - ivtype d1 = toints(divfloor(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( divfloor_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_< uint_, X>)) - ((simd_< uint_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = touints(divfloor(tofloat(a0l), tofloat(a1l))); - ivtype d1 = touints(divfloor(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divfloor_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h); - boost::simd::split(a1, a1l, a1h); - ivtype d0 = divfloor(a0l, a1l); - ivtype d1 = divfloor(a0h, a1h); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divfloor_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::floor(a0/a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/divround.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/divround.hpp deleted file mode 100644 index 28d0bed..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/divround.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVROUND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( divround_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_< int_, X>)) - ((simd_< int_, X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = toints(divround(tofloat(a0l), tofloat(a1l))); - ivtype d1 = toints(divround(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( divround_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_< uint_, X>)) - ((simd_< uint_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = touints(divround(tofloat(a0l), tofloat(a1l))); - ivtype d1 = touints(divround(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divround_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h); - boost::simd::split(a1, a1l, a1h); - ivtype d0 = divround(a0l, a1l); - ivtype d1 = divround(a0h, a1h); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divround_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return simd::round(a0/a1); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/divround2even.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/divround2even.hpp deleted file mode 100644 index cc374de..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/divround2even.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( divround2even_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_< int_, X>)) - ((simd_< int_, X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = toints(divround2even(tofloat(a0l), tofloat(a1l))); - ivtype d1 = toints(divround2even(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( divround2even_, tag::cpu_, (A0)(X) - , (simd::meta::is_upgradable_as_real_on_ext) - , ((simd_< uint_, X>)) - ((simd_< uint_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h ); - boost::simd::split(a1, a1l, a1h ); - ivtype d0 = touints(divround2even(tofloat(a0l), tofloat(a1l))); - ivtype d1 = touints(divround2even(tofloat(a0h), tofloat(a1h))); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divround2even_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type ivtype; - ivtype a0l, a0h, a1l, a1h; - boost::simd::split(a0, a0l, a0h); - boost::simd::split(a1, a1l, a1h); - ivtype d0 = divround2even(a0l, a1l); - ivtype d1 = divround2even(a0h, a1h); - return groups(d0, d1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divround2even_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::round2even(a0/a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/divs.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/divs.hpp deleted file mode 100644 index fbd6383..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/divs.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_DIVS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// perhaps divs for signed integral types must invoke correct Valmin entry and invoke divfix -// also call simply divfix for unsigned -// also rdivide has to be defined as divs for float and as divfix for integers -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divs_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0/a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divs_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_logical::type bA0; - - - const bA0 iseqza1 = is_eqz(a1); - const A0 aa1 = if_else(iseqza1, One(), a1); - const A0 aa0 = if_else(iseqza1, genmask(a0), a0); - return aa0/aa1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divs_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_logical::type bA0; - typedef typename meta::scalar_of::type sA0; - - const bA0 iseqza1 = is_eqz(a1); - - // replace valmin/-1 by (valmin+1)/-1 - A0 x = a0 + if_zero_else_one((a1 + One()) | (a0 + Valmin())); - // negative -> valmin - // positive -> valmax - const A0 x2 = bitwise_xor(Valmax(), shrai(x, sizeof(sA0)*CHAR_BIT-1)); - - x = if_else(logical_and(iseqza1, is_nez(x)), x2, x); - const A0 y = if_else(iseqza1, One(), a1); - return x/y; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_rec.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/fast_rec.hpp deleted file mode 100644 index a3cca5e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_rec.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_REC_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // Single precision fast_rec is computable from the raw_rec + 1 NR step - BOOST_DISPATCH_IMPLEMENT ( fast_rec_, tag::cpu_ - , (A0)(X) - , ((simd_< single_, X >)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return refine_rec(a0, raw_rec( a0 )); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/fast_rsqrt.hpp deleted file mode 100644 index 214b205..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_rsqrt.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_RSQRT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , boost::simd::tag::simd_ - , (A0)(X) - , ((simd_< double_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return rsqrt(a0); - } - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_sqrt.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/fast_sqrt.hpp deleted file mode 100644 index 7b2c9d8..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_sqrt.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_SQRT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_sqrt_ - , boost::simd::tag::simd_ - , (A0)(X) - , ((simd_< double_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return sqrt(a0); - } - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_toint.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/fast_toint.hpp deleted file mode 100644 index 776e02d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_toint.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_TOINT_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_toint_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer ::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return toint(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_trunc.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/fast_trunc.hpp deleted file mode 100644 index 35b1289..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/fast_trunc.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FAST_TRUNC_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_trunc_, tag::cpu_,(A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_trunc_, tag::cpu_,(A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return tofloat(toint(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/floor.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/floor.hpp deleted file mode 100644 index 082e668..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/floor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_FLOOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( floor_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - const A0 d0 = round2even(a0); - return selsub(gt(d0,a0),d0,One()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/hypot.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/hypot.hpp deleted file mode 100644 index ab39e4a..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/hypot.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_HYPOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_INVALIDS -#include -#include -#include -#include -#include -#include -#include -#endif - - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hypot_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_integer::type iA0; - result_type r = boost::simd::abs(a0); - result_type i = boost::simd::abs(a1); - iA0 e = exponent(boost::simd::max(i, r)); - e = boost::simd::min(boost::simd::max(e,Minexponent()),Maxexponentm1()); - result_type res = ldexp(sqrt(sqr(ldexp(r, -e))+sqr(ldexp(i, -e))), e); - #ifndef BOOST_SIMD_NO_INVALIDS - typedef typename meta::as_logical::type lA0; - lA0 test = logical_or(logical_and(is_nan(a0), is_inf(a1)), - logical_and(is_nan(a1), is_inf(a0))); - return if_else(test, Inf(), res); - #else - return res; - #endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/iround2even.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/iround2even.hpp deleted file mode 100644 index 8a63da0..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/iround2even.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_NANS -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( iround2even_, tag::cpu_ - , (A0)(X) - , ((simd_, X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type sr_t; - static const A0 Vax = splat(boost::simd::Valmax()); - static const A0 Vix = splat(boost::simd::Valmin()); - #ifndef BOOST_SIMD_NO_NANS - A0 aa0 = if_zero_else(is_nan(a0), a0); - return if_else(boost::simd::lt(aa0, Vix), Valmin(), - if_else(boost::simd::gt(aa0, Vax), Valmax(), - fast_iround2even(aa0) - ) - ); - #else - return if_else(boost::simd::lt(a0, Vix), Valmin(), - if_else(boost::simd::gt(a0, Vax), Valmax(), - fast_iround2even(a0) - ) - ); - #endif - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/logical_xor.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/logical_xor.hpp deleted file mode 100644 index eed6e15..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/logical_xor.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_LOGICAL_XOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_LOGICAL_XOR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_xor_, tag::cpu_, (A0)(A1)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return mask2logical(b_xor(genmask(a0), genmask(a1))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/max.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/max.hpp deleted file mode 100644 index 286436b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/max.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_MAX_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return if_else(gt(a0, a1), a0, a1); - } - }; - -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/min.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/min.hpp deleted file mode 100644 index c487ecb..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/min.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_MIN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return if_else(lt(a0, a1), a0, a1); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/minmod.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/minmod.hpp deleted file mode 100644 index dc78e4e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/minmod.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_MINMOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_MINMOD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minmod_, tag::cpu_ - , (A0)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return if_else_zero(is_gez(b_xor(a0, a1)),boost::simd::min(a0, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minmod_, tag::cpu_ - , (A0)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::min(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minmod_, tag::cpu_ - , (A0)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return if_else_zero(is_nltz((a0*a1)),boost::simd::min(a0, a1)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/muls.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/muls.hpp deleted file mode 100644 index 709ab4c..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/muls.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_MULS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_MULS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( muls_, tag::cpu_ - , (A0)(X) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0*a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( muls_, tag::cpu_ - , (A0)(X) - , ( simd::meta::is_upgradable_on_ext ) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type utype; - - utype res0, res1; - split_multiplies(a0, a1, res0, res1); - return groups(res0, res1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/negs.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/negs.hpp deleted file mode 100644 index 38a165f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/negs.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_NEGS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_NEGS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( negs_, tag::cpu_ - , (A0)(X) - , ((simd_, X >)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_else(eq(a0, Valmin()),Valmax(),unary_minus(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( negs_, tag::cpu_ - , (A0)(X) - , ((simd_, X >)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return unary_minus(a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/rec.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/rec.hpp deleted file mode 100644 index 7f025a9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/rec.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_REC_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rec_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_else_allbits(a0, if_one_else_zero(a0 == One())); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rec_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_else(a0, if_else_zero(abs(a0) == One(), a0), Valmax()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rec_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return One()/a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/rem.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/rem.hpp deleted file mode 100644 index 5b4660c..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/rem.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_REM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_REM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rem_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return selsub(is_nez(a1), a0, idivfix(a0,a1)*a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rem_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return if_nan_else(is_invalid(a1), - selsub(is_nez(a1), a0, divfix(a0,a1)*a1)); - - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/round.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/round.hpp deleted file mode 100644 index f101b43..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/round.hpp +++ /dev/null @@ -1,106 +0,0 @@ -//============================================================================== -// Copyright 2015 - J.T. Lapreste -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_ROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_ROUND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round_, boost::simd::tag::simd_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type absa0 = boost::simd::abs(a0); - result_type c = boost::simd::ceil(absa0); - return copysign(seldec(gt(c-Half(), absa0), c), a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF( round_, boost::simd::tag::simd_ - , (A0)(X)(A1) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - >) - , ((simd_< floating_,X>)) - ((simd_< integer_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - A0 fac = tenpower(a1); - A0 tmp1 = round(a0*fac)/fac; - return if_else(is_ltz(a1), round(tmp1), tmp1); - } - }; - - BOOST_DISPATCH_IMPLEMENT( round_, boost::simd::tag::cpu_ - , (A0)(X)(A1) - , ((simd_< floating_,X>)) - (scalar_< unsigned_>) - ) - { - typedef A0 result_type; - typedef typename dispatch::meta::as_integer::type itype_t; - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1 const & a1) const - { - return round(a0, splat(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT( round_, boost::simd::tag::cpu_ - , (A0)(X)(A1) - , ((simd_< floating_,X>)) - (scalar_< integer_>) - ) - { - typedef A0 result_type; - typedef typename dispatch::meta::as_integer::type itype_t; - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1 const & a1) const - { - return round(a0, splat(a1)); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/round2even.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/round2even.hpp deleted file mode 100644 index dba3553..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/round2even.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_ROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( round2even_ - , tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round2even_ - , boost::simd::tag::simd_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - const result_type s = bitofsign(a0); - const result_type v = a0 ^ s; - const result_type t2n = boost::simd::Twotonmb(); - const result_type d0 = v+t2n; - const result_type d = d0-t2n; - const result_type d1 = if_else(lt(v,t2n),d,v); - return (d1^s); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/sqrs.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/sqrs.hpp deleted file mode 100644 index e0d2aa5..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/sqrs.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NUMSCALE SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_SQRS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_SQRS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef USE_UBSAN -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sqrs_, tag::cpu_ - , (A0)(X) - , ((simd_< int_, X >)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { -// workaround for UBSan -#ifdef USE_UBSAN - typedef typename boost::dispatch::meta::as_unsigned::type utype; - return if_else(gt(abss(a0), boost::simd::Sqrtvalmax()), - boost::simd::Valmax(), bitwise_cast(sqr(bitwise_cast(a0)))); -#else - return if_else(gt(abss(a0), boost::simd::Sqrtvalmax()), - boost::simd::Valmax(), sqr(a0)); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrs_, tag::cpu_ - , (A0)(X) - , ((simd_< uint_, X >)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_else(gt(a0, boost::simd::Sqrtvalmax()), - boost::simd::Valmax(), sqr(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrs_, tag::cpu_ - , (A0)(X) - , ((simd_< floating_, X >)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return sqr(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/subs.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/subs.hpp deleted file mode 100644 index 9eb65e1..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/subs.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_SUBS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_SUBS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( subs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0-a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( subs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 a0ma1 = a0-a1; - return if_else_zero(le(a0ma1, a0), a0ma1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( subs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_unsigned::type utype; - typedef typename meta::scalar_of::type stype; - - utype ux = bitwise_cast(a0); - utype uy = bitwise_cast(a1); - utype res = ux - uy; - - ux = shri(ux, sizeof(stype)*CHAR_BIT-1) + static_cast::type>(Valmax()); - - return bitwise_cast(if_else(bitwise_cast((ux ^ uy) & (ux ^ res)) < Zero(), ux, res)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/tenpower.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/tenpower.hpp deleted file mode 100644 index 9d9fc77..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/tenpower.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TENPOWER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TENPOWER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF( tenpower_, tag::cpu_ - , (A0)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of::type> - >) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type result = One(); - result_type base = Ten(); - A0 exp = boost::simd::abs(a0); - while(any(exp)) - { - result *= if_else(is_odd(exp), base, One()); - exp >>= 1; - base = sqr(base); - } - return if_else(is_ltz(a0), rec(result), result); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF( tenpower_, tag::cpu_ - , (A0)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of::type> - >) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type result = One(); - result_type base = Ten(); - A0 exp = a0; - while(any(exp)) - { - result *= if_else(is_odd(exp), base, One()); - exp >>= 1; - base = sqr(base); - } - return result; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/tofloat.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/tofloat.hpp deleted file mode 100644 index bfee54b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/tofloat.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOFLOAT_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tofloat_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/toint.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/toint.hpp deleted file mode 100644 index 1b414cc..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/toint.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOINT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( toint_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer ::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( toint_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/toints.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/toints.hpp deleted file mode 100644 index dc626ef..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/toints.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOINTS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_NANS -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( toints_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(saturate(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( toints_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( toints_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type sr_t; - const A0 Vax = splat(boost::simd::Valmax()); - const A0 Vix = splat(boost::simd::Valmin()); - #ifndef BOOST_SIMD_NO_NANS - A0 aa0 = if_zero_else(is_nan(a0), a0); - return if_else(boost::simd::le(aa0, Vix), Valmin(), - if_else(boost::simd::ge(aa0, Vax), Valmax(), - toint(aa0) - ) - ); - #else - return if_else(boost::simd::le(a0, Vix), Valmin(), - if_else(boost::simd::ge(a0, Vax), Valmax(), - toint(a0) - ) - ); - #endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/touint.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/touint.hpp deleted file mode 100644 index c36f2ba..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/touint.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOUINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOUINT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( touint_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer ::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0) const - { - return bitwise_cast(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( touint_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer ::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0) const - { - typedef typename dispatch::meta::as_integer::type, signed>::type signed_integer; - A0 sign_f = inc(splat(Valmax())); - result_type sign_i = inc(splat(Valmax())); - return if_else(a0 < sign_f, bitwise_cast(toint(a0)), bitwise_cast(toint(a0 - sign_f)) + sign_i); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/touints.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/touints.hpp deleted file mode 100644 index cd2af41..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/touints.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TOUINTS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( touints_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(saturate(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( touints_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( touints_, tag::cpu_ - , (A0)(X) - , ((simd_< floating_,X >)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type sr_t; - static const A0 Vax = splat(boost::simd::Valmax()); - return if_zero_else(boost::simd::is_ngez(a0), - if_else(boost::simd::ge(a0, Vax), Valmax(), - touint(a0) - ) - ); - - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/common/trunc.hpp b/inst/include/boost/simd/arithmetic/functions/simd/common/trunc.hpp deleted file mode 100644 index 11c6cdf..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/common/trunc.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_COMMON_TRUNC_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( trunc_, tag::cpu_,(A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( trunc_, tag::cpu_,(A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return b_or(floor(abs(a0)), bitofsign(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/adds.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/adds.hpp deleted file mode 100644 index add95c5..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/adds.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_ADDS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_ADDS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( adds_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a00 = _mm256_extractf128_si256(a0, 0); - svtype a10 = _mm256_extractf128_si256(a1, 0); - svtype r0 = adds(a00,a10); - result_type that = _mm256_castsi128_si256(r0); - svtype a01 = _mm256_extractf128_si256(a0, 1); - svtype a11 = _mm256_extractf128_si256(a1, 1); - svtype r1 = adds(a01,a11); - that = _mm256_insertf128_si256(that, r1, 1); - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( adds_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a00 = _mm256_extractf128_si256(a0, 0); - svtype a10 = _mm256_extractf128_si256(a1, 0); - svtype r0 = adds(a00,a10); - result_type that = _mm256_castsi128_si256(r0); - svtype a01 = _mm256_extractf128_si256(a0, 1); - svtype a11 = _mm256_extractf128_si256(a1, 1); - svtype r1 = adds(a01,a11); - that = _mm256_insertf128_si256(that, r1, 1); - return that; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/ceil.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/ceil.hpp deleted file mode 100644 index 66a22c9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/ceil.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_CEIL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ceil_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_round_pd(a0, _MM_FROUND_CEIL); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ceil_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_round_ps(a0, _MM_FROUND_CEIL); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/fast_iround2even.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/fast_iround2even.hpp deleted file mode 100644 index a361d1e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/fast_iround2even.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_FAST_IROUND2EVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_iround2even_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_cvtps_epi32(a0); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/fast_rsqrt.hpp deleted file mode 100644 index be9a618..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/fast_rsqrt.hpp +++ /dev/null @@ -1,46 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_FAST_RSQRT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - result_type nr = _mm256_rsqrt_ps( a0 ); - nr *= 0.5f * (3.f - a0 * sqr(nr)); - - return nr; - } - }; -} } } - -#endif - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/floor.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/floor.hpp deleted file mode 100644 index 2d22da0..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/floor.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_FLOOR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( floor_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_round_pd(a0, _MM_FROUND_FLOOR); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( floor_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_round_ps(a0, _MM_FROUND_FLOOR); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/max.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/max.hpp deleted file mode 100644 index 3bcc82d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/max.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_MAX_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( max_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) - // workaround for GCC bug #57057 - return if_else(is_unord(a0, a1), a1, A0(_mm256_max_pd(a0, a1))); -#else - return _mm256_max_pd(a0,a1); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) - // workaround for GCC bug #57057 - return if_else(is_unord(a0, a1), a1, A0(_mm256_max_ps(a0, a1))); -#else - return _mm256_max_ps(a0,a1); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typename meta::retarget::type a00, a01, a10, a11; - slice(a0, a00, a01); - slice(a1, a10, a11); - return combine(max(a00, a10), max(a01, a11)); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/min.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/min.hpp deleted file mode 100644 index 25d8be1..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/min.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_MIN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( min_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) - // workaround for GCC bug #57057 - return if_else(is_unord(a0, a1), a1, A0(_mm256_min_pd(a0, a1))); -#else - return _mm256_min_pd(a0,a1); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) - // workaround for GCC bug #57057 - return if_else(is_unord(a0, a1), a1, A0(_mm256_min_ps(a0, a1))); -#else - return _mm256_min_ps(a0,a1); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_, boost::simd::tag::avx_>)) - ((simd_, boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typename meta::retarget::type a00, a01, a10, a11; - slice(a0, a00, a01); - slice(a1, a10, a11); - return combine(min(a00, a10), min(a01, a11)); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/muls.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/muls.hpp deleted file mode 100644 index 6b6d1f0..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/muls.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_MULS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_MULS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( muls_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ - , boost::simd::tag::avx_ - > - )) - ((simd_ - , boost::simd::tag::avx_ - > - )) - ) - { - - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::retarget::type htype; - - htype a00 = _mm256_extractf128_si256(a0, 0); - htype a10 = _mm256_extractf128_si256(a1, 0); - htype v0 = muls(a00, a10); - htype a01 = _mm256_extractf128_si256(a0, 1); - htype a11 = _mm256_extractf128_si256(a1, 1); - htype v1 = muls(a01, a11); - __m256i r = _mm256_castsi128_si256(v0); - return _mm256_insertf128_si256(r, v1, 1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/raw_rec.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/raw_rec.hpp deleted file mode 100644 index c91e746..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/raw_rec.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_RAW_REC_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( raw_rec_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_< single_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return _mm256_rcp_ps( a0 ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/round2even.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/round2even.hpp deleted file mode 100644 index b84cff8..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/round2even.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_ROUND2EVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( round2even_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_round_pd(a0, _MM_FROUND_TO_NEAREST_INT); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round2even_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_round_ps(a0, _MM_FROUND_TO_NEAREST_INT); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/sqrt.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/sqrt.hpp deleted file mode 100644 index 97d8780..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/sqrt.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_SQRT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sqrt_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_sqrt_pd(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_sqrt_ps(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::touint(boost::simd::sqrt(boost::simd::tofloat(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(assert_all(is_gez(a0)), "sqrt input is negative"); - return boost::simd::toint(boost::simd::sqrt(boost::simd::tofloat(a0))); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/tofloat.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/tofloat.hpp deleted file mode 100644 index 6daeca5..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/tofloat.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_TOFLOAT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tofloat_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_cvtepi32_ps(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tofloat_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::scalar_of::type stype; - typedef native < stype, boost::simd::tag::sse_ > htype; - - htype h1 = make(a0[0],a0[1],a0[2],a0[3]); - htype h2 = make(a0[4],a0[5],a0[6],a0[7]); - result_type r = _mm256_castps128_ps256(h1); - r = _mm256_insertf128_ps(r, h2, 1); - return r; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tofloat_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return make(a0[0], a0[1], a0[2], a0[3]); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tofloat_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return make(a0[0], a0[1], a0[2], a0[3]); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/toint.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/toint.hpp deleted file mode 100644 index 581bc5e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/toint.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_TOINT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( toint_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return make(a0[0], a0[1], a0[2], a0[3]); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( toint_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_cvttps_epi32(a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/trunc.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/trunc.hpp deleted file mode 100644 index d19ea28..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/avx/trunc.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_AVX_TRUNC_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( trunc_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_round_pd(a0, _MM_FROUND_TO_ZERO); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( trunc_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm256_round_ps(a0, _MM_FROUND_TO_ZERO); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/adds.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/adds.hpp deleted file mode 100644 index 43589e6..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/adds.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_ADDS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_ADDS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( adds_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_adds_epu8(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( adds_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_adds_epi8(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( adds_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_adds_epu16(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( adds_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_adds_epi16(a0, a1); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/fast_iround2even.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/fast_iround2even.hpp deleted file mode 100644 index c2b162d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/fast_iround2even.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_FAST_IROUND2EVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_iround2even_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_cvtps_epi32(a0); - } - }; - -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/fast_rsqrt.hpp deleted file mode 100644 index 72a63e6..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/fast_rsqrt.hpp +++ /dev/null @@ -1,45 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_FAST_RSQRT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - result_type nr = _mm_rsqrt_ps( a0 ); - nr *= 0.5f * (3.f - a0 * sqr(nr)); - - return nr; - } - }; -} } } - -#endif - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/fast_toint.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/fast_toint.hpp deleted file mode 100644 index ce16465..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/fast_toint.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2014 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_FAST_TOINT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_toint_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_< double_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - typedef typename dispatch::meta::downgrade::type int_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - const int_type out = _mm_cvttpd_epi32(a0); - return boost::simd::split_low(out); - } - }; -} } } - -#endif -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/max.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/max.hpp deleted file mode 100644 index 928485a..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/max.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_MAX_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include - -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( max_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) - // workaround for GCC bug #57057 - return if_else(is_unord(a0, a1), a1, A0(_mm_max_pd(a0, a1))); -#else - return _mm_max_pd(a0,a1); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) - // workaround for GCC bug #57057 - return if_else(is_unord(a0, a1), a1, A0(_mm_max_ps(a0, a1))); -#else - return _mm_max_ps(a0,a1); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_max_epi16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_max_epu8(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/min.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/min.hpp deleted file mode 100644 index b39163c..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/min.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_MIN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include - -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( min_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) - // workaround for GCC bug #57057 - return if_else(is_unord(a0, a1), a1, A0(_mm_min_pd(a0, a1))); -#else - return _mm_min_pd(a0,a1); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if !defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_COMPILER_GCC) - // workaround for GCC bug #57057 - return if_else(is_unord(a0, a1), a1, A0(_mm_min_ps(a0, a1))); -#else - return _mm_min_ps(a0,a1); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>))((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_min_epi16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>))((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_min_epu8(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/muls.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/muls.hpp deleted file mode 100644 index f344f51..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/muls.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_MULS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_MULS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* No native groups for 64-bit SSE; - * we use bit tricks instead of calling saturate. */ - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( muls_, boost::simd::tag::sse2_ - , (A0) - , ((simd_, boost::simd::tag::sse_>)) - ((simd_, boost::simd::tag::sse_>)) - ) - { - - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::scalar_of::type stype; - typedef typename dispatch::meta::upgrade::type utype; - - utype res0, res1; - split_multiplies(a0, a1, res0, res1); - - return group(res0, res1) - | genmask( group( shrai(res0, sizeof(stype)*CHAR_BIT) - , shrai(res1, sizeof(stype)*CHAR_BIT) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( muls_, boost::simd::tag::sse2_ - , (A0) - , ((simd_, boost::simd::tag::sse_>)) - ((simd_, boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::scalar_of::type stype; - typedef typename dispatch::meta::as_unsigned::type untype; - typedef typename dispatch::meta::upgrade::type utype; - - utype res0, res1; - split_multiplies(a0, a1, res0, res1); - - untype res2 = shrai(bitwise_cast(a0 ^ a1), sizeof(stype)*CHAR_BIT-1) - + static_cast::type>(Valmax()); - - A0 hi = group( shrai(res0, sizeof(stype)*CHAR_BIT) - , shrai(res1, sizeof(stype)*CHAR_BIT) - ); - A0 lo = group(res0, res1); - - return if_else( hi != shrai(lo, sizeof(stype)*CHAR_BIT-1) - , bitwise_cast(res2) - , lo - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/raw_rec.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/raw_rec.hpp deleted file mode 100644 index 5f77315..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/raw_rec.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_RAW_REC_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( raw_rec_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_< single_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return _mm_rcp_ps( a0 ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/sqrt.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/sqrt.hpp deleted file mode 100644 index 2019bb7..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/sqrt.hpp +++ /dev/null @@ -1,223 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_SQRT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sqrt_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_sqrt_pd(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_sqrt_ps(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(assert_all(is_gez(a0)), "sqrt input is negative"); - typedef typename dispatch::meta::as_integer::type uint_type; - return simd::bitwise_cast(sqrt( simd::bitwise_cast(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - bA0 const na = is_nez(a0); - A0 n = add(shri(a0, 4), Four()); - A0 n1 = shri(n+a0/n, 1); - - bA0 ok = lt(n1, n); - n = if_else(ok, n1, n); - n1 = if_else(ok, shri(n+a0/n, 1), n1); - - ok = lt(n1, n); - n = if_else(ok, n1, n); - n = seladd( gt(n*n,a0), n, Mone()); - - return seladd(na, Zero(), n); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - bA0 const na = is_nez(a0); - A0 const z1 = add(shri(a0, 6), boost::simd::integral_constant()); - A0 const z2 = add(shri(a0,10), boost::simd::integral_constant()); - A0 const C1 = boost::simd::integral_constant(); - // choose a proper starting point for approximation - A0 n = if_else(lt(a0, C1), z1, z2); - bA0 ok = is_gtz(n); - static A0 const one = One(); - n = if_else(ok, n, one); - - A0 n1 = if_else(ok, shri(n+a0/n, 1), one); - - ok = lt(n1, n); - n = if_else(ok, n1, n); - n1 = if_else(ok, shri(n+a0/n, 1), n1); - - ok = lt(n1, n); - n = if_else(ok, n1, n); - n1 = if_else(ok, shri(n+a0/n, 1), n1); - - ok = lt(n1, n); - n = if_else(ok, n1, n); - n = seladd( gt(n*n,a0), n, Mone()); - - return seladd(na, Zero(), n); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - bA0 const na = is_nez(a0); - A0 const z1 = add(shri(a0, 6), boost::simd::integral_constant()); - A0 const z2 = add(shri(a0,10), boost::simd::integral_constant()); - A0 const z3 = add(shri(a0,13), boost::simd::integral_constant()); - A0 const z4 = add(shri(a0,16), boost::simd::integral_constant()); - static A0 const one = One(); - - A0 n = if_else( gt(a0, boost::simd::integral_constant()) - , z4 - , if_else( gt(a0, boost::simd::integral_constant()) - , z3 - , if_else( gt(a0, boost::simd::integral_constant()) - , z2 - , z1 - ) - ) - ); - bA0 ok = is_gtz(n); - n = if_else(ok, n, one); - A0 n1 = if_else(ok, shri(n+a0/n, 1), one); - - ok = lt(n1, n); - n = if_else(ok, n1, n); - n1 = if_else(ok, shri(n+a0/n, 1), n1); - - ok = lt(n1, n); - n = if_else(ok, n1, n); - n1 = if_else(ok, shri(n+a0/n, 1), n1); - - ok = lt(n1, n); - n = if_else(ok, n1, n); - - A0 tmp = sub(n*sub(n, one), one); - n = seladd( is_greater_equal(tmp+n,a0), n, Mone()); - n = seladd(na, Zero(), n); - - return n; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::touint(boost::simd::sqrt(boost::simd::tofloat(a0))); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - BOOST_ASSERT_MSG(assert_all(is_gez(a0)), "sqrt input is negative"); - return boost::simd::toint(boost::simd::sqrt(boost::simd::tofloat(a0))); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/subs.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/subs.hpp deleted file mode 100644 index 4b6cf6b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/subs.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_SUBS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_SUBS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( subs_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_subs_epu8(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( subs_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_subs_epi8(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( subs_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_subs_epu16(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( subs_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_subs_epi16(a0, a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/tofloat.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/tofloat.hpp deleted file mode 100644 index 4ae552d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/tofloat.hpp +++ /dev/null @@ -1,93 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_TOFLOAT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tofloat_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_cvtepi32_ps(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tofloat_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - typedef typename meta::scalar_of::type stype; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::make ( static_cast(a0[0]) - , static_cast(a0[1]) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tofloat_ - , boost::simd::tag::sse2_ , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type si_type; - si_type a00 = bitwise_cast(a0); - si_type a01 = bitwise_notand(Signmask(), a0); - result_type inc = if_else_zero(is_ltz(a00), Twoto31()); - return tofloat(a01)+inc; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tofloat_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - typedef typename meta::scalar_of::type sftype; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::make ( static_cast(a0[0]) - , static_cast(a0[1]) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/toint.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/toint.hpp deleted file mode 100644 index af741a9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse2/toint.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE2_TOINT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( toint_, boost::simd::tag::sse2_ , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_cvttps_epi32(a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/ceil.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/ceil.hpp deleted file mode 100644 index 28215b6..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/ceil.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_CEIL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ceil_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_ceil_pd(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ceil_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_ceil_ps(a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/floor.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/floor.hpp deleted file mode 100644 index caa91d9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/floor.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_FLOOR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( floor_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_floor_pd(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( floor_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_floor_ps(a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/max.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/max.hpp deleted file mode 100644 index 0f6a4c7..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/max.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_MAX_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( max_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_max_epi8(a0,a1); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( max_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_max_epu16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_max_epu32(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_max_epi32(a0,a1); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/min.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/min.hpp deleted file mode 100644 index 8d78d9e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/min.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_MIN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( min_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_min_epi8(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_min_epu16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_min_epu32(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_min_epi32(a0,a1); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/round2even.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/round2even.hpp deleted file mode 100644 index d289983..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/round2even.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_ROUND2EVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( round2even_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_round_pd(a0, _MM_FROUND_TO_NEAREST_INT); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round2even_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_round_ps(a0, _MM_FROUND_TO_NEAREST_INT); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/trunc.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/trunc.hpp deleted file mode 100644 index 748a2a9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/sse4_1/trunc.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSE4_1_TRUNC_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( trunc_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_round_pd(a0, _MM_FROUND_TO_ZERO); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( trunc_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_round_ps(a0, _MM_FROUND_TO_ZERO); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/sse/ssse3/abs.hpp b/inst/include/boost/simd/arithmetic/functions/simd/sse/ssse3/abs.hpp deleted file mode 100644 index 70b68e0..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/sse/ssse3/abs.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSSE3_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_SSE_SSSE3_ABS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( abs_, boost::simd::tag::ssse3_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_abs_epi32(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, boost::simd::tag::ssse3_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_abs_epi8(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, boost::simd::tag::ssse3_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_abs_epi16(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, boost::simd::tag::ssse3_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return b_notand(boost::simd::Mzero(),a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, boost::simd::tag::ssse3_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type int_type; - typedef typename meta::scalar_of::type sint_type; - A0 const s = shri(a0, 8*sizeof(sint_type)-1); - return (a0-s)^(-s); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_, boost::simd::tag::ssse3_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/abs.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/abs.hpp deleted file mode 100644 index b593108..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/abs.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_ABS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( abs_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< single_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_abs( a0() ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( abs_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< signed_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_abs( a0() ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/abss.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/abss.hpp deleted file mode 100644 index 5c63c7b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/abss.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_ABSS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_ABSS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( abss_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< int_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_abss( a0() ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/adds.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/adds.hpp deleted file mode 100644 index 4904207..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/adds.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_ADDS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_ADDS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( adds_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< int_ - , boost::simd::tag::vmx_ - > - )) - ((simd_< int_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_adds( a0(), a1() ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( adds_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< uint_ - , boost::simd::tag::vmx_ - > - )) - ((simd_< uint_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_adds( a0(), a1() ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/ceil.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/ceil.hpp deleted file mode 100644 index 8e941ef..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/ceil.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_CEIL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ceil_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< single_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_ceil( a0() ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/correct_fma.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/correct_fma.hpp deleted file mode 100644 index a165015..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/correct_fma.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_CORRECT_FMA_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( correct_fma_, boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - return vec_madd(a0(), a1(), a2()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/fast_rsqrt.hpp deleted file mode 100644 index 505dd60..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/fast_rsqrt.hpp +++ /dev/null @@ -1,54 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_FAST_RSQRT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_rsqrt_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type hf = Half(); - result_type o = One(); - - result_type estimate = vec_rsqrte( a0() ); - result_type se = sqr(estimate); - result_type he = estimate*hf; - result_type st = vec_nmsub(a0(),se(),o()); - - return fma( st, he, estimate); - } - }; -} } } - -#endif - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/floor.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/floor.hpp deleted file mode 100644 index d80264f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/floor.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_FLOOR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( floor_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< single_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_floor( a0() ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/fma.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/fma.hpp deleted file mode 100644 index 8d89331..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/fma.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_FMA_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fma_, boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - return vec_madd(a0(), a1(), a2()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/fnms.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/fnms.hpp deleted file mode 100644 index 8286a89..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/fnms.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_FNMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_FNMS_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fnms_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - return vec_nmsub(a0(),a1(),a2()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/max.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/max.hpp deleted file mode 100644 index ff1c63f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/max.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_MAX_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -#if !defined(BOOST_SIMD_NO_NANS) -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( max_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - #if !defined(BOOST_SIMD_NO_NANS) - return if_else(is_nan(a0), a1, A0(vec_max(a0(),a1()))); - #else - return vec_max(a0(),a1()); - #endif - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/min.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/min.hpp deleted file mode 100644 index 602ba24..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/min.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_MIN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -#if !defined(BOOST_SIMD_NO_NANS) -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( min_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - #if !defined(BOOST_SIMD_NO_NANS) - return if_else(is_nan(a0), a1, A0(vec_min(a0(),a1()))); - #else - return vec_min(a0(),a1()); - #endif - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/raw_rec.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/raw_rec.hpp deleted file mode 100644 index f62a682..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/raw_rec.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_RAW_REC_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( raw_rec_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< single_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_re( a0() ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/rec.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/rec.hpp deleted file mode 100644 index f6b22e7..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/rec.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_REC_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include - -#if !defined( BOOST_SIMD_NO_INFINITIES ) -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rec_ - , boost::simd::tag::vmx_ - , (A0) - , (( simd_ < floating_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type estimate = fast_rec(a0); - - // fix rec(+/-0) - estimate = if_else( is_eqz(a0) - , copysign(Inf(),a0) - , estimate - ); - - // fix rec(+/-inf) - #if !defined( BOOST_SIMD_NO_INFINITIES ) - estimate = if_else( is_inf(a0) - , copysign(Zero(),a0) - , estimate - ); - #endif - - return estimate; - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/round2even.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/round2even.hpp deleted file mode 100644 index fad8e35..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/round2even.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_ROUND2EVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( round2even_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< single_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_round( a0() ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/subs.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/subs.hpp deleted file mode 100644 index e3c26f4..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/subs.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_SUBS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_SUBS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( subs_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< int_ - , boost::simd::tag::vmx_ - > - )) - ((simd_< int_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_subs( a0(), a1() ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( subs_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< uint_ - , boost::simd::tag::vmx_ - > - )) - ((simd_< uint_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_subs( a0(), a1() ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/tofloat.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/tofloat.hpp deleted file mode 100644 index 3cfd4ab..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/tofloat.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_TOFLOAT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tofloat_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < ints32_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_ctf(a0(),0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/toints.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/toints.hpp deleted file mode 100644 index 3df30d8..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/toints.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_TOINTS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( toints_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_cts(a0(),0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/touints.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/touints.hpp deleted file mode 100644 index 6c8d23e..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/touints.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_TOUINTS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( touints_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_ctu(a0(),0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/trunc.hpp b/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/trunc.hpp deleted file mode 100644 index f532498..0000000 --- a/inst/include/boost/simd/arithmetic/functions/simd/vmx/altivec/trunc.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SIMD_VMX_ALTIVEC_TRUNC_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( trunc_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_< single_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_trunc( a0() ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/sqr.hpp b/inst/include/boost/simd/arithmetic/functions/sqr.hpp deleted file mode 100644 index 13a39c9..0000000 --- a/inst/include/boost/simd/arithmetic/functions/sqr.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SQR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SQR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief sqr generic tag - - Represents the sqr function in generic contexts. - - @par Models: - **/ - struct sqr_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sqr_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sqr_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sqr_; - } - /*! - Computes the square of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = sqr(x); - @endcode - - is equivalent to: - - @code - T r = x*x; - @endcode - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sqr_, sqr, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/sqr_abs.hpp b/inst/include/boost/simd/arithmetic/functions/sqr_abs.hpp deleted file mode 100644 index 1c0e5a4..0000000 --- a/inst/include/boost/simd/arithmetic/functions/sqr_abs.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/U.B.P. -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ. Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SQR_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SQR_ABS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief sqr_abs generic tag - - Represents the sqr_abs function in generic contexts. - - @par Models: - Hierarchy - **/ - struct sqr_abs_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sqr_abs_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sqr_abs_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sqr_abs_; - } - /*! - Computes the square of the absolute value of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = sqr_abs(x); - @endcode - - is equivalent to: - - @code - T r = sqr(abs(x)); - @endcode - - @par Alias - - @c sqr_modulus - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sqr_abs_, sqr_abs, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sqr_abs_, sqr_modulus, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/sqrs.hpp b/inst/include/boost/simd/arithmetic/functions/sqrs.hpp deleted file mode 100644 index 10a0cb0..0000000 --- a/inst/include/boost/simd/arithmetic/functions/sqrs.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/U.B.P. -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ. Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SQRS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SQRS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief sqrs generic tag - - Represents the sqrs function in generic contexts. - - @par Models: - Hierarchy - **/ - struct sqrs_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sqrs_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sqrs_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sqrs_; - } - /*! - Computes the saturated square of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = sqrs(x); - @endcode - - is similar to: - - @code - T r = x*x > Valmax ? Valmax : x*x; - @endcode - - @par Alias - - @c sqrs, saturated_sqr - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sqrs_, sqrs, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sqrs_, saturated_sqr, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/sqrt.hpp b/inst/include/boost/simd/arithmetic/functions/sqrt.hpp deleted file mode 100644 index 277054f..0000000 --- a/inst/include/boost/simd/arithmetic/functions/sqrt.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SQRT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief sqrt generic tag - - Represents the sqrt function in generic contexts. - - @par Models: - **/ - struct sqrt_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sqrt_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sqrt_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sqrt_; - } - /*! - Computes the square root of its parameter. For integers it is the - truncation of the real square root. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = sqrt(x); - @endcode - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sqrt_, sqrt, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/arithmetic/functions/subs.hpp b/inst/include/boost/simd/arithmetic/functions/subs.hpp deleted file mode 100644 index 1af028c..0000000 --- a/inst/include/boost/simd/arithmetic/functions/subs.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_SUBS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_SUBS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief subs generic tag - - Represents the subs function in generic contexts. - - @par Models: - Hierarchy - **/ - struct subs_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_subs_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_subs_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_subs_; - } - /*! - Computes the saturated sum of its parameters. - - @par semantic: - For any given value @c x, @c y of type @c T: - - @code - T r = subs(x, y); - @endcode - - This function coincides with minus for floating point parameters. - For integers is similar to: - - @code - T r = (x-y > Valmax) ? Valmax : (x-y < Valmin ? Valmin : x-y); - @endcode - - @par Alias - - saturated_sub - - @param a0 - @param a1 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::subs_, subs, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::subs_, saturated_sub, 2) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/tenpower.hpp b/inst/include/boost/simd/arithmetic/functions/tenpower.hpp deleted file mode 100644 index 732cd9d..0000000 --- a/inst/include/boost/simd/arithmetic/functions/tenpower.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2015 - J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TENPOWER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TENPOWER_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief tenpower generic tag - - Represents the tenpower function in generic contexts. - - @par Models: - Hierarchy - **/ - struct tenpower_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_tenpower_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_tenpower_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_tenpower_; - } - - /*! - @brief Returns \f$10^n\f$ in the floating type corresponding to A0 - - @par semantic: - For any given value n of integral type @c I, and T of type as_floating::type - - @code - T r = tenpower(n); - @endcode - - code is similar to: - - @code - T r = exp10(T(n)); - @endcode - - @par Note: - - This function is not defined for floating entries - - @param n - - @return a value of the floating associated type. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::tenpower_, tenpower, 1) -} } -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/tofloat.hpp b/inst/include/boost/simd/arithmetic/functions/tofloat.hpp deleted file mode 100644 index 92665ed..0000000 --- a/inst/include/boost/simd/arithmetic/functions/tofloat.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOFLOAT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief tofloat generic tag - - Represents the tofloat function in generic contexts. - - @par Models: - Hierarchy - **/ - struct tofloat_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_tofloat_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_tofloat_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_tofloat_; - } - /*! - Convert to floating point value. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_floating r = tofloat(x); - @endcode - - The code is similar to: - - @code - as_floating r = static_cast < as_floating >(x) - @endcode - - @param a0 - - @return a value of the floating type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::tofloat_, tofloat, 1) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/toint.hpp b/inst/include/boost/simd/arithmetic/functions/toint.hpp deleted file mode 100644 index e10756a..0000000 --- a/inst/include/boost/simd/arithmetic/functions/toint.hpp +++ /dev/null @@ -1,102 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOINT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief toint generic tag - - Represents the toint function in generic contexts. - - @par Models: - Hierarchy - **/ - struct toint_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_toint_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_toint_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_toint_; - } - /*! - Convert to integer by truncation. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = toint(x); - @endcode - - The code is similar to: - - @code - as_integer r = static_cast >(x) - @endcode - - @par Notes: - - @c toint cast a floating value to the signed integer value of the same bit size. - - This is done by C casting for scalars and corresponding intrinsic in simd (if available). - - Peculiarly, that implies that the behaviour of this function on invalid entries is - not defined and quite unpredictable. - - (For instance it is quite frequent that the test: - - @code - toint(Inf()) == toint(1.0/0.0) - @endcode - - - will return false whilst the test: - - @code - Inf() == 1.0/0.0 - @endcode - - - returns true !) - - If you intend to use nans and infs entries, consider using toints instead. - On integral typed values, it acts as identity. - - @par Alias - - fast_toint - - @param a0 - - @return a value of the integer type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::toint_, toint, 1) - -} } - -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/toints.hpp b/inst/include/boost/simd/arithmetic/functions/toints.hpp deleted file mode 100644 index 35733be..0000000 --- a/inst/include/boost/simd/arithmetic/functions/toints.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOINTS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief toints generic tag - - Represents the toints function in generic contexts. - - @par Models: - Hierarchy - **/ - struct toints_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_toints_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_toints_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_toints_; - } - /*! - Convert to integer by saturated truncation. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = toints(x); - @endcode - - The code is similar to: - - @code - as_integer r = static_cast >(saturate >(x)) - @endcode - - @par Notes: - - The Inf -Inf and Nan values are treated properly and go respectively to - Valmax, Valmin and Zero of the destination integral type - All values superior (resp.) less than Valmax (resp. Valmin) of the return type - are saturated accordingly. - - @par Alias - - @c ifix, @c itrunc, @c saturated_toint - - @param a0 - - @return a value of the integer same type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::toints_, toints, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::toints_, ifix, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::toints_, itrunc, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::toints_, saturated_toint, 1) - -} } - -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/touint.hpp b/inst/include/boost/simd/arithmetic/functions/touint.hpp deleted file mode 100644 index 9efd764..0000000 --- a/inst/include/boost/simd/arithmetic/functions/touint.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOUINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOUINT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief touint generic tag - - Represents the touint function in generic contexts. - - @par Models: - Hierarchy - **/ - struct touint_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_touint_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_touint_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_touint_; - } - /*! - Convert to unsigned integer by truncation. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = touint(x); - @endcode - - The code is similar to: - - @code - as_integer r = static_cast >(x) - @endcode - - @par Notes: - - @c toint cast a floating value to the signed integer value of the same bit size. - - This is done by C casting for scalars and corresponding intrinsic in simd (if available). - - Peculiarly, that implies that the behaviour of this function on invalid or negative - entries is not defined and possibly unpredictable. - - If you intend to use nans, infs or negative entries, consider using touints instead. - - @par Alias - - fast_touint - - @param a0 - - @return a value of the unsigned integer type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::touint_, touint, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::touint_, fast_touint, 1) - -} } - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/touints.hpp b/inst/include/boost/simd/arithmetic/functions/touints.hpp deleted file mode 100644 index ecb7ed6..0000000 --- a/inst/include/boost/simd/arithmetic/functions/touints.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TOUINTS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief touints generic tag - - Represents the touints function in generic contexts. - - @par Models: - Hierarchy - **/ - struct touints_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_touints_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_touints_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_touints_; - } - /*! - Convert to unsigned integer by saturated truncation. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = touint(x); - @endcode - - The code is similar to: - - @code - as_integer r = static_cast >(saturate (x))) - @endcode - - @par Notes: - - The Inf, Nan and negative values are treated properly and go respectively to - Valmax, and Zero of the destination integral type. - - All values superior (resp. less) than Valmax (resp. Valmin) of the return type - are saturated accordingly. - - @par Alias - - saturated_toint - - @see @funcref{toint} - @param a0 - - @return a value of the unsigned integer type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::touints_, touints, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::touints_, saturated_touint, 1) - -} } - -#endif - diff --git a/inst/include/boost/simd/arithmetic/functions/trunc.hpp b/inst/include/boost/simd/arithmetic/functions/trunc.hpp deleted file mode 100644 index 641c77b..0000000 --- a/inst/include/boost/simd/arithmetic/functions/trunc.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TRUNC_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief trunc generic tag - - Represents the trunc function in generic contexts. - - @par Models: - Hierarchy - **/ - struct trunc_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_trunc_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_trunc_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_trunc_; - } - /*! - Computes the truncation toward zero of its parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = trunc(x); - @endcode - - The code is similar to: - - @code - T r = sign(x)*floor(abs(x)); - @endcode - - @par Note: - - For floating point number it is also one of the two ouputs of - the modf function. - And we have: - - @code - trunc(x) + frac(x) == x; - @endcode - - except for nans - - @par Alias - - fix - - @see @funcref{abs}, @funcref{frac}, @funcref{floor}, @funcref{sign} - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::trunc_, trunc, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::trunc_, fix, 1) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/two_add.hpp b/inst/include/boost/simd/arithmetic/functions/two_add.hpp deleted file mode 100644 index e0927d7..0000000 --- a/inst/include/boost/simd/arithmetic/functions/two_add.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TWO_ADD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TWO_ADD_HPP_INCLUDED -#include -#include - -/*! - @file - @brief Definition of the two_add function -**/ - -namespace boost { namespace simd -{ - namespace tag - { - /// @brief Hierarchy tag for two_add function - struct two_add_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_two_add_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_two_add_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_two_add_; - } - - /*! - @brief - - For any two reals @c a0 and @c a1 two_add computes two reals - @c r0 and @c r1 so that: - - @code - r0 = a0 + a1 - r1 = r0 -(a0 + a1) - @endcode - - using perfect arithmetic. Its main usage is to be able to compute - sum of reals and the residual error using IEEE 754 arithmetic. - - @param a0 First parameter of the sum - @param a1 Second parameter of the sum - - @return A Fusion Sequence containing @c a0+a1 and the residual. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::two_add_, two_add, 2) - - /*! - @brief - - For any two reals @c a0 and @c a1 two_add computes two reals - @c r0 and @c r1 so that: - - @code - r0 = a0 + a1 - r1 = r0 -(a0 + a1) - @endcode - - using perfect arithmetic. Its main usage is to be able to compute - sum of reals and the residual error using IEEE 754 arithmetic. - - @param a0 First parameter of the sum - @param a1 Second parameter of the sum - @param a2 L-Value that will receive @c a0+a1 - - @return The sum residual. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::two_add_, two_add - , (A0 const&)(A1 const&)(A2&) - , 3 - ) - - /*! - @brief - - For any two reals @c a0 and @c a1 two_add computes two reals - @c r0 and @c r1 so that: - - @code - r0 = a0 + a1 - r1 = r0 -(a0 + a1) - @endcode - - using perfect arithmetic. Its main usage is to be able to compute - sum of reals and the residual error using IEEE 754 arithmetic. - - @param a0 First parameter of the sum - @param a1 Second parameter of the sum - @param a2 L-Value that will receive @c a0+a1. - @param a3 L-Value that will receive @c a0+a1 residual. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::two_add_, two_add - , (A0 const&)(A1 const&)(A2&)(A3&) - , 4 - ) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/two_prod.hpp b/inst/include/boost/simd/arithmetic/functions/two_prod.hpp deleted file mode 100644 index 22f49fe..0000000 --- a/inst/include/boost/simd/arithmetic/functions/two_prod.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TWO_PROD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TWO_PROD_HPP_INCLUDED -#include -#include - -/*! - @file - @brief Definition of the two_prod function -**/ - -namespace boost { namespace simd -{ - namespace tag - { - /// @brief Hierarchy tag for two_prod function - struct two_prod_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_two_prod_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_two_prod_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_two_prod_; - } - - /*! - @brief - - For any two reals @c a0 and @c a1 two_prod computes two reals - @c r0 and @c r1 so that: - - @code - r0 = a0* a1 - r1 = r0 -(a0 * a1) - @endcode - - using perfect arithmetic. Its main usage is to be able to compute - sum of reals and the residual error using IEEE 754 arithmetic. - - @param a0 First parameter of the sum - @param a1 Second parameter of the sum - - @return A Fusion Sequence containing @c a0+a1 and the residual. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::two_prod_, two_prod, 2) - - /*! - @brief - - For any two reals @c a0 and @c a1 two_prod computes two reals - @c r0 and @c r1 so that: - - @code - r0 = a0 * a1 - r1 = r0 -(a0 * a1) - @endcode - - using perfect arithmetic. Its main usage is to be able to compute - sum of reals and the residual error using IEEE 754 arithmetic. - - @param a0 First parameter of the sum - @param a1 Second parameter of the sum - @param a2 L-Value that will receive @c a0+a1 - - @return The sum residual. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::two_prod_, two_prod - , (A0 const&)(A1 const&)(A2&) - , 3 - ) - - /*! - @brief - - For any two reals @c a0 and @c a1 two_prod computes two reals - @c r0 and @c r1 so that: - - @code - r0 = a0 * a1 - r1 = r0 -(a0 * a1) - @endcode - - using perfect arithmetic. Its main usage is to be able to compute - sum of reals and the residual error using IEEE 754 arithmetic. - - @param a0 First parameter of the sum - @param a1 Second parameter of the sum - @param a2 L-Value that will receive @c a0+a1. - @param a3 L-Value that will receive @c a0+a1 residual. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::two_prod_, two_prod - , (A0 const&)(A1 const&)(A2&)(A3&) - , 4 - ) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/functions/two_split.hpp b/inst/include/boost/simd/arithmetic/functions/two_split.hpp deleted file mode 100644 index 152a170..0000000 --- a/inst/include/boost/simd/arithmetic/functions/two_split.hpp +++ /dev/null @@ -1,102 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED -#include -#include - -/*! - @file - @brief Definition of the two_split function -**/ - -namespace boost { namespace simd -{ - namespace tag - { - /// @brief Hierarchy tag for two_split function - struct two_split_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_two_split_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_two_split_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_two_split_; - } - - /*! - @brief - - For any real @c a0, two_split computes two reals @c r0 and @c r1 so that: - - @code - a0 = r0+r1 - @endcode - - and where @c r0 and @c r1 bit pattern don't overlap. - - @param a0 Value to split - - @return A Fusion Sequence containing @c a0+a1 and the residual. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::two_split_, two_split, 1) - - /*! - @brief - - For any real @c a0, two_split computes two reals @c r0 and @c r1 so that: - - @code - a0 = r0+r1 - @endcode - - and where @c r0 and @c r1 bit pattern don't overlap. - - @param a0 Value to split - @param a1 L-Value that will receive @c a0+a1 - - @return The sum residual. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::two_split_, two_split - , (A0 const&)(A1&) - , 2 - ) - - /*! - @brief - - For any real @c a0, two_split computes two reals @c r0 and @c r1 so that: - - @code - a0 = r0+r1 - @endcode - - and where @c r0 and @c r1 bit pattern don't overlap. - - @param a0 Value to split - @param a1 L-Value that will receive @c a0+a1. - @param a2 L-Value that will receive @c a0+a1 residual. - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::two_split_, two_split - , (A0 const&)(A1&)(A2&) - , 3 - ) -} } - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/abs.hpp b/inst/include/boost/simd/arithmetic/include/functions/abs.hpp deleted file mode 100644 index 74ce5b1..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/abs.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ABS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/abss.hpp b/inst/include/boost/simd/arithmetic/include/functions/abss.hpp deleted file mode 100644 index 552bc06..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/abss.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ABSS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ABSS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/adds.hpp b/inst/include/boost/simd/arithmetic/include/functions/adds.hpp deleted file mode 100644 index 09e4235..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/adds.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ADDS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ADDS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/amul.hpp b/inst/include/boost/simd/arithmetic/include/functions/amul.hpp deleted file mode 100644 index 8636e4c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/amul.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_AMUL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_AMUL_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/arg.hpp b/inst/include/boost/simd/arithmetic/include/functions/arg.hpp deleted file mode 100644 index 4e11893..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/arg.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ARG_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ARG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/average.hpp b/inst/include/boost/simd/arithmetic/include/functions/average.hpp deleted file mode 100644 index 6332145..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/average.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_AVERAGE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_AVERAGE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/ceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/ceil.hpp deleted file mode 100644 index a70a6de..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/ceil.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_CEIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/conj.hpp b/inst/include/boost/simd/arithmetic/include/functions/conj.hpp deleted file mode 100644 index 5626379..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/conj.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_CONJ_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_CONJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/correct_fma.hpp b/inst/include/boost/simd/arithmetic/include/functions/correct_fma.hpp deleted file mode 100644 index 1169643..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/correct_fma.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/dec.hpp b/inst/include/boost/simd/arithmetic/include/functions/dec.hpp deleted file mode 100644 index 78e5caf..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/dec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DEC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DEC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/dist.hpp b/inst/include/boost/simd/arithmetic/include/functions/dist.hpp deleted file mode 100644 index 1257b0d..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/dist.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIST_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIST_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/divceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/divceil.hpp deleted file mode 100644 index dc6e1c2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/divceil.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVCEIL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/divfix.hpp b/inst/include/boost/simd/arithmetic/include/functions/divfix.hpp deleted file mode 100644 index 58289d9..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/divfix.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVFIX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/divfloor.hpp b/inst/include/boost/simd/arithmetic/include/functions/divfloor.hpp deleted file mode 100644 index 85601c9..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/divfloor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVFLOOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/divround.hpp b/inst/include/boost/simd/arithmetic/include/functions/divround.hpp deleted file mode 100644 index 8ba66e5..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/divround.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVROUND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/divround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/divround2even.hpp deleted file mode 100644 index da69a57..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/divround2even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/divs.hpp b/inst/include/boost/simd/arithmetic/include/functions/divs.hpp deleted file mode 100644 index a725517..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/divs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_DIVS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fam.hpp b/inst/include/boost/simd/arithmetic/include/functions/fam.hpp deleted file mode 100644 index f533fd2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fam.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAM_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fast_hypot.hpp b/inst/include/boost/simd/arithmetic/include/functions/fast_hypot.hpp deleted file mode 100644 index 907e9dd..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fast_hypot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fast_iround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/fast_iround2even.hpp deleted file mode 100644 index f8a2d40..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fast_iround2even.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fast_rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/fast_rec.hpp deleted file mode 100644 index 39fa97e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fast_rec.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_REC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/fast_rsqrt.hpp deleted file mode 100644 index 794b20c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fast_rsqrt.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fast_sqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/fast_sqrt.hpp deleted file mode 100644 index e48c254..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fast_sqrt.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_SQRT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fast_toint.hpp b/inst/include/boost/simd/arithmetic/include/functions/fast_toint.hpp deleted file mode 100644 index 9806d29..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fast_toint.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_TOINT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fast_trunc.hpp b/inst/include/boost/simd/arithmetic/include/functions/fast_trunc.hpp deleted file mode 100644 index a3e2097..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fast_trunc.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/floor.hpp b/inst/include/boost/simd/arithmetic/include/functions/floor.hpp deleted file mode 100644 index 3c59e66..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/floor.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FLOOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fma.hpp b/inst/include/boost/simd/arithmetic/include/functions/fma.hpp deleted file mode 100644 index 3020442..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fma.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FMA_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fms.hpp b/inst/include/boost/simd/arithmetic/include/functions/fms.hpp deleted file mode 100644 index 3f82d20..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fms.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FMS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fnam.hpp b/inst/include/boost/simd/arithmetic/include/functions/fnam.hpp deleted file mode 100644 index be11816..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fnam.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FNAM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FNAM_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fnma.hpp b/inst/include/boost/simd/arithmetic/include/functions/fnma.hpp deleted file mode 100644 index c30c847..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fnma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FNMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FNMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fnms.hpp b/inst/include/boost/simd/arithmetic/include/functions/fnms.hpp deleted file mode 100644 index 40cdc54..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fnms.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FNMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FNMS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fnsm.hpp b/inst/include/boost/simd/arithmetic/include/functions/fnsm.hpp deleted file mode 100644 index 2b9006a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fnsm.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FNSM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FNSM_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/fsm.hpp b/inst/include/boost/simd/arithmetic/include/functions/fsm.hpp deleted file mode 100644 index 92e54a8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/fsm.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FSM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_FSM_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/hypot.hpp b/inst/include/boost/simd/arithmetic/include/functions/hypot.hpp deleted file mode 100644 index 15a4a2d..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/hypot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_HYPOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/iceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/iceil.hpp deleted file mode 100644 index 83de75c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/iceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ICEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ICEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/idivceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/idivceil.hpp deleted file mode 100644 index c02371a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/idivceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVCEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/idivfix.hpp b/inst/include/boost/simd/arithmetic/include/functions/idivfix.hpp deleted file mode 100644 index 2c68e80..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/idivfix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVFIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/idivfloor.hpp b/inst/include/boost/simd/arithmetic/include/functions/idivfloor.hpp deleted file mode 100644 index 3d20693..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/idivfloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/idivround.hpp b/inst/include/boost/simd/arithmetic/include/functions/idivround.hpp deleted file mode 100644 index b59ca9f..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/idivround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/idivround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/idivround2even.hpp deleted file mode 100644 index 3eb7698..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/idivround2even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/ifix.hpp b/inst/include/boost/simd/arithmetic/include/functions/ifix.hpp deleted file mode 100644 index 03fd02c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/ifix.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IFIX_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/ifloor.hpp b/inst/include/boost/simd/arithmetic/include/functions/ifloor.hpp deleted file mode 100644 index f088293..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/ifloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/inc.hpp b/inst/include/boost/simd/arithmetic/include/functions/inc.hpp deleted file mode 100644 index 1601747..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/inc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_INC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_INC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/iround.hpp b/inst/include/boost/simd/arithmetic/include/functions/iround.hpp deleted file mode 100644 index ed4204e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/iround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/iround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/iround2even.hpp deleted file mode 100644 index af58dc4..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/iround2even.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/itrunc.hpp b/inst/include/boost/simd/arithmetic/include/functions/itrunc.hpp deleted file mode 100644 index 630d3af..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/itrunc.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ITRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ITRUNC_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/ldiv.hpp b/inst/include/boost/simd/arithmetic/include/functions/ldiv.hpp deleted file mode 100644 index ad7e203..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/ldiv.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_LDIV_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_LDIV_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/ldivide.hpp b/inst/include/boost/simd/arithmetic/include/functions/ldivide.hpp deleted file mode 100644 index 1308453..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/ldivide.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_LDIVIDE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_LDIVIDE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/logical_xor.hpp b/inst/include/boost/simd/arithmetic/include/functions/logical_xor.hpp deleted file mode 100644 index 0be444c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/logical_xor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/madd.hpp b/inst/include/boost/simd/arithmetic/include/functions/madd.hpp deleted file mode 100644 index e8f19b5..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/madd.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MADD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MADD_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/max.hpp b/inst/include/boost/simd/arithmetic/include/functions/max.hpp deleted file mode 100644 index 225712b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/max.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MAX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/meanof.hpp b/inst/include/boost/simd/arithmetic/include/functions/meanof.hpp deleted file mode 100644 index e8287af..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/meanof.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MEANOF_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MEANOF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/min.hpp b/inst/include/boost/simd/arithmetic/include/functions/min.hpp deleted file mode 100644 index fe04fa2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/min.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/minmod.hpp b/inst/include/boost/simd/arithmetic/include/functions/minmod.hpp deleted file mode 100644 index 1776e93..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/minmod.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MINMOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MINMOD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/minusone.hpp b/inst/include/boost/simd/arithmetic/include/functions/minusone.hpp deleted file mode 100644 index 8eb2d0a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/minusone.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MINUSONE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MINUSONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/mod.hpp b/inst/include/boost/simd/arithmetic/include/functions/mod.hpp deleted file mode 100644 index 5171a36..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/mod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MOD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/muls.hpp b/inst/include/boost/simd/arithmetic/include/functions/muls.hpp deleted file mode 100644 index e929d3d..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/muls.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MULS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_MULS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/negs.hpp b/inst/include/boost/simd/arithmetic/include/functions/negs.hpp deleted file mode 100644 index 6d5438f..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/negs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_NEGS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_NEGS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/oneminus.hpp b/inst/include/boost/simd/arithmetic/include/functions/oneminus.hpp deleted file mode 100644 index 1074907..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/oneminus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ONEMINUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ONEMINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/oneplus.hpp b/inst/include/boost/simd/arithmetic/include/functions/oneplus.hpp deleted file mode 100644 index 00e838f..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/oneplus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ONEPLUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ONEPLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/raw_rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/raw_rec.hpp deleted file mode 100644 index e486034..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/raw_rec.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_RAW_REC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/rdivide.hpp b/inst/include/boost/simd/arithmetic/include/functions/rdivide.hpp deleted file mode 100644 index a6adeab..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/rdivide.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_RDIVIDE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_RDIVIDE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/rec.hpp deleted file mode 100644 index fe61df8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/rec.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/refine_rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/refine_rec.hpp deleted file mode 100644 index b3617bb..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/refine_rec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REFINE_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REFINE_REC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/rem.hpp b/inst/include/boost/simd/arithmetic/include/functions/rem.hpp deleted file mode 100644 index 6ef2916..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/rem.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/remainder.hpp b/inst/include/boost/simd/arithmetic/include/functions/remainder.hpp deleted file mode 100644 index 5750921..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/remainder.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REMAINDER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REMAINDER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/remquo.hpp b/inst/include/boost/simd/arithmetic/include/functions/remquo.hpp deleted file mode 100644 index caeefa7..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/remquo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REMQUO_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REMQUO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/remround.hpp b/inst/include/boost/simd/arithmetic/include/functions/remround.hpp deleted file mode 100644 index 15fa63e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/remround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REMROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_REMROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/round.hpp b/inst/include/boost/simd/arithmetic/include/functions/round.hpp deleted file mode 100644 index d3ba164..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/round.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ROUND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/round2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/round2even.hpp deleted file mode 100644 index 24b6117..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/round2even.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/rsqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/rsqrt.hpp deleted file mode 100644 index 88d392b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/rsqrt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_RSQRT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/abs.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/abs.hpp deleted file mode 100644 index 24b25b6..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/abs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ABS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/abss.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/abss.hpp deleted file mode 100644 index 575bb06..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/abss.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ABSS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ABSS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/adds.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/adds.hpp deleted file mode 100644 index 1a7cfd4..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/adds.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ADDS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ADDS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/arg.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/arg.hpp deleted file mode 100644 index de51499..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/arg.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ARG_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ARG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/average.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/average.hpp deleted file mode 100644 index 641a21c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/average.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_AVERAGE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_AVERAGE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/ceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/ceil.hpp deleted file mode 100644 index 7a74912..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/ceil.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CEIL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/conj.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/conj.hpp deleted file mode 100644 index fbf09f6..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/conj.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CONJ_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CONJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/correct_fma.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/correct_fma.hpp deleted file mode 100644 index 2d0f270..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/correct_fma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CORRECT_FMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/dec.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/dec.hpp deleted file mode 100644 index e191c52..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/dec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DEC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DEC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/dist.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/dist.hpp deleted file mode 100644 index 005fb0c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/dist.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIST_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/divceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/divceil.hpp deleted file mode 100644 index 480941e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/divceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVCEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/divfix.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/divfix.hpp deleted file mode 100644 index 8aeb895..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/divfix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVFIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/divfloor.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/divfloor.hpp deleted file mode 100644 index 43389d1..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/divfloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/divround.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/divround.hpp deleted file mode 100644 index d598779..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/divround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/divround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/divround2even.hpp deleted file mode 100644 index 41e32d1..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/divround2even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVROUND2EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/divs.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/divs.hpp deleted file mode 100644 index 31de1d8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/divs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_hypot.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_hypot.hpp deleted file mode 100644 index 09bb73b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_hypot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_HYPOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_iround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_iround2even.hpp deleted file mode 100644 index 5f1cbbe..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_iround2even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_rec.hpp deleted file mode 100644 index 6acb878..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_rec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_REC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_rsqrt.hpp deleted file mode 100644 index c27c764..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_rsqrt.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_RSQRT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_sqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_sqrt.hpp deleted file mode 100644 index c720cce..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_sqrt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_SQRT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_toint.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_toint.hpp deleted file mode 100644 index c382a62..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_toint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_TOINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_trunc.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_trunc.hpp deleted file mode 100644 index 86fee72..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fast_trunc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_TRUNC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/floor.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/floor.hpp deleted file mode 100644 index 94a683f..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/floor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FLOOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fma.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fma.hpp deleted file mode 100644 index eda780d..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fms.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fms.hpp deleted file mode 100644 index 3f6e2b5..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fms.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FMS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fnma.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fnma.hpp deleted file mode 100644 index 28dcf75..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fnma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FNMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FNMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/fnms.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/fnms.hpp deleted file mode 100644 index 560d59c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/fnms.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FNMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FNMS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/hypot.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/hypot.hpp deleted file mode 100644 index 3cff9ef..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/hypot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_HYPOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/iceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/iceil.hpp deleted file mode 100644 index be8f09b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/iceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ICEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ICEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/idivceil.hpp deleted file mode 100644 index ca42494..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVCEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivfix.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/idivfix.hpp deleted file mode 100644 index 22e571b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivfix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVFIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivfloor.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/idivfloor.hpp deleted file mode 100644 index ab2ee7d..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivfloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivround.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/idivround.hpp deleted file mode 100644 index fe35506..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/idivround2even.hpp deleted file mode 100644 index 85a3021..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/idivround2even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND2EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/ifloor.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/ifloor.hpp deleted file mode 100644 index b967bb2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/ifloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/inc.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/inc.hpp deleted file mode 100644 index b3be73f..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/inc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_INC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_INC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/iround.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/iround.hpp deleted file mode 100644 index 49ee99f..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/iround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/iround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/iround2even.hpp deleted file mode 100644 index 49b3ee7..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/iround2even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/logical_xor.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/logical_xor.hpp deleted file mode 100644 index c313789..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/logical_xor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_XOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_XOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/max.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/max.hpp deleted file mode 100644 index 2c6d3a6..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/max.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/meanof.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/meanof.hpp deleted file mode 100644 index c4ed2ac..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/meanof.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MEANOF_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MEANOF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/min.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/min.hpp deleted file mode 100644 index c374969..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/min.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/minmod.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/minmod.hpp deleted file mode 100644 index 398011b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/minmod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MINMOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MINMOD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/minusone.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/minusone.hpp deleted file mode 100644 index afca14b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/minusone.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MINUSONE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MINUSONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/mod.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/mod.hpp deleted file mode 100644 index 256e3b4..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/mod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MOD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/muls.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/muls.hpp deleted file mode 100644 index 47a6abc..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/muls.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MULS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MULS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/negs.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/negs.hpp deleted file mode 100644 index f1b0b5a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/negs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_NEGS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_NEGS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/oneminus.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/oneminus.hpp deleted file mode 100644 index 8b667ab..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/oneminus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ONEMINUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ONEMINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/oneplus.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/oneplus.hpp deleted file mode 100644 index daabc76..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/oneplus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ONEPLUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ONEPLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/raw_rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/raw_rec.hpp deleted file mode 100644 index e32cdcd..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/raw_rec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_RAW_REC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/rec.hpp deleted file mode 100644 index 2ef9fb1..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/rec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/refine_rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/refine_rec.hpp deleted file mode 100644 index 660d9f8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/refine_rec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REFINE_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REFINE_REC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/rem.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/rem.hpp deleted file mode 100644 index 871d5f3..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/rem.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/remainder.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/remainder.hpp deleted file mode 100644 index f37d8dc..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/remainder.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMAINDER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMAINDER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/remquo.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/remquo.hpp deleted file mode 100644 index 8c4a37e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/remquo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMQUO_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMQUO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/remround.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/remround.hpp deleted file mode 100644 index 8978667..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/remround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/round.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/round.hpp deleted file mode 100644 index f908f8c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/round.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/round2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/round2even.hpp deleted file mode 100644 index 85a862f..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/round2even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ROUND2EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/rsqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/rsqrt.hpp deleted file mode 100644 index cdcdb94..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/rsqrt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_RSQRT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/sqr.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/sqr.hpp deleted file mode 100644 index 423ec21..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/sqr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/sqr_abs.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/sqr_abs.hpp deleted file mode 100644 index d5d69f2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/sqr_abs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQR_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQR_ABS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/sqrs.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/sqrs.hpp deleted file mode 100644 index 67494e2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/sqrs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQRS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQRS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/sqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/sqrt.hpp deleted file mode 100644 index 44c626c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/sqrt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQRT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/subs.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/subs.hpp deleted file mode 100644 index 6b33ad4..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/subs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SUBS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SUBS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/tenpower.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/tenpower.hpp deleted file mode 100644 index cae340a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/tenpower.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TENPOWER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TENPOWER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/tofloat.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/tofloat.hpp deleted file mode 100644 index 7e76068..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/tofloat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOFLOAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/toint.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/toint.hpp deleted file mode 100644 index 179b93e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/toint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/toints.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/toints.hpp deleted file mode 100644 index 419352d..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/toints.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOINTS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/touint.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/touint.hpp deleted file mode 100644 index 974f74b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/touint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOUINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOUINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/touints.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/touints.hpp deleted file mode 100644 index a169e12..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/touints.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOUINTS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/trunc.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/trunc.hpp deleted file mode 100644 index 7187fd8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/trunc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TRUNC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/two_add.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/two_add.hpp deleted file mode 100644 index 8e804f8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/two_add.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_ADD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_ADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/two_prod.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/two_prod.hpp deleted file mode 100644 index 032885d..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/two_prod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_PROD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_PROD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/scalar/two_split.hpp b/inst/include/boost/simd/arithmetic/include/functions/scalar/two_split.hpp deleted file mode 100644 index 410f53b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/scalar/two_split.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_SPLIT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/abs.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/abs.hpp deleted file mode 100644 index 133bb8a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/abs.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ABS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/abss.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/abss.hpp deleted file mode 100644 index 5135ff9..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/abss.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ABSS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ABSS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/adds.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/adds.hpp deleted file mode 100644 index f9e3f06..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/adds.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ADDS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ADDS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/arg.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/arg.hpp deleted file mode 100644 index b83bb1a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/arg.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ARG_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ARG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/average.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/average.hpp deleted file mode 100644 index c84afde..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/average.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_AVERAGE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_AVERAGE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/ceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/ceil.hpp deleted file mode 100644 index fc0a67a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/ceil.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CEIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/conj.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/conj.hpp deleted file mode 100644 index 2528079..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/conj.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CONJ_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CONJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/correct_fma.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/correct_fma.hpp deleted file mode 100644 index 5e02523..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/correct_fma.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CORRECT_FMA_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/dec.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/dec.hpp deleted file mode 100644 index db67f3e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/dec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DEC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DEC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/dist.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/dist.hpp deleted file mode 100644 index 69adbd5..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/dist.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIST_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIST_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/divceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/divceil.hpp deleted file mode 100644 index e9a4d17..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/divceil.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVCEIL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/divfix.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/divfix.hpp deleted file mode 100644 index 74162f9..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/divfix.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVFIX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/divfloor.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/divfloor.hpp deleted file mode 100644 index 8b59581..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/divfloor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVFLOOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/divround.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/divround.hpp deleted file mode 100644 index 6fa4ace..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/divround.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVROUND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/divround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/divround2even.hpp deleted file mode 100644 index 5db9fdc..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/divround2even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVROUND2EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/divs.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/divs.hpp deleted file mode 100644 index a9af220..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/divs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_hypot.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fast_hypot.hpp deleted file mode 100644 index 00ad609..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_hypot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_HYPOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_iround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fast_iround2even.hpp deleted file mode 100644 index 7607580..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_iround2even.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fast_rec.hpp deleted file mode 100644 index 5aadb3e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_rec.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_REC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_rsqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fast_rsqrt.hpp deleted file mode 100644 index b46e85c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_rsqrt.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_RSQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_sqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fast_sqrt.hpp deleted file mode 100644 index 9a0ec4c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_sqrt.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_SQRT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_toint.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fast_toint.hpp deleted file mode 100644 index bdff125..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_toint.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_TOINT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_trunc.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fast_trunc.hpp deleted file mode 100644 index 00af4a2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fast_trunc.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_TRUNC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/floor.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/floor.hpp deleted file mode 100644 index 348a9f9..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/floor.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FLOOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fma.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fma.hpp deleted file mode 100644 index d6c7b01..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fma.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FMA_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fms.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fms.hpp deleted file mode 100644 index 73689c8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fms.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FMS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fnma.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fnma.hpp deleted file mode 100644 index ef0aec4..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fnma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FNMA_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FNMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/fnms.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/fnms.hpp deleted file mode 100644 index 50b144d..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/fnms.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FNMS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FNMS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/hypot.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/hypot.hpp deleted file mode 100644 index 6b18f96..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/hypot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_HYPOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/iceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/iceil.hpp deleted file mode 100644 index f5b5e92..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/iceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ICEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ICEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/idivceil.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/idivceil.hpp deleted file mode 100644 index 120acce..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/idivceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVCEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/idivfix.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/idivfix.hpp deleted file mode 100644 index 780d9ea..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/idivfix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVFIX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVFIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/idivfloor.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/idivfloor.hpp deleted file mode 100644 index d761378..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/idivfloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/idivround.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/idivround.hpp deleted file mode 100644 index c7a0bd5..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/idivround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/idivround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/idivround2even.hpp deleted file mode 100644 index f7b75cd..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/idivround2even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVROUND2EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/ifloor.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/ifloor.hpp deleted file mode 100644 index a36a980..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/ifloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IFLOOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/inc.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/inc.hpp deleted file mode 100644 index efc9249..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/inc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_INC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_INC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/iround.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/iround.hpp deleted file mode 100644 index 6198841..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/iround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/iround2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/iround2even.hpp deleted file mode 100644 index b45ea2a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/iround2even.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/logical_xor.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/logical_xor.hpp deleted file mode 100644 index 3b750e5..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/logical_xor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_LOGICAL_XOR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_LOGICAL_XOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/max.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/max.hpp deleted file mode 100644 index 697066e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/max.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MAX_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MAX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/meanof.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/meanof.hpp deleted file mode 100644 index 7fa894a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/meanof.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MEANOF_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MEANOF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/min.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/min.hpp deleted file mode 100644 index 53b0373..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/min.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MIN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/minmod.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/minmod.hpp deleted file mode 100644 index 1b78516..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/minmod.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MINMOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MINMOD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/minusone.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/minusone.hpp deleted file mode 100644 index 96eb3ab..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/minusone.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MINUSONE_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MINUSONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/mod.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/mod.hpp deleted file mode 100644 index 7f96db6..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/mod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MOD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MOD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/muls.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/muls.hpp deleted file mode 100644 index 1065a60..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/muls.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MULS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MULS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/negs.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/negs.hpp deleted file mode 100644 index ed320f6..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/negs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_NEGS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_NEGS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/oneminus.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/oneminus.hpp deleted file mode 100644 index 0ad8a8b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/oneminus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ONEMINUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ONEMINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/oneplus.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/oneplus.hpp deleted file mode 100644 index e54d959..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/oneplus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ONEPLUS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ONEPLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/raw_rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/raw_rec.hpp deleted file mode 100644 index 91a9c76..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/raw_rec.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_RAW_REC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/rec.hpp deleted file mode 100644 index a120dea..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/rec.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/refine_rec.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/refine_rec.hpp deleted file mode 100644 index 988857b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/refine_rec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REFINE_REC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REFINE_REC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/rem.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/rem.hpp deleted file mode 100644 index 8dfccdb..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/rem.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REM_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/remainder.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/remainder.hpp deleted file mode 100644 index 2843c86..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/remainder.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMAINDER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMAINDER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/remquo.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/remquo.hpp deleted file mode 100644 index b6c95e2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/remquo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMQUO_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMQUO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/remround.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/remround.hpp deleted file mode 100644 index ab3a8c8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/remround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/round.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/round.hpp deleted file mode 100644 index e2fa997..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/round.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ROUND_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ROUND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/round2even.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/round2even.hpp deleted file mode 100644 index 7045bc8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/round2even.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/rsqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/rsqrt.hpp deleted file mode 100644 index 3e948ea..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/rsqrt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_RSQRT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/sqr.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/sqr.hpp deleted file mode 100644 index 6bb85d8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/sqr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/sqr_abs.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/sqr_abs.hpp deleted file mode 100644 index c3c324c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/sqr_abs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQR_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQR_ABS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/sqrs.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/sqrs.hpp deleted file mode 100644 index a4e4b70..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/sqrs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQRS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQRS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/sqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/sqrt.hpp deleted file mode 100644 index 461168e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/sqrt.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQRT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/subs.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/subs.hpp deleted file mode 100644 index 6f41fed..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/subs.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SUBS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SUBS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/tenpower.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/tenpower.hpp deleted file mode 100644 index 4a95c7a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/tenpower.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TENPOWER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TENPOWER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/tofloat.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/tofloat.hpp deleted file mode 100644 index bf5efa0..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/tofloat.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOFLOAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/toint.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/toint.hpp deleted file mode 100644 index 300688e..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/toint.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOINT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/toints.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/toints.hpp deleted file mode 100644 index 1cbd902..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/toints.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOINTS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/touint.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/touint.hpp deleted file mode 100644 index a13248c..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/touint.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOUINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOUINT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/touints.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/touints.hpp deleted file mode 100644 index da5e0e8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/touints.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOUINTS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/trunc.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/trunc.hpp deleted file mode 100644 index f9168b5..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/trunc.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TRUNC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/two_add.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/two_add.hpp deleted file mode 100644 index f4b38c2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/two_add.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_ADD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_ADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/two_prod.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/two_prod.hpp deleted file mode 100644 index 5c22ce1..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/two_prod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_PROD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_PROD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/simd/two_split.hpp b/inst/include/boost/simd/arithmetic/include/functions/simd/two_split.hpp deleted file mode 100644 index 094f31f..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/simd/two_split.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_SPLIT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/sqr.hpp b/inst/include/boost/simd/arithmetic/include/functions/sqr.hpp deleted file mode 100644 index 244ab22..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/sqr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SQR_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SQR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/sqr_abs.hpp b/inst/include/boost/simd/arithmetic/include/functions/sqr_abs.hpp deleted file mode 100644 index 1463220..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/sqr_abs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SQR_ABS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SQR_ABS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/sqrs.hpp b/inst/include/boost/simd/arithmetic/include/functions/sqrs.hpp deleted file mode 100644 index 849bd28..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/sqrs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SQRS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SQRS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/sqrt.hpp b/inst/include/boost/simd/arithmetic/include/functions/sqrt.hpp deleted file mode 100644 index 3728dd3..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/sqrt.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SQRT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SQRT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/subs.hpp b/inst/include/boost/simd/arithmetic/include/functions/subs.hpp deleted file mode 100644 index b9b41a2..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/subs.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SUBS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_SUBS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/tenpower.hpp b/inst/include/boost/simd/arithmetic/include/functions/tenpower.hpp deleted file mode 100644 index 1f9009d..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/tenpower.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TENPOWER_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TENPOWER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/tofloat.hpp b/inst/include/boost/simd/arithmetic/include/functions/tofloat.hpp deleted file mode 100644 index 8e717e6..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/tofloat.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOFLOAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/toint.hpp b/inst/include/boost/simd/arithmetic/include/functions/toint.hpp deleted file mode 100644 index d331708..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/toint.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOINT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/toints.hpp b/inst/include/boost/simd/arithmetic/include/functions/toints.hpp deleted file mode 100644 index dfe2fe0..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/toints.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOINTS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/touint.hpp b/inst/include/boost/simd/arithmetic/include/functions/touint.hpp deleted file mode 100644 index fd15c1b..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/touint.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOUINT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOUINT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/touints.hpp b/inst/include/boost/simd/arithmetic/include/functions/touints.hpp deleted file mode 100644 index 1e27a11..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/touints.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TOUINTS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/trunc.hpp b/inst/include/boost/simd/arithmetic/include/functions/trunc.hpp deleted file mode 100644 index 709cd3a..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/trunc.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TRUNC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/two_add.hpp b/inst/include/boost/simd/arithmetic/include/functions/two_add.hpp deleted file mode 100644 index dc2fda9..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/two_add.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_ADD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_ADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/two_prod.hpp b/inst/include/boost/simd/arithmetic/include/functions/two_prod.hpp deleted file mode 100644 index f84bf93..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/two_prod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_PROD_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_PROD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/arithmetic/include/functions/two_split.hpp b/inst/include/boost/simd/arithmetic/include/functions/two_split.hpp deleted file mode 100644 index b5510e8..0000000 --- a/inst/include/boost/simd/arithmetic/include/functions/two_split.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/bitwise.hpp b/inst/include/boost/simd/bitwise/bitwise.hpp deleted file mode 100644 index 0e1d3a8..0000000 --- a/inst/include/boost/simd/bitwise/bitwise.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_BITWISE_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_BITWISE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/constants.hpp b/inst/include/boost/simd/bitwise/constants.hpp deleted file mode 100644 index 919e2d6..0000000 --- a/inst/include/boost/simd/bitwise/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/bitwise/functions.hpp b/inst/include/boost/simd/bitwise/functions.hpp deleted file mode 100644 index 20238e2..0000000 --- a/inst/include/boost/simd/bitwise/functions.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/bitget.hpp b/inst/include/boost/simd/bitwise/functions/bitget.hpp deleted file mode 100644 index 73bf7a1..0000000 --- a/inst/include/boost/simd/bitwise/functions/bitget.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_BITGET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_BITGET_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitget generic tag - - Represents the bitget function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitget_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitget_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitget_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitget_; - } - /*! - Returns the value of th ith bit in x as an unsigned integer - - @par semantic: - For any given value @c x of type @c T, i of type @c I: - - @code - as_integer r = bitget(x, i); - @endcode - - r contains is 0 or 2^i according to the fact the ith bit of x is 0 or 1 - - @see @funcref{bitset} - @param x - @param i - - @return a value of the unsigned integer type associated to the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitget_, bitget, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/bits.hpp b/inst/include/boost/simd/bitwise/functions/bits.hpp deleted file mode 100644 index ee45cd6..0000000 --- a/inst/include/boost/simd/bitwise/functions/bits.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_BITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_BITS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief bits generic tag - - Represents the bits function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bits_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bits_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bits_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bits_; - } - /*! - Returns an unsigned integer value which has the same bits as the input - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = bits(x); - @endcode - - is equivalent to: - - @code - as_integer r = bitwase_cast< as_integer>(a0); - @endcode - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bits_, bits, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/bitwise/functions/bitset.hpp b/inst/include/boost/simd/bitwise/functions/bitset.hpp deleted file mode 100644 index bef9c85..0000000 --- a/inst/include/boost/simd/bitwise/functions/bitset.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_BITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_BITSET_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitset generic tag - - Represents the bitset function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitset_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitset_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitset_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitset_; - } - /*! - Returns x with the ith bit set - - @par semantic: - For any given value @c x of type @c T, i of type @c I: - - @code - as_integer r = bitset(x, i); - @endcode - - @see @funcref{bitset} - @param x - @param i - - @return a value of the type of the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitset_, bitset, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/bitwise_andnot.hpp b/inst/include/boost/simd/bitwise/functions/bitwise_andnot.hpp deleted file mode 100644 index 9079066..0000000 --- a/inst/include/boost/simd/bitwise/functions/bitwise_andnot.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== - -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitwise_andnot generic tag - - Represents the bitwise_andnot function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitwise_andnot_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitwise_andnot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitwise_andnot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitwise_andnot_; - } - /*! - Computes the bitwise and not of its parameters. - - @par semantic: - For any given value @c x, of type @c T1 @c y of type @c T2 - of same memory size: - - @code - T1 r = bitwise_andnot(x, y); - @endcode - - The code is equivalent to: - - @code - T1 r = x & ~y; - @endcode - - @par Alias - - b_andnot - - @see @funcref{bitwise_and}, @funcref{bitwise_or}, @funcref{bitwise_xor}, @funcref{bitwise_notand}, - @funcref{bitwise_notor}, @funcref{bitwise_ornot}, @funcref{complement} - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_andnot_, bitwise_andnot, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_andnot_, b_andnot, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/bitwise_notand.hpp b/inst/include/boost/simd/bitwise/functions/bitwise_notand.hpp deleted file mode 100644 index 32c9886..0000000 --- a/inst/include/boost/simd/bitwise/functions/bitwise_notand.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED -#include -#include -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitwise_notand generic tag - - Represents the bitwise_notand function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitwise_notand_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitwise_notand_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitwise_notand_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitwise_notand_; - } - /*! - Computes the bitwise and not of its parameters. - - @par semantic: - For any given value @c x, of type @c T1 @c y of type @c T2 - of same memory size: - - @code - T1 r = bitwise_notand(x, y); - @endcode - - The code is equivalent to: - - @code - T1 r = ~x & y; - @endcode - - @par Alias - - b_notand - - @see @funcref{bitwise_or}, @funcref{bitwise_xor}, @funcref{bitwise_and}, - @funcref{bitwise_andnot}, @funcref{bitwise_notor}, @funcref{bitwise_ornot}, @funcref{complement} - - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_notand_, bitwise_notand, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_notand_, b_notand, 2) -} } - -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/boost/simd/bitwise/functions/bitwise_notor.hpp b/inst/include/boost/simd/bitwise/functions/bitwise_notor.hpp deleted file mode 100644 index ee107dc..0000000 --- a/inst/include/boost/simd/bitwise/functions/bitwise_notor.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED -#include -#include -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitwise_notor generic tag - - Represents the bitwise_notor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitwise_notor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitwise_notor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitwise_notor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitwise_notor_; - } - /*! - Computes the bitwise and not of its parameters. - - @par semantic: - For any given value @c x, of type @c T1 @c y of type @c T2 - of same memory size: - - @code - T1 r = bitwise_notor(x, y); - @endcode - - The code is equivalent to: - - @code - T1 r = ~x | y; - @endcode - - @par Alias - - b_notor - - @see @funcref{bitwise_and}, @funcref{bitwise_or}, @funcref{bitwise_xor}, @funcref{bitwise_notand}, - @funcref{bitwise_and}, @funcref{bitwise_ornot}, @funcref{complement} - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_notor_, bitwise_notor, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_notor_, b_notor, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/bitwise_ornot.hpp b/inst/include/boost/simd/bitwise/functions/bitwise_ornot.hpp deleted file mode 100644 index dbba434..0000000 --- a/inst/include/boost/simd/bitwise/functions/bitwise_ornot.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitwise_ornot generic tag - - Represents the bitwise_ornot function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitwise_ornot_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitwise_ornot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitwise_ornot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitwise_ornot_; - } - /*! - Computes the bitwise and not of its parameters. - - @par semantic: - For any given value @c x, of type @c T1 @c y of type @c T2 - of same memory size: - - @code - T1 r = bitwise_ornot(x, y); - @endcode - - The code is equivalent to: - - @code - T1 r = x | ~y; - @endcode - - @par Alias - - b_ornot - - @see @funcref{bitwise_and}, @funcref{bitwise_xor}, @funcref{bitwise_notand}, - @funcref{bitwise_andnot}, @funcref{bitwise_notor}, @funcref{bitwise_ornot}, @funcref{complement} - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_ornot_, bitwise_ornot, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_ornot_, b_ornot, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/bitwise_select.hpp b/inst/include/boost/simd/bitwise/functions/bitwise_select.hpp deleted file mode 100644 index 9437650..0000000 --- a/inst/include/boost/simd/bitwise/functions/bitwise_select.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED -#include -#include -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitwise_select generic tag - - Represents the bitwise_select function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitwise_select_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitwise_select_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitwise_select_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitwise_select_; - } - /*! - Returns the bitwise selection of bits from the second - or third operand according to the setting of the bits - of the first operand - - @par semantic: - For any given value @c x, of type @c T1, @c y of type @c T2 and @c z of type @c T2 - of same memory size: - - @code - T2 r = bitwise_select(x, y, z); - @endcode - - The code is equivalent to: - - @code - T2 r = (x&y)|(z&~y); - @endcode - - @par Alias - - b_select - - @param a0 selector - @param a1 bits selected for a0 bits that are on - @param a2 bits selected for a0 bits that are off - - @return a value of the same type as the second input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_select_, bitwise_select, 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_select_, b_select, 3) -} } - -#endif - diff --git a/inst/include/boost/simd/bitwise/functions/clz.hpp b/inst/include/boost/simd/bitwise/functions/clz.hpp deleted file mode 100644 index 99382f2..0000000 --- a/inst/include/boost/simd/bitwise/functions/clz.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_CLZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_CLZ_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief clz generic tag - - Represents the clz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct clz_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_clz_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_clz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_clz_; - } - /*! - Returns the bit count of leading zeros. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = clz(x); - @endcode - - @see @funcref{ctz}, @funcref{popcnt} - @param a0 - - @return a value unsigned integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::clz_, clz, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/ctz.hpp b/inst/include/boost/simd/bitwise/functions/ctz.hpp deleted file mode 100644 index 923e9e0..0000000 --- a/inst/include/boost/simd/bitwise/functions/ctz.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_CTZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_CTZ_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ctz generic tag - - Represents the ctz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ctz_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ctz_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ctz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ctz_; - } - - /*! - @brief Returns the bit count of trailing zeroes - - Finds the first bit set in a0, and returns the index of that bit, 0 being - the least significant bit index. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = ctz(x); - @endcode - - @see @funcref{clz}, @funcref{popcnt} - @param a0 Value to check - - @return An unsigned integral value containing the index of the first bit - set in a0. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ctz_, ctz, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/ffs.hpp b/inst/include/boost/simd/bitwise/functions/ffs.hpp deleted file mode 100644 index 5308f5a..0000000 --- a/inst/include/boost/simd/bitwise/functions/ffs.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_FFS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_FFS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ffs generic tag - - Represents the ffs function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ffs_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ffs_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ffs_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ffs_; - } - /*! - returns the index - of the first bit set (beginning with the least - significant bit) in the parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = ffs(x); - @endcode - - @see @funcref{firstbitset}, @funcref{firstbitunset} - @param a0 - - @return a value unsigned integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ffs_, ffs, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/firstbitset.hpp b/inst/include/boost/simd/bitwise/functions/firstbitset.hpp deleted file mode 100644 index 129fe0c..0000000 --- a/inst/include/boost/simd/bitwise/functions/firstbitset.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief firstbitset generic tag - - Represents the firstbitset function in generic contexts. - - @par Models: - Hierarchy - **/ - struct firstbitset_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_firstbitset_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_firstbitset_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_firstbitset_; - } - /*! - Returns the bit pattern in which the only bit set is - the first bit set (beginning with the least significant bit) in the parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = firstbitset(x); - @endcode - - @see @funcref{ffs}, @funcref{firstbitunset} - @param a0 - - @return a value unsigned integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::firstbitset_, firstbitset, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/firstbitunset.hpp b/inst/include/boost/simd/bitwise/functions/firstbitunset.hpp deleted file mode 100644 index f23b72c..0000000 --- a/inst/include/boost/simd/bitwise/functions/firstbitunset.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief firstbitunset generic tag - - Represents the firstbitunset function in generic contexts. - - @par Models: - Hierarchy - **/ - struct firstbitunset_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_firstbitunset_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_firstbitunset_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_firstbitunset_; - } - /*! - Returns the bit pattern in which the only bit set is - the first bit unset (beginning with the least significant bit) in the parameter. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = firstbitunset(x); - @endcode - - @see @funcref{ffs}, @funcref{firstbitset} - @param a0 - - @return a value unsigned integral type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::firstbitunset_, firstbitunset, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/bitwise/functions/generic/bitget.hpp b/inst/include/boost/simd/bitwise/functions/generic/bitget.hpp deleted file mode 100644 index 4890f6d..0000000 --- a/inst/include/boost/simd/bitwise/functions/generic/bitget.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_BITGET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_BITGET_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF( bitget_, tag::cpu_ - , (A0)(A1) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , (generic_< arithmetic_ >) - (generic_< integer_ >) - ) - { - typedef typename boost::dispatch::meta::as_integer::type result_type; - typedef typename boost::dispatch::meta::scalar_of::type sA0; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - A1 c = splat(sizeof(sA0)*CHAR_BIT); - BOOST_ASSERT_MSG(assert_good_shift(c-a1)&&assert_good_shift(dec(c)) - , "bitget :index is out of range"); - - return shr(shl(bitwise_cast(a0), c-a1), dec(c)); - } - }; - - BOOST_DISPATCH_IMPLEMENT( bitget_, tag::cpu_ - , (A0)(A1) - , (generic_< arithmetic_ >) - (scalar_< integer_ >) - ) - { - typedef typename boost::dispatch::meta::as_integer::type result_type; - typedef typename boost::dispatch::meta::scalar_of::type sA0; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - A1 c = sizeof(sA0)*CHAR_BIT; - BOOST_ASSERT_MSG(assert_good_shift(c-a1)&&assert_good_shift(dec(c)) - , "bitget :index is out of range"); - return shr(shl(bitwise_cast(a0), c-a1), dec(c)); - } - - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/generic/bits.hpp b/inst/include/boost/simd/bitwise/functions/generic/bits.hpp deleted file mode 100644 index 59a93d0..0000000 --- a/inst/include/boost/simd/bitwise/functions/generic/bits.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_BITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_BITS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bits_, tag::cpu_,(A0) - , ((generic_ >)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return bitwise_cast(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/generic/bitset.hpp b/inst/include/boost/simd/bitwise/functions/generic/bitset.hpp deleted file mode 100644 index 7077939..0000000 --- a/inst/include/boost/simd/bitwise/functions/generic/bitset.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_BITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_BITSET_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF( bitset_, tag::cpu_ - , (A0)(A1) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , (generic_< arithmetic_ >) - (generic_< integer_ >) - ) - { - typedef typename boost::dispatch::meta::as_integer::type i_type; - typedef typename boost::dispatch::meta::scalar_of::type sA0; - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - BOOST_ASSERT_MSG(assert_good_shift(dec(a1)), "bitset :index is out of range"); - return bitwise_or(a0, shl(One(), dec(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT( bitset_, tag::cpu_ - , (A0)(A1) - , (generic_< arithmetic_ >) - (scalar_< integer_ >) - ) - { - typedef typename boost::dispatch::meta::as_integer::type i_type; - typedef typename boost::dispatch::meta::scalar_of::type sA0; - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - BOOST_ASSERT_MSG(assert_good_shift(dec(a1)), "bitset :index is out of range"); - return bitwise_or(a0, shl(One(), dec(a1))); - } - - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/generic/bitwise_select.hpp b/inst/include/boost/simd/bitwise/functions/generic/bitwise_select.hpp deleted file mode 100644 index 966c5a5..0000000 --- a/inst/include/boost/simd/bitwise/functions/generic/bitwise_select.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_BITWISE_SELECT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_BITWISE_SELECT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_select_, tag::cpu_, (A0)(A1) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((generic_ >)) - ((generic_ >)) - ((generic_ >)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A1 const& a2) const - { - return bitwise_or(bitwise_and(a1,a0),bitwise_andnot(a2,a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/generic/hi.hpp b/inst/include/boost/simd/bitwise/functions/generic/hi.hpp deleted file mode 100644 index e247c25..0000000 --- a/inst/include/boost/simd/bitwise/functions/generic/hi.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_HI_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_HI_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hi_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - typedef typename dispatch::meta::scalar_of::type s_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - const s_t half_bits = sizeof(s_t)*(CHAR_BIT/2); - return lo( shri(a0, half_bits) ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/generic/lo.hpp b/inst/include/boost/simd/bitwise/functions/generic/lo.hpp deleted file mode 100644 index fbdecca..0000000 --- a/inst/include/boost/simd/bitwise/functions/generic/lo.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_LO_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_LO_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( lo_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - typedef typename dispatch::meta::scalar_of::type s_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - static const s_t pattern = (s_t(1) << sizeof(s_t)*(CHAR_BIT/2)) - 1; - return b_and( integral_constant(), a0 ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/generic/rol.hpp b/inst/include/boost/simd/bitwise/functions/generic/rol.hpp deleted file mode 100644 index 70557e6..0000000 --- a/inst/include/boost/simd/bitwise/functions/generic/rol.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_ROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_ROL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( rol_, tag::cpu_ - , (A0)(A1) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , (generic_< integer_ >) - (generic_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - typedef typename meta::scalar_of::type s_t; - BOOST_ASSERT_MSG(assert_good_shift(a1), "rol : rotation is out of range"); - - s_t const width = sizeof(s_t)*CHAR_BIT; - return shli(a0, a1) | shri(a0, (width-splat(a1)) & (width-1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( rol_, tag::cpu_ - , (A0)(A1) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , (generic_< floating_ >) - (generic_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast( rol ( bitwise_cast(a0) - , splat(a1) - ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/generic/ror.hpp b/inst/include/boost/simd/bitwise/functions/generic/ror.hpp deleted file mode 100644 index b5dbd91..0000000 --- a/inst/include/boost/simd/bitwise/functions/generic/ror.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_ROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_ROR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( ror_, tag::cpu_ - , (A0)(A1) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , (generic_< integer_ >) - (generic_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - typedef typename meta::scalar_of::type s_t; - BOOST_ASSERT_MSG(assert_good_shift(a1), "ror : rotation is out of range"); - - s_t const width = sizeof(s_t)*CHAR_BIT; - return shri(a0, a1) | shli(a0, (width-splat(a1)) & (width-1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( ror_, tag::cpu_ - , (A0)(A1) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , (generic_< floating_ >) - (generic_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast( ror ( bitwise_cast(a0) - , splat(a1) - ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/generic/swapbytes.hpp b/inst/include/boost/simd/bitwise/functions/generic/swapbytes.hpp deleted file mode 100644 index 7cdd959..0000000 --- a/inst/include/boost/simd/bitwise/functions/generic/swapbytes.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENERIC_SWAPBYTES_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( swapbytes_, tag::cpu_ - , (A0) - , (generic_< ints8_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - BOOST_DISPATCH_IMPLEMENT( swapbytes_, tag::cpu_ - , (A0) - , (generic_< ints16_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return shl(a0, 8)|shr(a0, 8); - } - }; - BOOST_DISPATCH_IMPLEMENT( swapbytes_, tag::cpu_ - , (A0) - , (generic_< type32_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - result_type val = ((shl(a0, 8) & 0xFF00FF00 ) | (shr(a0, 8) & 0xFF00FF )); - return shl(val, 16) | shr(val,16); - } - }; - BOOST_DISPATCH_IMPLEMENT( swapbytes_, tag::cpu_ - , (A0) - , (generic_< type64_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - result_type val = (shl(a0, 8) & 0xFF00FF00FF00FF00ULL ) | (shr(a0, 8) & 0x00FF00FF00FF00FFULL ); - val = (shl(val, 16) & 0xFFFF0000FFFF0000ULL ) | (shr(val, 16) & 0x0000FFFF0000FFFFULL ); - return shl(val, 32) | shr(val,32); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/genmask.hpp b/inst/include/boost/simd/bitwise/functions/genmask.hpp deleted file mode 100644 index 87f31b5..0000000 --- a/inst/include/boost/simd/bitwise/functions/genmask.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENMASK_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENMASK_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief genmask generic tag - - Represents the genmask function in generic contexts. - - @par Models: - Hierarchy - **/ - struct genmask_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_genmask_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_genmask_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_genmask_; - } - /*! - Returns a mask of bits. All ones if the - input element is non zero else all zeros. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = genmask(x); - @endcode - - is similar to - - @code - T r = x ? Allbits : Zero; - @endcode - - @par Alias: - @c typed_mask, @c logical2mask, @c l2m, @c typed_mask, @c if_allbits_else_zero - - @see @funcref{if_allbits_else} - @param a0 - - @return a value of the type of the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmask_, genmask, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmask_, typed_mask, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmask_, logical2mask, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmask_, l2m, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmask_, if_allbits_else_zero, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/genmaskc.hpp b/inst/include/boost/simd/bitwise/functions/genmaskc.hpp deleted file mode 100644 index e597ee7..0000000 --- a/inst/include/boost/simd/bitwise/functions/genmaskc.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_GENMASKC_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_GENMASKC_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief genmaskc generic tag - - Represents the genmaskc function in generic contexts. - - @par Models: - Hierarchy - **/ - struct genmaskc_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_genmaskc_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_genmaskc_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_genmaskc_; - } - /*! - Returns a mask of bits. All ones if the - input element is zero else all zeros. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = genmaskc(x); - @endcode - - is similar to - - @code - T r = x ? Zero : Allbits; - @endcode - - @par Alias: - @c typed_maskc, @c logical2maskc, @c l2mc, @c typed_maskc, @c if_zero_else_allbits - - @see @funcref{if_else_allbits} - @param a0 - - @return a value of the type of the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmaskc_, genmaskc, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmaskc_, typed_maskc, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmaskc_, logical2maskc, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmaskc_, l2mc, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::genmaskc_, if_zero_else_allbits, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/hi.hpp b/inst/include/boost/simd/bitwise/functions/hi.hpp deleted file mode 100644 index a0f5abd..0000000 --- a/inst/include/boost/simd/bitwise/functions/hi.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_HI_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_HI_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief hi generic tag - - Represents the hi function in generic contexts. - - @par Models: - Hierarchy - **/ - struct hi_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_hi_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_hi_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_hi_; - } - /*! - Returns the high part of the entry - as an unsigned integer of the size of - the input. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = hi(x); - @endcode - - @see @funcref{lo} - @param a0 - - @return a value of the unsigned integer - type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::hi_, hi, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/ilog2.hpp b/inst/include/boost/simd/bitwise/functions/ilog2.hpp deleted file mode 100644 index 61fdd38..0000000 --- a/inst/include/boost/simd/bitwise/functions/ilog2.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_ILOG2_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_ILOG2_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ilog2 generic tag - - Represents the ilog2 function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ilog2_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ilog2_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ilog2_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ilog2_; - } - /*! - Returns the integer part of the base 2 - logarithm of the input. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = ilog2(x); - @endcode - - The code is similar to - - @code - as_integer r = toints(log2(x)); - @endcode - - @see @funcref{twopower}, @funcref{exponent} - @param a0 - - @return a value of the integer - type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ilog2_, ilog2, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/lo.hpp b/inst/include/boost/simd/bitwise/functions/lo.hpp deleted file mode 100644 index 6ccb5cb..0000000 --- a/inst/include/boost/simd/bitwise/functions/lo.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_LO_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_LO_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief lo generic tag - - Represents the lo function in generic contexts. - - @par Models: - Hierarchy - **/ - struct lo_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_lo_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_lo_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_lo_; - } - /*! - Returns the low part of the entry - as an unsigned integer of the size of - the input. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = lo(x); - @endcode - - @see @funcref{hi} - @param a0 - - @return a value of the unsigned integer - type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::lo_, lo, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/popcnt.hpp b/inst/include/boost/simd/bitwise/functions/popcnt.hpp deleted file mode 100644 index aac047c..0000000 --- a/inst/include/boost/simd/bitwise/functions/popcnt.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_POPCNT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_POPCNT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief popcnt generic tag - - Represents the popcnt function in generic contexts. - - @par Models: - Hierarchy - **/ - struct popcnt_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_popcnt_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_popcnt_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_popcnt_; - } - /*! - Returns the number of bit sets the input. - - @par semantic: - For any given value @c x of type @c T: - - @code - as_integer r = popcnt(x); - @endcode - - @see @funcref{clz}, @funcref{ctz} - @param a0 - - @return a value of the unsigned integer - type associated to the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::popcnt_, popcnt, 1) -} } -#endif diff --git a/inst/include/boost/simd/bitwise/functions/reversebits.hpp b/inst/include/boost/simd/bitwise/functions/reversebits.hpp deleted file mode 100644 index d6b54b0..0000000 --- a/inst/include/boost/simd/bitwise/functions/reversebits.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief reversebits generic tag - - Represents the reversebits function in generic contexts. - - @par Models: - Hieerarchy - **/ - struct reversebits_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_reversebits_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_reversebits_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_reversebits_; - } - /*! - Returns the bits of the entry in reverse order. - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = reversebits(x); - @endcode - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::reversebits_, reversebits, 1) -} } -#endif diff --git a/inst/include/boost/simd/bitwise/functions/rol.hpp b/inst/include/boost/simd/bitwise/functions/rol.hpp deleted file mode 100644 index 2a7e1f7..0000000 --- a/inst/include/boost/simd/bitwise/functions/rol.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_ROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_ROL_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief rol generic tag - - Represents the rol function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rol_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rol_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rol_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rol_; - } - /*! - Returns the first entry rotated left - by the absolute value of the second entry. - - @par semantic: - For any given value @c x of type @c T, n of type @c I: - - @code - T r = rol(x, n); - @endcode - - @see @funcref{ror}, @funcref{rrol}, @funcref{rror} - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rol_, rol, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/ror.hpp b/inst/include/boost/simd/bitwise/functions/ror.hpp deleted file mode 100644 index d290876..0000000 --- a/inst/include/boost/simd/bitwise/functions/ror.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_ROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_ROR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ror generic tag - - Represents the ror function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ror_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ror_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ror_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ror_; - } - /*! - Returns the first entry rotated right - by the absolute value of the second entry. - - @par semantic: - For any given value @c x of type @c T, n of type @c I: - - @code - T r = ror(x, n); - @endcode - - @see @funcref{rol}, @funcref{rror}, @funcref{rrol} - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ror_, ror, 2) -} } -#endif diff --git a/inst/include/boost/simd/bitwise/functions/rrol.hpp b/inst/include/boost/simd/bitwise/functions/rrol.hpp deleted file mode 100644 index 0a53f1f..0000000 --- a/inst/include/boost/simd/bitwise/functions/rrol.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_RROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_RROL_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief rrol generic tag - - Represents the rrol function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rrol_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rrol_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rrol_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rrol_; - } - /*! - Returns the first entry rotated left or right - by the absolute value of the second entry, - according to its sign. - - @par semantic: - For any given value @c x of type @c T, n of type @c I: - - @code - T r = rrol(x, n); - @endcode - - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rrol_, rrol, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/rror.hpp b/inst/include/boost/simd/bitwise/functions/rror.hpp deleted file mode 100644 index e60386d..0000000 --- a/inst/include/boost/simd/bitwise/functions/rror.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_RROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_RROR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief rror generic tag - - Represents the rror function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rror_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rror_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rror_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rror_; - } - /*! - Returns the first entry rotated right or left - by the absolute value of the second entry, - according to its sign. - - @par semantic: - For any given value @c x of type @c T, n of type @c I: - - @code - T r = rror(x, n); - @endcode - - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rror_, rror, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/rshl.hpp b/inst/include/boost/simd/bitwise/functions/rshl.hpp deleted file mode 100644 index 62c8243..0000000 --- a/inst/include/boost/simd/bitwise/functions/rshl.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_RSHL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_RSHL_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief rshl generic tag - - Represents the rshl function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rshl_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rshl_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rshl_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rshl_; - } - /*! - Returns the first entry shifted left or right - by the absolute value of the second entry, - according to its sign. - - @par semantic: - For any given value @c x of type @c T, n of type @c I: - - @code - T r = rshl(x, n); - @endcode - - @see @funcref{rshr}, @funcref{shr}, @funcref{shl} - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rshl_, rshl, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/rshr.hpp b/inst/include/boost/simd/bitwise/functions/rshr.hpp deleted file mode 100644 index d03948d..0000000 --- a/inst/include/boost/simd/bitwise/functions/rshr.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_RSHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_RSHR_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief rshr generic tag - - Represents the rshr function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rshr_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rshr_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rshr_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rshr_; - } - /*! - Returns the first entry shifted right or left - by the absolute value of the second entry, - according to its sign. - - @par semantic: - For any given value @c x of type @c T, n of type @c I: - - @code - T r = rshr(x, n); - @endcode - - @see @funcref{rshl}, @funcref{shr}, @funcref{shl} - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rshr_, rshr, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/bitwise_andnot.hpp b/inst/include/boost/simd/bitwise/functions/scalar/bitwise_andnot.hpp deleted file mode 100644 index 201b89c..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/bitwise_andnot.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_BITWISE_ANDNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_andnot_, tag::cpu_, (A0)(A1), - (boost::mpl::bool_) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type bts; - return bitwise_cast(b_and(bitwise_cast(a0), - b_not(bitwise_cast(a1)) - ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/bitwise_notand.hpp b/inst/include/boost/simd/bitwise/functions/scalar/bitwise_notand.hpp deleted file mode 100644 index 009ec15..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/bitwise_notand.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_BITWISE_NOTAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_notand_, tag::cpu_, (A0)(A1), - (boost::mpl::bool_) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type bts; - return bitwise_cast(b_and(b_not(bitwise_cast(a0)), - bitwise_cast(a1) - ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/bitwise_notor.hpp b/inst/include/boost/simd/bitwise/functions/scalar/bitwise_notor.hpp deleted file mode 100644 index 8167180..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/bitwise_notor.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_BITWISE_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_BITWISE_NOTOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_notor_, tag::cpu_, (A0)(A1), - (boost::mpl::bool_) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type bts; - return bitwise_cast(b_or(b_not(bitwise_cast(a0)), - bitwise_cast(a1) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_notor_, tag::cpu_, (A0)(A1) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) { return a1 || !a0; } - - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/bitwise_ornot.hpp b/inst/include/boost/simd/bitwise/functions/scalar/bitwise_ornot.hpp deleted file mode 100644 index e080594..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/bitwise_ornot.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_BITWISE_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_BITWISE_ORNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_ornot_, tag::cpu_, (A0)(A1), - (boost::mpl::bool_) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type bts; - return bitwise_cast(b_or(bitwise_cast(a0), - b_not(bitwise_cast(a1)) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_ornot_, tag::cpu_ , (A0)(A1) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) { return a0 || !a1; } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/clz.hpp b/inst/include/boost/simd/bitwise/functions/scalar/clz.hpp deleted file mode 100644 index 764a08a..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/clz.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_CLZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_CLZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( clz_, tag::cpu_, (A0) - , (scalar_< type64_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type t1 = bitwise_cast(a0); - BOOST_ASSERT_MSG( t1, "clz not defined for 0" ); - - #ifdef __GNUC__ - return __builtin_clzll(t1); - #else - return boost::simd::ffs(reversebits(t1))-1; - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( clz_, tag::cpu_ - , (A0) - , (scalar_< type32_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type t1 = bitwise_cast(a0); - BOOST_ASSERT_MSG( t1, "clz not defined for 0" ); - - #ifdef __GNUC__ - return __builtin_clz(t1); - #else - return boost::simd::ffs(reversebits(t1))-1; - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( clz_, tag::cpu_ - , (A0) - , (scalar_< type16_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type i_type; - i_type t1 = bitwise_cast(a0); - return result_type(boost::simd::clz(uint32_t(t1))-16); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( clz_, tag::cpu_ , (A0) - , (scalar_< type8_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type i_type; - i_type t1 = bitwise_cast(a0); - return result_type(boost::simd::clz(uint32_t(t1))-24); - } - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/bitwise/functions/scalar/ctz.hpp b/inst/include/boost/simd/bitwise/functions/scalar/ctz.hpp deleted file mode 100644 index 8d19f76..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/ctz.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_CTZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_CTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ctz_, tag::cpu_ - , (A0) - , (scalar_< type64_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - result_type that = bitwise_cast(a0); - BOOST_ASSERT_MSG( that, "ctz not defined for 0" ); - - #if defined __GNUC__ - return __builtin_ctzll(that); - #else - return boost::simd::ffs(that)-1; - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ctz_, tag::cpu_ - , (A0) - , (scalar_< type32_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - result_type that = bitwise_cast(a0); - BOOST_ASSERT_MSG( that, "ctz not defined for 0" ); - - #if defined __GNUC__ - return __builtin_ctz(that); - #else - return boost::simd::ffs(that)-1; - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ctz_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - return result_type(boost::simd::ctz(uint32_t(a0))); - } - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/bitwise/functions/scalar/ffs.hpp b/inst/include/boost/simd/bitwise/functions/scalar/ffs.hpp deleted file mode 100644 index 4e5550d..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/ffs.hpp +++ /dev/null @@ -1,123 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_FFS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_FFS_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ffs_, tag::cpu_, (A0) - , (scalar_< type64_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type t1 = bitwise_cast(a0); - - #ifdef __GNUC__ - return __builtin_ffsll(t1); - #elif defined BOOST_MSVC && defined _WIN64 - unsigned long index; - if(_BitScanForward64(&index, uint64_t(t1))) - return index+1; - return 0; - #elif defined BOOST_MSVC - unsigned long index; - if (b_and(t1, (uint64_t(-1) >> 32))) - { - _BitScanForward(&index, uint32_t(t1)); - return index+1; - } - if(_BitScanForward(&index, uint32_t(t1 >> 32))) - return index+1 + 32; - return 0; - #else - if(!t1) - return 0; - - // see http://supertech.csail.mit.edu/papers/debruijn.pdf - const uint64_t magic = 0x03f79d71b4cb0a89ULL; - static const unsigned int magictable[64] = - { - 0, 1, 48, 2, 57, 49, 28, 3, - 61, 58, 50, 42, 38, 29, 17, 4, - 62, 55, 59, 36, 53, 51, 43, 22, - 45, 39, 33, 30, 24, 18, 12, 5, - 63, 47, 56, 27, 60, 41, 37, 16, - 54, 35, 52, 21, 44, 32, 23, 11, - 46, 26, 40, 15, 34, 20, 31, 10, - 25, 14, 19, 9, 13, 8, 7, 6, - }; - - return magictable[((t1&-t1)*magic) >> 58] + 1; - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ffs_, tag::cpu_ - , (A0) - , (scalar_< type32_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type t1 = bitwise_cast(a0); - - #ifdef __GNUC__ - return __builtin_ffs(t1); - #elif defined(BOOST_MSVC) - unsigned long index; - if(_BitScanForward(&index, t1)) - return index+1; - return 0; - #else - if(!t1) - return 0; - - // see http://supertech.csail.mit.edu/papers/debruijn.pdf - static const uint32_t magic = 0x077CB531U; - static const int magictable[32] = - { - 0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8, - 31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9 - }; - - return magictable[((t1&-t1)*magic) >> 27] + 1; - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ffs_, tag::cpu_ , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type t1 = bitwise_cast(a0); - typedef typename meta::make_dependent::type itype; - return result_type(boost::simd::ffs(itype(t1))); - } - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/bitwise/functions/scalar/firstbitset.hpp b/inst/include/boost/simd/bitwise/functions/scalar/firstbitset.hpp deleted file mode 100644 index a19343e..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/firstbitset.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_FIRSTBITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_FIRSTBITSET_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( firstbitset_, tag::cpu_, (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0 & (~a0+One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( firstbitset_, tag::cpu_, (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return firstbitset(bitwise_cast(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/firstbitunset.hpp b/inst/include/boost/simd/bitwise/functions/scalar/firstbitunset.hpp deleted file mode 100644 index 970cd7e..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/firstbitunset.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_FIRSTBITUNSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_FIRSTBITUNSET_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( firstbitunset_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return ~a0 & (a0+One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( firstbitunset_, tag::cpu_, (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return firstbitunset(bitwise_cast(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/genmask.hpp b/inst/include/boost/simd/bitwise/functions/scalar/genmask.hpp deleted file mode 100644 index a6ca284..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/genmask.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_GENMASK_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_GENMASK_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( genmask_, tag::cpu_, (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_arithmetic::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast(unary_minus(itype(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( genmask_, tag::cpu_, (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_arithmetic::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast(unary_minus(itype(a0 != 0))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/genmaskc.hpp b/inst/include/boost/simd/bitwise/functions/scalar/genmaskc.hpp deleted file mode 100644 index 00c75fb..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/genmaskc.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_GENMASKC_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_GENMASKC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( genmaskc_, tag::cpu_, (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_arithmetic::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast(unary_minus(itype(!a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( genmaskc_, tag::cpu_, (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_arithmetic::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast(unary_minus(itype(a0 == 0))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/ilog2.hpp b/inst/include/boost/simd/bitwise/functions/scalar/ilog2.hpp deleted file mode 100644 index f9e07e9..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/ilog2.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_ILOG2_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_ILOG2_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ilog2_, tag::cpu_, (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return exponent(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ilog2_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG( a0 > 0, "Logarithm is not defined for zero or negative values." ); - return result_type(sizeof(A0)*8-boost::simd::clz(a0)-1); - } - }; - -#if defined(BOOST_MSVC) - BOOST_DISPATCH_IMPLEMENT_IF ( ilog2_, tag::cpu_ - , (A0) - , (mpl::less_equal< mpl::sizeof_, mpl::size_t<4> >) - , (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG( a0 > 0, "Logarithm is not defined for zero or negative values." ); - __assume( a0 > 0 ); - unsigned long index; - BOOST_VERIFY(::_BitScanReverse(&index, a0)); - return result_type(index); - } - }; -#endif - -#if defined(BOOST_MSVC) && defined(_WIN64) - BOOST_DISPATCH_IMPLEMENT ( ilog2_, tag::cpu_ - , (A0) - , (scalar_< ints64_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG( a0 > 0, "Logarithm is not defined for zero or negative values." ); - __assume( a0 > 0 ); - unsigned long index; - BOOST_VERIFY(::_BitScanReverse64(&index, a0)); - return index; - } - }; -#endif - -} } } - -#endif - diff --git a/inst/include/boost/simd/bitwise/functions/scalar/popcnt.hpp b/inst/include/boost/simd/bitwise/functions/scalar/popcnt.hpp deleted file mode 100644 index e257c3c..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/popcnt.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_POPCNT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_POPCNT_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::popcnt(boost::simd::sbits(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0) - , (scalar_< ints8_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifdef BOOST_MSVC - return result_type(__popcnt16(int16_t(a0) & 0xFF)); - #else - return __builtin_popcount(int32_t(a0) & 0xFF); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0) - , (scalar_< ints16_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifdef BOOST_MSVC - return __popcnt16(a0); - #else - return __builtin_popcount(int32_t(a0) & 0xFFFF); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0) - , (scalar_< ints32_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifdef BOOST_MSVC - return __popcnt(a0); - #else - return __builtin_popcount(a0); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0) - , (scalar_< ints64_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - #if defined BOOST_MSVC && defined _WIN64 - return __popcnt64(a0); - #elif defined BOOST_MSVC - return __popcnt( hi(a0) ) - + __popcnt( lo(a0) ); - #else - return __builtin_popcount( hi(a0) ) - + __builtin_popcount( lo(a0) ); - #endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/reversebits.hpp b/inst/include/boost/simd/bitwise/functions/scalar/reversebits.hpp deleted file mode 100644 index 375b142..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/reversebits.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_REVERSEBITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_REVERSEBITS_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( reversebits_, tag::cpu_ - , (A0) - , (scalar_< ints8_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return uint8_t( - ((uint8_t(a0) * 0x0802LU & 0x22110LU) | (uint8_t(a0) * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reversebits_, tag::cpu_ - , (A0) - , (scalar_< ints64_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - union { A0 a; boost::simd::uint32_t b[2]; } z = {a0}; - z.b[0] = reversebits(z.b[0]); - z.b[1] = reversebits(z.b[1]); - std::swap(z.b[0], z.b[1]); - return z.a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reversebits_, tag::cpu_ - , (A0) - , (scalar_< ints16_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - union { A0 a; boost::simd::uint8_t b[2]; } z = {a0}; - z.b[0] = reversebits(z.b[0]); - z.b[1] = reversebits(z.b[1]); - std::swap(z.b[0], z.b[1]); - return z.a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reversebits_, tag::cpu_ - , (A0) - , (scalar_< ints32_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - union { A0 a; boost::simd::uint16_t b[2]; } z = {a0}; - z.b[0] = reversebits(z.b[0]); - z.b[1] = reversebits(z.b[1]); - std::swap(z.b[0], z.b[1]); - return z.a; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/rrol.hpp b/inst/include/boost/simd/bitwise/functions/scalar/rrol.hpp deleted file mode 100644 index b1114ae..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/rrol.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_RROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_RROL_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rrol_, tag::cpu_, (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< int_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - return (a1 > 0)? rol(a0, a1) :ror(a0, boost::simd::neg(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rrol_, tag::cpu_, (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< uint_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - return rol(a0, a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/rror.hpp b/inst/include/boost/simd/bitwise/functions/scalar/rror.hpp deleted file mode 100644 index eb61d93..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/rror.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_RROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_RROR_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rror_, tag::cpu_, (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< int_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - return (a1 > 0) ? ror(a0, a1) :rol(a0, boost::simd::neg(a1)); - } - }; - BOOST_DISPATCH_IMPLEMENT ( rror_, tag::cpu_, (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< uint_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) { return ror(a0, a1); } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/rshl.hpp b/inst/include/boost/simd/bitwise/functions/scalar/rshl.hpp deleted file mode 100644 index 01c2aa2..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/rshl.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_RSHL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_RSHL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rshl_, tag::cpu_ , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - return (a1>0) ? shl(a0, a1) : shr(a0, boost::simd::neg(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rshl_, tag::cpu_ , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) { return shl(a0, a1); } - }; - - BOOST_DISPATCH_IMPLEMENT ( rshl_, tag::cpu_ , (A0)(A1) - , (scalar_< floating_ >)(scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast(rshl(bitwise_cast(a0),a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/rshr.hpp b/inst/include/boost/simd/bitwise/functions/scalar/rshr.hpp deleted file mode 100644 index f705cf8..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/rshr.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_RSHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_RSHR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rshr_, tag::cpu_, (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - return (a1>0) ? shr(a0, a1): shl(a0, -a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rshr_, tag::cpu_, (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) { return shr(a0, a1); } - }; - - BOOST_DISPATCH_IMPLEMENT ( rshr_, tag::cpu_, (A0)(A1) - , (scalar_< floating_ >)(scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast(rshr(bitwise_cast(a0),a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/shr.hpp b/inst/include/boost/simd/bitwise/functions/scalar/shr.hpp deleted file mode 100644 index 23dbe0a..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/shr.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_SHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_SHR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shr_, tag::cpu_, (A0)(A1) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type uitype; - BOOST_ASSERT_MSG(assert_good_shift(a1), "shr : shift is out of range"); - return uitype(a0) >> a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shr_, tag::cpu_, (A0)(A1) - , (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type uitype; - return bitwise_cast(shr(bitwise_cast(a0), a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/scalar/twopower.hpp b/inst/include/boost/simd/bitwise/functions/scalar/twopower.hpp deleted file mode 100644 index d254f0d..0000000 --- a/inst/include/boost/simd/bitwise/functions/scalar/twopower.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_TWOPOWER_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SCALAR_TWOPOWER_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( twopower_, tag::cpu_, (A0) - , (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return (is_ltz(a0))?Zero():(One()< >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return One()< -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief shr generic tag - - Represents the shr function in generic contexts. - - @par Models: - Hierarchy - **/ - struct shr_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_shr_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_shr_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_shr_; - } - /*! - Returns the first entry logically shifted right - by value of the second entry. If the second entry is negative - the result is not defined. - - @par semantic: - For any given value @c x of type @c T, n of type @c I: - - @code - T r = shr(x, n); - @endcode - - @par Alias: - - @c shri - - @see @funcref{shift_right}, @funcref{shift_left}, @funcref{rshl}, @funcref{rshr}, @funcref{rol}, @funcref{ror} - @param a0 - @param a1 - - @return a value of the same type as the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::shr_, shr, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::shr_, shri, 2) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_andnot.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_andnot.hpp deleted file mode 100644 index f1fb592..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_andnot.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_BITWISE_ANDNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_andnot_ - , tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_and(a0, complement(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_andnot_ - , tag::cpu_, (A0)(A1)(X) - , (boost::mpl::not_ < is_same >) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return bitwise_andnot(a0, bitwise_cast(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_notand.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_notand.hpp deleted file mode 100644 index 584ff5a..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_notand.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_BITWISE_NOTAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_notand_ - , tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_and(complement(a0), a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_notand_ - , tag::cpu_, (A0)(A1)(X) - , (boost::mpl::not_ < is_same >) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return bitwise_notand(a0, bitwise_cast(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_notor.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_notor.hpp deleted file mode 100644 index 7072263..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_notor.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_BITWISE_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_BITWISE_NOTOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_notor_ - , tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_or(complement(a0), a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_notor_ - , tag::cpu_, (A0)(A1)(X) - , (boost::mpl::not_ < is_same >) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return bitwise_notor(a0, bitwise_cast(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_ornot.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_ornot.hpp deleted file mode 100644 index 274358c..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/bitwise_ornot.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_BITWISE_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_BITWISE_ORNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_ornot_ - , tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_or(a0, complement(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_ornot_ - , tag::cpu_, (A0)(A1)(X) - , (boost::mpl::not_ < is_same >) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return bitwise_ornot(a0, bitwise_cast(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/clz.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/clz.hpp deleted file mode 100644 index f25238e..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/clz.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_CLZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_CLZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( clz_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type t = bitwise_cast(a0); - BOOST_ASSERT_MSG( assert_all(a0), "clz not defined for 0" ); - return bitwise_cast(dec(boost::simd::ffs(boost::simd::reversebits(t)))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/ctz.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/ctz.hpp deleted file mode 100644 index acbd1b4..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/ctz.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_CTZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_CTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ctz_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type t = bitwise_cast(a0); - BOOST_ASSERT_MSG( assert_all(a0), "ctz not defined for 0" ); - return bitwise_cast(dec(boost::simd::ffs(t))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/ffs.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/ffs.hpp deleted file mode 100644 index c8933ad..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/ffs.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_FFS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_FFS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ffs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type rtype; - typedef typename A0::extension_type ext; - typedef simd::native::type, ext> ltype; - typedef typename boost::dispatch::meta::scalar_of::type sltype; - rtype v = firstbitset(a0); - return b_and(genmask(v), b_or(b_or((-( genmask(b_and(v, boost::simd::integral_constant())))) - , shli(-( genmask(b_and(v, boost::simd::integral_constant()))), 1)) - , shli(-( genmask(b_and(v, boost::simd::integral_constant()))), 2))+One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ffs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type rtype; - return simd::bitwise_cast(map(dispatch::functor(), simd::bitwise_cast(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ffs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type rtype; - typedef typename A0::extension_type ext; - typedef simd::native::type, ext> ltype; - typedef typename boost::dispatch::meta::scalar_of::type sltype; - rtype v = firstbitset(a0); - return b_and(genmask(v), b_or(b_or(b_or((-( genmask(b_and(v, boost::simd::integral_constant())))) - , shli(-( genmask(b_and(v, boost::simd::integral_constant()))), 1)) - , shli(-( genmask(b_and(v, boost::simd::integral_constant()))), 2)) - , shli(-( genmask(b_and(v, boost::simd::integral_constant()))), 3))+One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ffs_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type rtype; - typedef typename A0::extension_type ext; - typedef simd::native::type, ext> ltype; - typedef typename boost::dispatch::meta::scalar_of::type sltype; - rtype v = firstbitset(a0); - return b_and(genmask(v), b_or(b_or(b_or(b_or((-( genmask(b_and(v, boost::simd::integral_constant())))) - , shli(-( genmask(b_and(v, boost::simd::integral_constant()))), 1)) - , shli(-( genmask(b_and(v, boost::simd::integral_constant()))), 2)) - , shli(-( genmask(b_and(v, boost::simd::integral_constant()))), 3)) - , shli(-( genmask(b_and(v, boost::simd::integral_constant()))), 4))+One()); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/firstbitset.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/firstbitset.hpp deleted file mode 100644 index 072f30a..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/firstbitset.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_FIRSTBITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_FIRSTBITSET_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( firstbitset_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type int_type; - return b_and((b_not(simd::bitwise_cast(a0))+One()), a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/firstbitunset.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/firstbitunset.hpp deleted file mode 100644 index 917a222..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/firstbitunset.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_FIRSTBITUNSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_FIRSTBITUNSET_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( firstbitunset_, tag::cpu_ , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return b_andnot(simd::bitwise_cast(a0)+One(), a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/genmask.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/genmask.hpp deleted file mode 100644 index 5805e66..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/genmask.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_GENMASK_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_GENMASK_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( genmask_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_arithmetic::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_else_zero(a0, Allbits()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( genmask_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return genmask(is_nez(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( genmask_, tag::cpu_ - , (A0)(X) - , (boost::simd::meta::is_logical_mask) - , ((simd_,X>)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return bitwise_cast(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/genmaskc.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/genmaskc.hpp deleted file mode 100644 index 3ca00b5..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/genmaskc.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_GENMASKC_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_GENMASKC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( genmaskc_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_arithmetic::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_zero_else(a0, Allbits()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( genmaskc_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return genmask(is_eqz(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( genmaskc_, tag::cpu_ - , (A0)(X) - , (boost::simd::meta::is_logical_mask) - , ((simd_,X>)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return complement(bitwise_cast(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/ilog2.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/ilog2.hpp deleted file mode 100644 index c22c548..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/ilog2.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_ILOG2_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_ILOG2_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ilog2_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::exponent(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ilog2_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type s_type; - return boost::simd::minusone(boost::simd::splat(sizeof(s_type)*8)-bitwise_cast(boost::simd::clz(a0))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/popcnt.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/popcnt.hpp deleted file mode 100644 index e00e611..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/popcnt.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_POPCNT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_POPCNT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - const result_type m1 = boost::simd::integral_constant(); //binary: 0101... - const result_type m2 = boost::simd::integral_constant(); //binary: 00110011.. - const result_type m4 = boost::simd::integral_constant(); //binary: 4 zeros, 4 ones ... - result_type x = simd::bitwise_cast(a0); - x -= (shri(x, 1)) & m1; //put count of each 2 bits into those 2 bits - x = (x & m2) + (shri(x, 2) & m2); //put count of each 4 bits into those 4 bits - x = (x + shri(x, 4)) & m4; //put count of each 8 bits into those 8 bits - return x & boost::simd::integral_constant (); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - const result_type m1 = boost::simd::integral_constant(); //binary: 0101... - const result_type m2 = boost::simd::integral_constant(); //binary: 00110011.. - const result_type m4 = boost::simd::integral_constant(); //binary: 4 zeros, 4 ones ... - result_type x = simd::bitwise_cast(a0); - x -= (shri(x, 1)) & m1; //put count of each 2 bits into those 2 bits - x = (x & m2) + (shri(x, 2) & m2); //put count of each 4 bits into those 4 bits - x = (x + shri(x, 4)) & m4; //put count of each 8 bits into those 8 bits - x += shri(x, 8); //put count of each 16 bits into their lowest 8 bits - x += shri(x, 16); //put count of each 32 bits into their lowest 8 bits - x += shri(x, 32); //put count of each 64 bits into their lowest 8 bits - return x & boost::simd::integral_constant (); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - const result_type m1 = boost::simd::integral_constant(); //binary: 0101... - const result_type m2 = boost::simd::integral_constant(); //binary: 00110011.. - const result_type m4 = boost::simd::integral_constant(); //binary: 4 zeros, 4 ones ... - result_type x = simd::bitwise_cast(a0); - x -= (shri(x, 1)) & m1; //put count of each 2 bits into those 2 bits - x = (x & m2) + (shri(x, 2) & m2); //put count of each 4 bits into those 4 bits - x = (x + shri(x, 4)) & m4; //put count of each 8 bits into those 8 bits - x += shri(x, 8); //put count of each 16 bits into their lowest 8 bits - return x & boost::simd::integral_constant (); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - const result_type m1 = boost::simd::integral_constant(); //binary: 0101... - const result_type m2 = boost::simd::integral_constant(); //binary: 00110011.. - const result_type m4 = boost::simd::integral_constant(); //binary: 4 zeros, 4 ones ... - result_type x = simd::bitwise_cast(a0); - x -= (shri(x, 1)) & m1; //put count of each 2 bits into those 2 bits - x = (x & m2) + (shri(x, 2) & m2); //put count of each 4 bits into those 4 bits - x = (x + shri(x, 4)) & m4; //put count of each 8 bits into those 8 bits - x += shri(x, 8); //put count of each 16 bits into their lowest 8 bits - x += shri(x, 16); //put count of each 32 bits into their lowest 8 bits - return x & boost::simd::integral_constant (); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( popcnt_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return popcnt(simd::bitwise_cast(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/reversebits.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/reversebits.hpp deleted file mode 100644 index 675c183..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/reversebits.hpp +++ /dev/null @@ -1,138 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_REVERSEBITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_REVERSEBITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( reversebits_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type utype; - utype v = bitwise_cast(a0); - const utype m1 = integral_constant(); //binary: 0101... - const utype m2 = integral_constant(); //binary: 00110011.. - const utype m4 = integral_constant(); //binary: 4 zeros, 4 ones ... - // swap odd and even bits - v = (shri(v, 1) & m1) | shli((v & m1), 1); - // swap consecutive pairs - v = (shri(v, 2) & m2) | shli((v & m2), 2); - // swap nibbles ... - v = (shri(v, 4) & m4) | shli((v & m4), 4); - return bitwise_cast(v); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reversebits_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type utype; - utype v = bitwise_cast(a0); - const result_type m1 = integral_constant(); //binary: 0101... - const result_type m2 = integral_constant(); //binary: 00110011.. - const result_type m4 = integral_constant(); //binary: 4 zeros, 4 ones ... - const result_type m8 = integral_constant(); //binary: 8 zeros, 8 ones ... - const result_type m16 = integral_constant(); //binary: 16 zeros, 16 ones ... - const result_type m32 = integral_constant(); //binary: 32 zeros, 32 ones ... - // swap odd and even bits - v = (shri(v, 1) & m1) | shli((v & m1), 1); - // swap consecutive pairs - v = (shri(v, 2) & m2) | shli((v & m2), 2); - // swap nibbles ... - v = (shri(v, 4) & m4) | shli((v & m4), 4); - // swap bytes ... - v = (shri(v, 8) & m8) | shli((v & m8), 8); - // swap shorts ... - v = (shri(v, 16) & m16) | shli((v & m16), 16); - // swap ints ... - v = (shri(v, 32) & m32) | shli((v & m32), 32); - return bitwise_cast(v); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reversebits_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - using boost::simd::integral_constant; - using boost::simd::bitwise_cast; - - typedef typename dispatch::meta::as_integer::type utype; - utype v = bitwise_cast(a0); - const result_type m1 = integral_constant(); //binary: 0101... - const result_type m2 = integral_constant(); //binary: 00110011.. - const result_type m4 = integral_constant(); //binary: 4 zeros, 4 ones ... - const result_type m8 = integral_constant(); //binary: 8 zeros, 8 ones ... - // swap odd and even bits - v = (shri(v, 1) & m1) | shli((v & m1), 1); - // swap consecutive pairs - v = (shri(v, 2) & m2) | shli((v & m2), 2); - // swap nibbles ... - v = (shri(v, 4) & m4) | shli((v & m4), 4); - // swap bytes ... - v = (shri(v, 8) & m8) | shli((v & m8), 8); - return bitwise_cast(v); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reversebits_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type utype; - utype v = bitwise_cast(a0); - const result_type m1 = integral_constant(); //binary: 0101... - const result_type m2 = integral_constant(); //binary: 00110011.. - const result_type m4 = integral_constant(); //binary: 4 zeros, 4 ones ... - const result_type m8 = integral_constant(); //binary: 8 zeros, 8 ones ... - const result_type m16 = integral_constant(); //binary: 16 zeros, 16 ones ... - // swap odd and even bits - v = (shri(v, 1) & m1) | shli((v & m1), 1); - // swap consecutive pairs - v = (shri(v, 2) & m2) | shli((v & m2), 2); - // swap nibbles ... - v = (shri(v, 4) & m4) | shli((v & m4), 4); - // swap bytes ... - v = (shri(v, 8) & m8) | shli((v & m8), 8); - // swap shorts ... - v = (shri(v, 16) & m16) | shli((v & m16), 16); - return bitwise_cast(v); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/rrol.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/rrol.hpp deleted file mode 100644 index 3b52db0..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/rrol.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_RROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_RROL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef NDEBUG -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( rrol_, tag::cpu_ - , (A0)(A1)(X) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_< arithmetic_, X >)) - ((simd_< int_, X >)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - #ifndef NDEBUG - return bitwise_cast( if_else ( is_gtz(a1) - , rol ( bitwise_cast(a0) - , max(Zero(),a1) - ) - , ror ( bitwise_cast(a0) - , max(Zero(),-a1) - ) - ) - ); - #else - return bitwise_cast( if_else ( is_gtz(a1) - , rol(bitwise_cast(a0), a1) - , ror(bitwise_cast(a0),-a1) - ) - ); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( rrol_, tag::cpu_ - , (A0)(A1)(X) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_< arithmetic_, X >)) - ((simd_< uint_, X >)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return bitwise_cast( rol( bitwise_cast(a0), a1 ) ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/rror.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/rror.hpp deleted file mode 100644 index 232ca45..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/rror.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_RROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_RROR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef NDEBUG -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( rror_, tag::cpu_ - , (A0)(A1)(X) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_< arithmetic_, X >)) - ((simd_< int_, X >)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - #ifndef NDEBUG - return bitwise_cast( if_else ( is_gtz(a1) - , ror ( bitwise_cast(a0) - , max(Zero(),a1) - ) - , rol ( bitwise_cast(a0) - , max(Zero(),-a1) - ) - ) - ); - #else - return bitwise_cast( if_else ( is_gtz(a1) - , ror(bitwise_cast(a0), a1) - , rol(bitwise_cast(a0),-a1) - ) - ); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( rror_, tag::cpu_ - , (A0)(A1)(X) - , (boost::mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_< arithmetic_, X >)) - ((simd_< uint_, X >)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return bitwise_cast( ror( bitwise_cast(a0), a1 ) ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/rshl.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/rshl.hpp deleted file mode 100644 index 8940733..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/rshl.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_RSHL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_RSHL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef NDEBUG -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( rshl_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((generic_ >)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - #ifndef NDEBUG - return if_else(is_gtz(a1), shl(a0, max(Zero(), a1)), shr(a0, max(Zero(), -a1))); - #else - return if_else(is_gtz(a1), shl(a0, a1), shr(a0, -a1)); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( rshl_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((generic_ >)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - return shl(a0, a1); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/rshr.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/rshr.hpp deleted file mode 100644 index 001d0eb..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/rshr.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_RSHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_RSHR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef NDEBUG -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( rshr_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((generic_ >)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - #ifndef NDEBUG - return if_else(is_gtz(a1), shr(a0, max(Zero(), a1)), shl(a0, max(Zero(), -a1))); - #else - return if_else(is_gtz(a1), shr(a0, a1), shl(a0, -a1)); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( rshr_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((generic_ >)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - return shr(a0, a1); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/shr.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/shr.hpp deleted file mode 100644 index 6e68815..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/shr.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_SHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_SHR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shr_, tag::cpu_, (A0)(A1)(X) - , ((simd_,X>)) - (generic_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_unsigned::type ntype; - BOOST_ASSERT_MSG(assert_good_shift(a1), "shr: a shift is out of range"); - return bitwise_cast( bitwise_cast(a0) >> a1 ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/swapbytes.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/swapbytes.hpp deleted file mode 100644 index b3d4bb5..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/swapbytes.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_SWAPBYTES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - namespace details - { - template struct swap_bytes_helper - { - template - struct apply : boost::mpl::int_ - {}; - }; - } -} } - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( swapbytes_, tag::simd_ - , (A0)(X) - , ((simd_, X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - using s0 = typename meta::scalar_of::type; - using i8 = typename meta::vector_of::type; - using pattern_t = details::swap_bytes_helper; - - return bitwise_cast(shuffle(bitwise_cast(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/common/twopower.hpp b/inst/include/boost/simd/bitwise/functions/simd/common/twopower.hpp deleted file mode 100644 index 3a6fbc7..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/common/twopower.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_TWOPOWER_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_COMMON_TWOPOWER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( twopower_, tag::cpu_,(A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_zero_else(is_ltz(a0), shift_left(One(), max(a0, Zero()))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/sse/avx/bitwise_andnot.hpp b/inst/include/boost/simd/bitwise/functions/simd/sse/avx/bitwise_andnot.hpp deleted file mode 100644 index 7b77a1a..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/sse/avx/bitwise_andnot.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SSE_AVX_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SSE_AVX_BITWISE_ANDNOT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (bitwise_andnot_, boost::simd::tag::avx_, (A0), - ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_andnot_pd(a1, a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT (bitwise_andnot_, boost::simd::tag::avx_, (A0), - ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_andnot_ps(a1, a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/sse/avx/bitwise_notand.hpp b/inst/include/boost/simd/bitwise/functions/simd/sse/avx/bitwise_notand.hpp deleted file mode 100644 index 231f8a2..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/sse/avx/bitwise_notand.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SSE_AVX_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SSE_AVX_BITWISE_NOTAND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (bitwise_notand_, boost::simd::tag::sse2_, (A0), - ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_andnot_pd(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_notand_, boost::simd::tag::avx_, (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_andnot_ps(a0, a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/sse/avx/swapbytes.hpp b/inst/include/boost/simd/bitwise/functions/simd/sse/avx/swapbytes.hpp deleted file mode 100644 index f8d600b..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/sse/avx/swapbytes.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SIMD_AVX_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SIMD_AVX_SWAPBYTES_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( swapbytes_, boost::simd::tag::avx_ - , (A0) - , ((simd_, boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type stype; - typedef simd::native svtype; - - svtype a00 = _mm256_extractf128_si256(a0, 0); - svtype a01 = _mm256_extractf128_si256(a0, 1); - return _mm256_insertf128_si256(_mm256_castsi128_si256(boost::simd::swapbytes(a00)) - , boost::simd::swapbytes(a01), 1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/sse/sse2/bitwise_andnot.hpp b/inst/include/boost/simd/bitwise/functions/simd/sse/sse2/bitwise_andnot.hpp deleted file mode 100644 index 0b92c07..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/sse/sse2/bitwise_andnot.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_ANDNOT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_andnot_, boost::simd::tag::sse2_, (A0)(A1) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return _mm_andnot_si128(a1, a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT (bitwise_andnot_, boost::simd::tag::sse2_, (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_andnot_pd(a1, a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_andnot_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_andnot_ps(a1, a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/sse/sse2/bitwise_notand.hpp b/inst/include/boost/simd/bitwise/functions/simd/sse/sse2/bitwise_notand.hpp deleted file mode 100644 index 7d5dc39..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/sse/sse2/bitwise_notand.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_NOTAND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_notand_, boost::simd::tag::sse2_, (A0)(A1) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return _mm_andnot_si128(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (bitwise_notand_, boost::simd::tag::sse2_, (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_andnot_pd(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_notand_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_andnot_ps(a0, a1); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/bitwise_andnot.hpp b/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/bitwise_andnot.hpp deleted file mode 100644 index f56fd4b..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/bitwise_andnot.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_ANDNOT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_andnot_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - )) - ((simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return vec_andc(a0(),simd::bitwise_cast(a1)()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/bitwise_notand.hpp b/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/bitwise_notand.hpp deleted file mode 100644 index 492f044..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/bitwise_notand.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_NOTAND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_notand_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - )) - ((simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return vec_andc(simd::bitwise_cast(a1)(),a0()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/bitwise_select.hpp b/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/bitwise_select.hpp deleted file mode 100644 index f776440..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/bitwise_select.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_SELECT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_SELECT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_select_, boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_< arithmetic_, boost::simd::tag::vmx_ >)) - ((simd_< arithmetic_, boost::simd::tag::vmx_ >)) - ((simd_< arithmetic_, boost::simd::tag::vmx_ >)) - ) - { - typedef A1 result_type; - inline result_type operator()(const A0& a0, const A1& a1, const A1&a2) const - { - typedef typename dispatch::meta::as_integer::type itype; - return vec_sel(a2(), a1(), bitwise_cast(a0)()); - } - }; - -} } } - -#endif - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/rol.hpp b/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/rol.hpp deleted file mode 100644 index 19330b1..0000000 --- a/inst/include/boost/simd/bitwise/functions/simd/vmx/altivec/rol.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_VMX_ALTIVEC_ROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SIMD_VMX_ALTIVEC_ROL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rol_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < integer_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < integer_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "rol : rotation is out of range"); - - typedef typename boost::dispatch::meta::as_unsigned::type c_t; - - return vec_rl(a0(), bitwise_cast(a1)()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/bitwise/functions/swapbytes.hpp b/inst/include/boost/simd/bitwise/functions/swapbytes.hpp deleted file mode 100644 index 908f6a1..0000000 --- a/inst/include/boost/simd/bitwise/functions/swapbytes.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief swapbytes generic tag - - Represents the swapbytes function in generic contexts. - - @par Models: - Hierarchy - **/ - struct swapbytes_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_swapbytes_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_swapbytes_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_swapbytes_; - } - /*! - Reverse the byte order of each scalar value - - @par semantic: - For any given value @c x of type @c T: - - @code - T r = swapbytes(x); - @endcode - - - @param x - - @return a value of the unsigned integer type associated to the first input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::swapbytes_, swapbytes, 1) -} } - -#endif diff --git a/inst/include/boost/simd/bitwise/functions/twopower.hpp b/inst/include/boost/simd/bitwise/functions/twopower.hpp deleted file mode 100644 index c2a9957..0000000 --- a/inst/include/boost/simd/bitwise/functions/twopower.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BITWISE_FUNCTIONS_TWOPOWER_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_FUNCTIONS_TWOPOWER_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief twopower generic tag - - Represents the twopower function in generic contexts. - - @par Models: - Hierarchy - **/ - struct twopower_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_twopower_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_twopower_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_twopower_; - } - - /*! - Returns \f$2^n\f$ (0 if n is less than zero) - - @par semantic: - For any given value n of integral type @c I: - - @code - T r = twopower(n); - @endcode - - code is similar to: - - @code - T r = 1 << n; - @endcode - - @par Note: - - This function is not defined for floating entries - - @see @funcref{ilog2} - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::twopower_, twopower, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::twopower_, iexp2, 1) -} } -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/bitget.hpp b/inst/include/boost/simd/bitwise/include/functions/bitget.hpp deleted file mode 100644 index a16324d..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/bitget.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITGET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITGET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/bits.hpp b/inst/include/boost/simd/bitwise/include/functions/bits.hpp deleted file mode 100644 index 187ee20..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/bits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/bitset.hpp b/inst/include/boost/simd/bitwise/include/functions/bitset.hpp deleted file mode 100644 index 91e18cb..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/bitset.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITSET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/bitwise_andnot.hpp b/inst/include/boost/simd/bitwise/include/functions/bitwise_andnot.hpp deleted file mode 100644 index e40ff72..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/bitwise_andnot.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/bitwise_notand.hpp b/inst/include/boost/simd/bitwise/include/functions/bitwise_notand.hpp deleted file mode 100644 index 63404e4..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/bitwise_notand.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/bitwise_notor.hpp b/inst/include/boost/simd/bitwise/include/functions/bitwise_notor.hpp deleted file mode 100644 index cf09970..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/bitwise_notor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/bitwise_ornot.hpp b/inst/include/boost/simd/bitwise/include/functions/bitwise_ornot.hpp deleted file mode 100644 index f472964..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/bitwise_ornot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/bitwise_select.hpp b/inst/include/boost/simd/bitwise/include/functions/bitwise_select.hpp deleted file mode 100644 index c6b3a9b..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/bitwise_select.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/clz.hpp b/inst/include/boost/simd/bitwise/include/functions/clz.hpp deleted file mode 100644 index 7f6a985..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/clz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_CLZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_CLZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/ctz.hpp b/inst/include/boost/simd/bitwise/include/functions/ctz.hpp deleted file mode 100644 index 762fdc6..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/ctz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_CTZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_CTZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/ffs.hpp b/inst/include/boost/simd/bitwise/include/functions/ffs.hpp deleted file mode 100644 index 72aeaad..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/ffs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_FFS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_FFS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/firstbitset.hpp b/inst/include/boost/simd/bitwise/include/functions/firstbitset.hpp deleted file mode 100644 index 73a50d0..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/firstbitset.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/firstbitunset.hpp b/inst/include/boost/simd/bitwise/include/functions/firstbitunset.hpp deleted file mode 100644 index 774b96a..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/firstbitunset.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/genmask.hpp b/inst/include/boost/simd/bitwise/include/functions/genmask.hpp deleted file mode 100644 index 11e39ca..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/genmask.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_GENMASK_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_GENMASK_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/genmaskc.hpp b/inst/include/boost/simd/bitwise/include/functions/genmaskc.hpp deleted file mode 100644 index e5fe851..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/genmaskc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_GENMASKC_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_GENMASKC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/hi.hpp b/inst/include/boost/simd/bitwise/include/functions/hi.hpp deleted file mode 100644 index 64ba926..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/hi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_HI_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_HI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/ilog2.hpp b/inst/include/boost/simd/bitwise/include/functions/ilog2.hpp deleted file mode 100644 index 8ce59c4..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/ilog2.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_ILOG2_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_ILOG2_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/lo.hpp b/inst/include/boost/simd/bitwise/include/functions/lo.hpp deleted file mode 100644 index 9fd1db5..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/lo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_LO_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_LO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/popcnt.hpp b/inst/include/boost/simd/bitwise/include/functions/popcnt.hpp deleted file mode 100644 index 5f7477d..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/popcnt.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_POPCNT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_POPCNT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/reversebits.hpp b/inst/include/boost/simd/bitwise/include/functions/reversebits.hpp deleted file mode 100644 index b176378..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/reversebits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/rol.hpp b/inst/include/boost/simd/bitwise/include/functions/rol.hpp deleted file mode 100644 index 331724d..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/rol.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_ROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_ROL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/ror.hpp b/inst/include/boost/simd/bitwise/include/functions/ror.hpp deleted file mode 100644 index 69951aa..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/ror.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_ROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_ROR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/rrol.hpp b/inst/include/boost/simd/bitwise/include/functions/rrol.hpp deleted file mode 100644 index 183d25d..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/rrol.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_RROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_RROL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/rror.hpp b/inst/include/boost/simd/bitwise/include/functions/rror.hpp deleted file mode 100644 index e90a707..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/rror.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_RROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_RROR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/rshl.hpp b/inst/include/boost/simd/bitwise/include/functions/rshl.hpp deleted file mode 100644 index fad0b67..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/rshl.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_RSHL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_RSHL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/rshr.hpp b/inst/include/boost/simd/bitwise/include/functions/rshr.hpp deleted file mode 100644 index cb4279d..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/rshr.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_RSHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_RSHR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/bitget.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/bitget.hpp deleted file mode 100644 index aae7f09..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/bitget.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITGET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITGET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/bits.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/bits.hpp deleted file mode 100644 index acd35c1..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/bits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/bitset.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/bitset.hpp deleted file mode 100644 index 5a84c3a..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/bitset.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITSET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_andnot.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_andnot.hpp deleted file mode 100644 index b396333..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_andnot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ANDNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_notand.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_notand.hpp deleted file mode 100644 index 12e9c03..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_notand.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTAND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_notor.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_notor.hpp deleted file mode 100644 index 1da907f..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_notor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_ornot.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_ornot.hpp deleted file mode 100644 index 07cc98c..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_ornot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ORNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_select.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_select.hpp deleted file mode 100644 index 0e0865f..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/bitwise_select.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_SELECT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_SELECT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/clz.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/clz.hpp deleted file mode 100644 index 3a84ce3..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/clz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_CLZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_CLZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/ctz.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/ctz.hpp deleted file mode 100644 index feacaad..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/ctz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_CTZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_CTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/ffs.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/ffs.hpp deleted file mode 100644 index cb7744c..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/ffs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FFS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FFS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/firstbitset.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/firstbitset.hpp deleted file mode 100644 index 1b10883..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/firstbitset.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITSET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/firstbitunset.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/firstbitunset.hpp deleted file mode 100644 index 5dbdc68..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/firstbitunset.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITUNSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITUNSET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/genmask.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/genmask.hpp deleted file mode 100644 index 8a2758e..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/genmask.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_GENMASK_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_GENMASK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/genmaskc.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/genmaskc.hpp deleted file mode 100644 index 4caf4bd..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/genmaskc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_GENMASKC_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_GENMASKC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/hi.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/hi.hpp deleted file mode 100644 index f911def..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/hi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_HI_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_HI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/ilog2.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/ilog2.hpp deleted file mode 100644 index a6e8b28..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/ilog2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ILOG2_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ILOG2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/lo.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/lo.hpp deleted file mode 100644 index 3fd63ab..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/lo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_LO_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_LO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/popcnt.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/popcnt.hpp deleted file mode 100644 index e397337..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/popcnt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_POPCNT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_POPCNT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/reversebits.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/reversebits.hpp deleted file mode 100644 index ea712ed..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/reversebits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_REVERSEBITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_REVERSEBITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/rol.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/rol.hpp deleted file mode 100644 index 79a7386..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/rol.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ROL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/ror.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/ror.hpp deleted file mode 100644 index 1535e00..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/ror.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ROR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/rrol.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/rrol.hpp deleted file mode 100644 index ea7fed9..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/rrol.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RROL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/rror.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/rror.hpp deleted file mode 100644 index abfe7c8..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/rror.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RROR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/rshl.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/rshl.hpp deleted file mode 100644 index 121617e..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/rshl.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RSHL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RSHL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/rshr.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/rshr.hpp deleted file mode 100644 index 026f3e0..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/rshr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RSHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RSHR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/shr.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/shr.hpp deleted file mode 100644 index c343f29..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/shr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_SHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_SHR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/swapbytes.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/swapbytes.hpp deleted file mode 100644 index e505575..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/swapbytes.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_SWAPBYTES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/scalar/twopower.hpp b/inst/include/boost/simd/bitwise/include/functions/scalar/twopower.hpp deleted file mode 100644 index 21a1cd1..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/scalar/twopower.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_TWOPOWER_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SCALAR_TWOPOWER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/shr.hpp b/inst/include/boost/simd/bitwise/include/functions/shr.hpp deleted file mode 100644 index e8109f0..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/shr.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SHR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/bitget.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/bitget.hpp deleted file mode 100644 index b5af26d..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/bitget.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITGET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITGET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/bits.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/bits.hpp deleted file mode 100644 index 7493d78..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/bits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/bitset.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/bitset.hpp deleted file mode 100644 index e0e7f4d..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/bitset.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITSET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_andnot.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_andnot.hpp deleted file mode 100644 index 8eb6854..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_andnot.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_ANDNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_notand.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_notand.hpp deleted file mode 100644 index 195d5e6..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_notand.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_notor.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_notor.hpp deleted file mode 100644 index d113b6b..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_notor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_ornot.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_ornot.hpp deleted file mode 100644 index 7376d77..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_ornot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_ORNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_select.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_select.hpp deleted file mode 100644 index 5150d77..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/bitwise_select.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_SELECT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_SELECT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/clz.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/clz.hpp deleted file mode 100644 index 41314c2..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/clz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_CLZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_CLZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/ctz.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/ctz.hpp deleted file mode 100644 index 73a14b9..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/ctz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_CTZ_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_CTZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/ffs.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/ffs.hpp deleted file mode 100644 index 01f5531..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/ffs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_FFS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_FFS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/firstbitset.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/firstbitset.hpp deleted file mode 100644 index 64a51d3..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/firstbitset.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_FIRSTBITSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_FIRSTBITSET_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/firstbitunset.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/firstbitunset.hpp deleted file mode 100644 index 81589eb..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/firstbitunset.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_FIRSTBITUNSET_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_FIRSTBITUNSET_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/genmask.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/genmask.hpp deleted file mode 100644 index 88459e4..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/genmask.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_GENMASK_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_GENMASK_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/genmaskc.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/genmaskc.hpp deleted file mode 100644 index 49ad72c..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/genmaskc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_GENMASKC_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_GENMASKC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/hi.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/hi.hpp deleted file mode 100644 index e036d1a..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/hi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_HI_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_HI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/ilog2.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/ilog2.hpp deleted file mode 100644 index 8065626..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/ilog2.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_ILOG2_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_ILOG2_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/lo.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/lo.hpp deleted file mode 100644 index 8223cc0..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/lo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_LO_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_LO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/popcnt.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/popcnt.hpp deleted file mode 100644 index c0f046b..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/popcnt.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_POPCNT_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_POPCNT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/reversebits.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/reversebits.hpp deleted file mode 100644 index a5fa1ef..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/reversebits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_REVERSEBITS_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_REVERSEBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/rol.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/rol.hpp deleted file mode 100644 index 1bf8dc0..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/rol.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_ROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_ROL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/ror.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/ror.hpp deleted file mode 100644 index 440ad41..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/ror.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_ROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_ROR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/rrol.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/rrol.hpp deleted file mode 100644 index 1c5c114..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/rrol.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_RROL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_RROL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/rror.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/rror.hpp deleted file mode 100644 index 7a5a00b..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/rror.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_RROR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_RROR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/rshl.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/rshl.hpp deleted file mode 100644 index 86d11e6..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/rshl.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_RSHL_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_RSHL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/rshr.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/rshr.hpp deleted file mode 100644 index 9270a2d..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/rshr.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_RSHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_RSHR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/shr.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/shr.hpp deleted file mode 100644 index a7b6a1b..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/shr.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_SHR_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_SHR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/swapbytes.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/swapbytes.hpp deleted file mode 100644 index 12ca34d..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/swapbytes.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_SWAPBYTES_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/simd/twopower.hpp b/inst/include/boost/simd/bitwise/include/functions/simd/twopower.hpp deleted file mode 100644 index d675a65..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/simd/twopower.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_TWOPOWER_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SIMD_TWOPOWER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/swapbytes.hpp b/inst/include/boost/simd/bitwise/include/functions/swapbytes.hpp deleted file mode 100644 index 4081305..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/swapbytes.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/bitwise/include/functions/twopower.hpp b/inst/include/boost/simd/bitwise/include/functions/twopower.hpp deleted file mode 100644 index d6ce145..0000000 --- a/inst/include/boost/simd/bitwise/include/functions/twopower.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_TWOPOWER_HPP_INCLUDED -#define BOOST_SIMD_BITWISE_INCLUDE_FUNCTIONS_TWOPOWER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/boolean.hpp b/inst/include/boost/simd/boolean/boolean.hpp deleted file mode 100644 index 2059a4a..0000000 --- a/inst/include/boost/simd/boolean/boolean.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_BOOLEAN_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_BOOLEAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/constants.hpp b/inst/include/boost/simd/boolean/constants.hpp deleted file mode 100644 index eabd540..0000000 --- a/inst/include/boost/simd/boolean/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/boolean/functions.hpp b/inst/include/boost/simd/boolean/functions.hpp deleted file mode 100644 index f11f0cd..0000000 --- a/inst/include/boost/simd/boolean/functions.hpp +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/functions/generic/mask2logical.hpp b/inst/include/boost/simd/boolean/functions/generic/mask2logical.hpp deleted file mode 100644 index 61c30ad..0000000 --- a/inst/include/boost/simd/boolean/functions/generic/mask2logical.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_GENERIC_MASK2LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_GENERIC_MASK2LOGICAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mask2logical_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::call::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(assert_is_mask(a0), "Argument to mask2logical is not a valid logical mask"); - return is_nez(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/if_allbits_else.hpp b/inst/include/boost/simd/boolean/functions/if_allbits_else.hpp deleted file mode 100644 index f22ed48..0000000 --- a/inst/include/boost/simd/boolean/functions/if_allbits_else.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief if_allbits_else generic tag - - Represents the if_allbits_else function in generic contexts. - - @par Models: - Hierarchy - **/ - struct if_allbits_else_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_if_allbits_else_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_if_allbits_else_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_if_allbits_else_; - } - - /*! - If a0 is true returns allbits else returns a1 - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T1 r = if_allbits_else(a0,a1); - @endcode - - is similar to: - - @code - T r = a0 ? Allbits : a1; - @endcode - - @par Alias: - @c if_allbits_else, - @c ifallbitselse, - @c ifnot_else_allbits, - @c ifnotelseallbits, - @c if_nan_else, - @c ifnanelse, - @c ifnot_else_nan, - @c ifnotelsenan - - @see @funcref{genmask} - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_allbits_else_, if_allbits_else, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_allbits_else_, ifallbitselse, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_allbits_else_, ifnot_else_allbits, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_allbits_else_, ifnotelseallbits, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_allbits_else_, if_nan_else, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_allbits_else_, ifnanelse, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_allbits_else_, ifnot_else_nan, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_allbits_else_, ifnotelsenan, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/boolean/functions/if_else_allbits.hpp b/inst/include/boost/simd/boolean/functions/if_else_allbits.hpp deleted file mode 100644 index e0b7071..0000000 --- a/inst/include/boost/simd/boolean/functions/if_else_allbits.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED -#include -#include - - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief if_else_allbits generic tag - - Represents the if_else_allbits function in generic contexts. - - @par Models: - Hierarchy - **/ - struct if_else_allbits_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_if_else_allbits_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_if_else_allbits_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_if_else_allbits_; - } - /*! - If a0 is true returns a1 else returns allbits - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T r = if_else_allbits(a0,a1); - @endcode - - is similar to: - - @code - T r = a0 ? a1 : allbits; - @endcode - - - @par Alias: - @c if_else_nan, - @c ifelsenan, - @c ifnot_nan_else, - @c ifnotnanelse, - @c if_else_allbits, - @c ifelseallbits, - @c ifnot_allbits_else, - @c ifnotallbitselse, - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_allbits_, if_else_nan, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_allbits_, ifelsenan, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_allbits_, ifnot_nan_else, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_allbits_, ifnotnanelse, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_allbits_, if_else_allbits, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_allbits_, ifelseallbits, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_allbits_, ifnot_allbits_else, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_allbits_, ifnotallbitselse, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/boolean/functions/if_else_zero.hpp b/inst/include/boost/simd/boolean/functions/if_else_zero.hpp deleted file mode 100644 index 5abf559..0000000 --- a/inst/include/boost/simd/boolean/functions/if_else_zero.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED -#include -#include - - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief if_else_zero generic tag - - Represents the if_else_zero function in generic contexts. - - @par Models: - Hierarchy - **/ - struct if_else_zero_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_if_else_zero_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_if_else_zero_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_if_else_zero_; - } - /*! - If a0 is true returns a1 else returns zero - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T r = if_else_zero(a0,a1); - @endcode - - is similar to: - - @code - T r = a0 ? a1 : zero; - @endcode - - @par Alias: - @c if_else_zero, - @c ifelsezero, - @c ifnot_zero_else, - @c ifnotzeroelse, - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_zero_, if_else_zero, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_zero_, ifelsezero, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_zero_, ifnot_zero_else, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_zero_, ifnotzeroelse, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/boolean/functions/if_one_else_zero.hpp b/inst/include/boost/simd/boolean/functions/if_one_else_zero.hpp deleted file mode 100644 index 333e8c5..0000000 --- a/inst/include/boost/simd/boolean/functions/if_one_else_zero.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief if_one_else_zero generic tag - - Represents the if_one_else_zero function in generic contexts. - - @par Models: - Hierarchy - **/ - struct if_one_else_zero_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_if_one_else_zero_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_if_one_else_zero_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_if_one_else_zero_; - } - /*! - If a0 is true returns zero else returns one - - @par Semantic: - - For every parameter of type T0 : - - @code - T0::type r = if_one_else_zero(a0); - @endcode - - is similar to: - - @code - T0::type r = a0 ? one : zero; - @endcode - - @par Alias: - @c if_one_else_zero, @c ifoneelsezero, @c sb2b; - - @see @funcref{genmask} - @par Note: - - @c T0:type denotes here @c T0 in most cases, but @c T if @c T0 is @c as_logical - - @param a0 - - @return a value of the type associated to the logical value a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_one_else_zero_, if_one_else_zero, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_one_else_zero_, ifoneelsezero, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_one_else_zero_, sb2b, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/boolean/functions/if_zero_else.hpp b/inst/include/boost/simd/boolean/functions/if_zero_else.hpp deleted file mode 100644 index 697a9aa..0000000 --- a/inst/include/boost/simd/boolean/functions/if_zero_else.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief if_zero_else generic tag - - Represents the if_zero_else function in generic contexts. - - @par Models: - Hierarchy - **/ - struct if_zero_else_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_if_zero_else_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_if_zero_else_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_if_zero_else_; - } - /*! - If a0 is true returns zero else returns a1 - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T r = if_zero_else(a0,a1); - @endcode - - is similar to: - - @code - T r = a0 ? zero :a1; - @endcode - - @par Alias: - @c if_zero_else, - @c ifzeroelse, - @c ifnot_else_zero, - @c ifnotelsezero - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_zero_else_, if_zero_else, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_zero_else_, ifzeroelse, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_zero_else_, ifnot_else_zero, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_zero_else_, ifnotelsezero, 2) -} } - -#endif - - diff --git a/inst/include/boost/simd/boolean/functions/if_zero_else_one.hpp b/inst/include/boost/simd/boolean/functions/if_zero_else_one.hpp deleted file mode 100644 index 937e777..0000000 --- a/inst/include/boost/simd/boolean/functions/if_zero_else_one.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief if_zero_else_one generic tag - - Represents the if_zero_else_one function in generic contexts. - - @par Models: - Hierarchy - **/ - struct if_zero_else_one_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_if_zero_else_one_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_if_zero_else_one_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_if_zero_else_one_; - } - /*! - If a0 is true returns zero else returns a1 - - @par Semantic: - - For every parameters of types respectively T0: - - @code - T r = if_zero_else_one(a0); - @endcode - - is similar to: - - @code - T r = a0 ? zero : one; - @endcode - - @par Alias: - @c if_zero_else_one, @c ifzeroelseone; - - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_zero_else_one_, if_zero_else_one, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_zero_else_one_, ifzeroelseone, 1) -} } - -#endif - - diff --git a/inst/include/boost/simd/boolean/functions/ifnotadd.hpp b/inst/include/boost/simd/boolean/functions/ifnotadd.hpp deleted file mode 100644 index 770cd5a..0000000 --- a/inst/include/boost/simd/boolean/functions/ifnotadd.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IFNOTADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IFNOTADD_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ifnotadd generic tag - - Represents the ifnotadd function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ifnotadd_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ifnotadd_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ifnotadd_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ifnotadd_; - } - /*! - - The function returns the second entry or the sum of the second - and third entries, according to the first entry being True or - False - - @par Semantic: - - For every parameters of types respectively T0, T1, T1: - - @code - T1 r = ifnotadd(a0,a1,a2); - @endcode - - is similar to: - - @code - T1 r = a0 ? a1 : a1+a2; - @endcode - - @par Alias: - @c selnotadd - - @see @funcref{seladd} - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ifnotadd_, ifnotadd, 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ifnotadd_, selnotadd, 3) -} } - -#endif - diff --git a/inst/include/boost/simd/boolean/functions/ifnotdec.hpp b/inst/include/boost/simd/boolean/functions/ifnotdec.hpp deleted file mode 100644 index cc9751a..0000000 --- a/inst/include/boost/simd/boolean/functions/ifnotdec.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IFNOTDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IFNOTDEC_HPP_INCLUDED - -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief ifnotdec generic tag - - Represents the ifnotdec function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ifnotdec_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ifnotdec_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ifnotdec_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ifnotdec_; - } - - /*! - Decrements a value by 1 if a predicate is False. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T1 r = ifnotdec(a0,a1); - @endcode - - is similar to: - - @code - T1 r = a0 : a1 : a1-one; - @endcode - - @par Alias: - @c selnotdec - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ifnotdec_, ifnotdec, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ifnotdec_, selnotdec, 2) -} } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/ifnotinc.hpp b/inst/include/boost/simd/boolean/functions/ifnotinc.hpp deleted file mode 100644 index 0369884..0000000 --- a/inst/include/boost/simd/boolean/functions/ifnotinc.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IFNOTINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IFNOTINC_HPP_INCLUDED - -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief ifnotinc generic tag - - Represents the ifnotinc function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ifnotinc_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ifnotinc_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ifnotinc_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ifnotinc_; - } - /*! - Increments a value by 1 if a predicate is false. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T1 r = ifnotinc(a0,a1); - @endcode - - is similar to: - - @code - T1 r = a0 ? a1 : a1+one; - @endcode - - @par Alias: - @c selnotinc - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ifnotinc_, ifnotinc, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ifnotinc_, selnotinc, 2) -} } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/ifnotsub.hpp b/inst/include/boost/simd/boolean/functions/ifnotsub.hpp deleted file mode 100644 index f577d8e..0000000 --- a/inst/include/boost/simd/boolean/functions/ifnotsub.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_IFNOTSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_IFNOTSUB_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ifnotsub generic tag - - Represents the ifnotsub function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ifnotsub_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ifnotsub_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ifnotsub_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ifnotsub_; - } - /*! - - The function returns the second entry or the difference of the second - and third entries, according to the first entry being True or - False - - @par Semantic: - - For every parameters of types respectively T0, T1, T1: - - @code - T1 r = ifnotsub(a0,a1,a2); - @endcode - - is similar to: - - @code - T1 r = a0 ? a1 : a1-a2; - @endcode - - @par Alias: - @c selnotadd - - @see @funcref{selsub} - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ifnotsub_, ifnotsub, 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ifnotsub_, selnotsub, 3) -} } - -#endif - diff --git a/inst/include/boost/simd/boolean/functions/logical_andnot.hpp b/inst/include/boost/simd/boolean/functions/logical_andnot.hpp deleted file mode 100644 index c4a650b..0000000 --- a/inst/include/boost/simd/boolean/functions/logical_andnot.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief logical_andnot generic tag - - Represents the logical_andnot function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_andnot_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_logical_andnot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_logical_andnot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_logical_andnot_; - } - /*! - return the logical and of the first parameter and of the negation the second parameter - the result type is logical type associated to the first parameter - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = logical_andnot(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 && !a1; - @endcode - - @par Alias: - @c l_andnot - - @param a0 - - @param a1 - - @return a value of the logical type asssociated to the first parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_andnot_ , logical_andnot , 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_andnot_ , l_andnot , 2) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/boolean/functions/logical_notand.hpp b/inst/include/boost/simd/boolean/functions/logical_notand.hpp deleted file mode 100644 index 752fee4..0000000 --- a/inst/include/boost/simd/boolean/functions/logical_notand.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief logical_notand generic tag - - Represents the logical_notand function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_notand_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_logical_notand_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_logical_notand_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_logical_notand_; - } - /*! - return the logical and of the negation of the first parameter and the second parameter - the result type is logical type associated to the first parameter - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = logical_notand(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = !a0 && a1; - @endcode - - @par Alias: - @c l_notand - - @param a0 - - @param a1 - - @return a value of the logical type asssociated to the first parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_notand_ , logical_notand , 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_notand_ , l_notand , 2) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/boolean/functions/logical_notor.hpp b/inst/include/boost/simd/boolean/functions/logical_notor.hpp deleted file mode 100644 index b60f921..0000000 --- a/inst/include/boost/simd/boolean/functions/logical_notor.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief logical_notor generic tag - - Represents the logical_notor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_notor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_logical_notor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_logical_notor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_logical_notor_; - } - /*! - return the logical or of the negation of the first parameter and the second parameter - the result type is logical type associated to the first parameter - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = logical_notor(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = !a0 || a1; - @endcode - - @par Alias: - @c l_notor - - @param a0 - - @param a1 - - @return a value of the logical type asssociated to the first parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_notor_ , logical_notor , 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_notor_ , l_notor , 2) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/boolean/functions/logical_ornot.hpp b/inst/include/boost/simd/boolean/functions/logical_ornot.hpp deleted file mode 100644 index f7cffd8..0000000 --- a/inst/include/boost/simd/boolean/functions/logical_ornot.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief logical_ornot generic tag - - Represents the logical_ornot function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_ornot_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_logical_ornot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_logical_ornot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_logical_ornot_; - } - /*! - return the logical or of the first parameter and of the negation the second parameter - the result type is logical type associated to the first parameter - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = logical_ornot(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 || !a1; - @endcode - - @par Alias: - @c l_ornot - - @param a0 - - @param a1 - - @return a value of the logical type asssociated to the first parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_ornot_ , logical_ornot , 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_ornot_ , l_ornot , 2) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/boolean/functions/mask2logical.hpp b/inst/include/boost/simd/boolean/functions/mask2logical.hpp deleted file mode 100644 index 64a15d5..0000000 --- a/inst/include/boost/simd/boolean/functions/mask2logical.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED -#include -#include - - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief mask2logical generic tag - - Represents the mask2logical function in generic contexts. - - @par Models: - Hierarchy - **/ - struct mask2logical_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mask2logical_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mask2logical_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mask2logical_; - } - - /*! - The function converts an arithmetic mask where each element is - Zero or Allbits to a logical value. - If it is not the case this function asserts. - - @par Semantic: - - For every parameters of types respectively T0: - - @code - as_logical r = mask2logical(a0); - @endcode - - is similar to: - - @code - as_logical r = logical(a0); - @endcode - - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mask2logical_, mask2logical, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mask2logical_, m2l, 1) -} } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/negif.hpp b/inst/include/boost/simd/boolean/functions/negif.hpp deleted file mode 100644 index 8126737..0000000 --- a/inst/include/boost/simd/boolean/functions/negif.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_NEGIF_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_NEGIF_HPP_INCLUDED -#include -#include - - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief negif generic tag - - Represents the negif function in generic contexts. - - @par Models: - Hierarchy - **/ - struct negif_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_negif_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_negif_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_negif_; - } - /*! - The function returns -a1 if a0 is true and a1 otherwise. - The two operands must have the same cardinal. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T1 r = negif(a0,a1); - @endcode - - is similar to: - - @code - T1 r = a0 ? -a1 : a1; - @endcode - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::negif_, negif, 2) -} } - -#endif - diff --git a/inst/include/boost/simd/boolean/functions/negifnot.hpp b/inst/include/boost/simd/boolean/functions/negifnot.hpp deleted file mode 100644 index 937a35e..0000000 --- a/inst/include/boost/simd/boolean/functions/negifnot.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_NEGIFNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_NEGIFNOT_HPP_INCLUDED -#include -#include - - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief negifnot generic tag - - Represents the negifnot function in generic contexts. - - @par Models: - Hierarchy - **/ - struct negifnot_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_negifnot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_negifnot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_negifnot_; - } - /*! - The function returns -a1 if a0 is false and a1 otherwise. - The two operands must have the same cardinal. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T1 r = negifnot(a0,a1); - @endcode - - is similar to: - - @code - T1 r = a0 ? a1 : -a1; - @endcode - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::negifnot_, negifnot, 2) -} } - -#endif - diff --git a/inst/include/boost/simd/boolean/functions/scalar/if_allbits_else.hpp b/inst/include/boost/simd/boolean/functions/scalar/if_allbits_else.hpp deleted file mode 100644 index 522f462..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/if_allbits_else.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ALLBITS_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ALLBITS_ELSE_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_allbits_else_, tag::cpu_ - , (A0)(A1) - , (scalar_< logical_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a0 ? Allbits() : a1; - } - }; - BOOST_DISPATCH_IMPLEMENT ( if_allbits_else_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return is_nez(a0) ? Allbits() : a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/if_else_allbits.hpp b/inst/include/boost/simd/boolean/functions/scalar/if_else_allbits.hpp deleted file mode 100644 index d13bf1f..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/if_else_allbits.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ELSE_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ELSE_ALLBITS_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_else_allbits_, tag::cpu_, (A0)(A1) - , (scalar_< logical_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a0 ? a1 : Allbits(); - } - }; - BOOST_DISPATCH_IMPLEMENT ( if_else_allbits_, tag::cpu_, (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return is_nez(a0) ? a1 : Allbits(); - } - }; - - -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/if_else_zero.hpp b/inst/include/boost/simd/boolean/functions/scalar/if_else_zero.hpp deleted file mode 100644 index e1db071..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/if_else_zero.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_else_zero_, tag::cpu_, (A0)(A1) - , (scalar_< logical_ >) - (scalar_< unspecified_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return is_nez(a0) ? a1 :Zero(); - } - }; - BOOST_DISPATCH_IMPLEMENT ( if_else_zero_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return is_nez(a0) ? a1 :Zero(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/if_one_else_zero.hpp b/inst/include/boost/simd/boolean/functions/scalar/if_one_else_zero.hpp deleted file mode 100644 index 93b74af..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/if_one_else_zero.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_one_else_zero_ - , tag::cpu_ - , (A0) - , (scalar_< logical_ >) - ) - { - typedef typename A0::value_type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 != boost::simd::False()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_one_else_zero_ - , tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 != boost::simd::Zero()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/if_zero_else.hpp b/inst/include/boost/simd/boolean/functions/scalar/if_zero_else.hpp deleted file mode 100644 index 0740b72..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/if_zero_else.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ZERO_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ZERO_ELSE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_zero_else_ - , tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a0 ? Zero() : a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/if_zero_else_one.hpp b/inst/include/boost/simd/boolean/functions/scalar/if_zero_else_one.hpp deleted file mode 100644 index f180308..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/if_zero_else_one.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_zero_else_one_, tag::cpu_, (A0) - , (scalar_< logical_ >) - ) - { - typedef typename A0::value_type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0 ? Zero() : One(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_zero_else_one_, tag::cpu_, (A0) - , (scalar_< fundamental_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 == boost::simd::Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_zero_else_one_, tag::cpu_, (A0) - , (scalar_< bool_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return !a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/ifnotadd.hpp b/inst/include/boost/simd/boolean/functions/scalar/ifnotadd.hpp deleted file mode 100644 index cfb28f2..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/ifnotadd.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IFNOTADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IFNOTADD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotadd_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0 & a0,const A1 & a1,const A1 & a2) const - { - return is_nez(a0) ? a1 :(a1+a2); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/ifnotdec.hpp b/inst/include/boost/simd/boolean/functions/scalar/ifnotdec.hpp deleted file mode 100644 index aeff946..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/ifnotdec.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IFNOTDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IFNOTDEC_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotdec_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a0 ? a1 :a1-A1(1); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/ifnotinc.hpp b/inst/include/boost/simd/boolean/functions/scalar/ifnotinc.hpp deleted file mode 100644 index 78fcc92..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/ifnotinc.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IFNOTINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IFNOTINC_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotinc_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a0 ? a1 :a1+A1(1); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/ifnotsub.hpp b/inst/include/boost/simd/boolean/functions/scalar/ifnotsub.hpp deleted file mode 100644 index d13bda7..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/ifnotsub.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IFNOTSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_IFNOTSUB_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotsub_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0 & a0,const A1 & a1,const A1 & a2) const - { - return is_nez(a0) ? a1 :(a1-a2); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/logical_andnot.hpp b/inst/include/boost/simd/boolean/functions/scalar/logical_andnot.hpp deleted file mode 100644 index e26941f..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/logical_andnot.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_LOGICAL_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_LOGICAL_ANDNOT_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_andnot_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(a0 && !a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_andnot_, tag::cpu_ - , (A0)(A1) - , (scalar_< logical_ >) - (scalar_< logical_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(a0.value() && !a1.value()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/logical_notand.hpp b/inst/include/boost/simd/boolean/functions/scalar/logical_notand.hpp deleted file mode 100644 index 01fb2be..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/logical_notand.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_LOGICAL_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_LOGICAL_NOTAND_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_notand_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(!a0 && a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_notand_, tag::cpu_ - , (A0)(A1) - , (scalar_< logical_ >) - (scalar_< logical_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(!a0.value() && a1.value()); - } - }; - -} } } - -#endif - diff --git a/inst/include/boost/simd/boolean/functions/scalar/logical_notor.hpp b/inst/include/boost/simd/boolean/functions/scalar/logical_notor.hpp deleted file mode 100644 index 0c6e27e..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/logical_notor.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_LOGICAL_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_LOGICAL_NOTOR_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_notor_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(!a0 || a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_notor_, tag::cpu_ - , (A0)(A1) - , (scalar_< logical_ >) - (scalar_< logical_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(!a0.value() || a1.value()); - } - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/boolean/functions/scalar/logical_ornot.hpp b/inst/include/boost/simd/boolean/functions/scalar/logical_ornot.hpp deleted file mode 100644 index 8e83768..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/logical_ornot.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_LOGICAL_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_LOGICAL_ORNOT_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_ornot_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(a0 || !a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_ornot_, tag::cpu_ - , (A0)(A1) - , (scalar_< logical_ >) - (scalar_< logical_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(a0.value() || !a1.value()); - } - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/boolean/functions/scalar/negif.hpp b/inst/include/boost/simd/boolean/functions/scalar/negif.hpp deleted file mode 100644 index 5e35b83..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/negif.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_NEGIF_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_NEGIF_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( negif_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< signed_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return is_nez(a0) ? -a1 : a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/negifnot.hpp b/inst/include/boost/simd/boolean/functions/scalar/negifnot.hpp deleted file mode 100644 index 1518619..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/negifnot.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_NEGIFNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_NEGIFNOT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( negifnot_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< signed_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return is_nez(a0) ? a1 : -a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/seladd.hpp b/inst/include/boost/simd/boolean/functions/scalar/seladd.hpp deleted file mode 100644 index 278d765..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/seladd.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_SELADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_SELADD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( seladd_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0 & a0,const A1 & a1,const A1 & a2) const - { - return is_nez(a0) ? (a1+a2) : a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/seldec.hpp b/inst/include/boost/simd/boolean/functions/scalar/seldec.hpp deleted file mode 100644 index cbce8d4..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/seldec.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_SELDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_SELDEC_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( seldec_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a0 ? a1-A1(1) : a1; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/selinc.hpp b/inst/include/boost/simd/boolean/functions/scalar/selinc.hpp deleted file mode 100644 index 023286d..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/selinc.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_SELINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_SELINC_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( selinc_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a0 ? a1+A1(1) : a1; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/boolean/functions/scalar/selsub.hpp b/inst/include/boost/simd/boolean/functions/scalar/selsub.hpp deleted file mode 100644 index 9589661..0000000 --- a/inst/include/boost/simd/boolean/functions/scalar/selsub.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_SELSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SCALAR_SELSUB_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( selsub_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0 & a0,const A1 & a1,const A1 & a2) const - { - return is_nez(a0) ? (a1-a2) : a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/seladd.hpp b/inst/include/boost/simd/boolean/functions/seladd.hpp deleted file mode 100644 index 7157832..0000000 --- a/inst/include/boost/simd/boolean/functions/seladd.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SELADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SELADD_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief seladd generic tag - - Represents the seladd function in generic contexts. - - @par Models: - Hierarchy - **/ - struct seladd_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_seladd_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_seladd_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_seladd_; - } - /*! - - The function returns the second entry or the sum of the second - and third entries, according to the first entry being False or - True - - @par Semantic: - - For every parameters of types respectively T0, T1, T1: - - @code - T1 r = seladd(a0,a1,a2); - @endcode - - is similar to: - - @code - T1 r = a0 ? a1+a2 : a1; - @endcode - - @par Alias: - @c ifadd - - @param a0 - - @param a1 - - @param a2 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::seladd_, seladd, 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::seladd_, ifadd, 3) -} } - -#endif - diff --git a/inst/include/boost/simd/boolean/functions/seldec.hpp b/inst/include/boost/simd/boolean/functions/seldec.hpp deleted file mode 100644 index de6b924..0000000 --- a/inst/include/boost/simd/boolean/functions/seldec.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SELDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SELDEC_HPP_INCLUDED - -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief seldec generic tag - - Represents the seldec function in generic contexts. - - @par Models: - Hierarchy - **/ - struct seldec_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_seldec_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_seldec_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_seldec_; - } - - /*! - Decrements a value by 1 if a predicate is true. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T1 r = seldec(a0,a1); - @endcode - - is similar to: - - @code - T1 r = a0 : a1-one : a1; - @endcode - - @par Alias: - @c ifdec - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::seldec_, seldec, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::seldec_, ifdec, 2) -} } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/selinc.hpp b/inst/include/boost/simd/boolean/functions/selinc.hpp deleted file mode 100644 index af82d29..0000000 --- a/inst/include/boost/simd/boolean/functions/selinc.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SELINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SELINC_HPP_INCLUDED - -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief selinc generic tag - - Represents the selinc function in generic contexts. - - @par Models: - Hierarchy - **/ - struct selinc_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_selinc_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_selinc_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_selinc_; - } - /*! - Increments a value by 1 if a predicate is true. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T1 r = selinc(a0,a1); - @endcode - - is similar to: - - @code - T1 r = a0 ? a1+one : a1; - @endcode - - @par Alias: - @c ifinc - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::selinc_, selinc, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::selinc_, ifinc, 2) -} } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/selsub.hpp b/inst/include/boost/simd/boolean/functions/selsub.hpp deleted file mode 100644 index c9936ea..0000000 --- a/inst/include/boost/simd/boolean/functions/selsub.hpp +++ /dev/null @@ -1,78 +0,0 @@ -/// Copyright 2009 and onward LRI UMR 8623 CNRS/Univ Paris Sud XI -/// -/// Distributed under the Boost Software License, Version 1.0 -/// See accompanying file LICENSE.txt or copy at -/// http://www.boost.org/LICENSE_1_0.txt -////////////////////////////////////////////////////////////////////////////// -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SELSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SELSUB_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief selsub generic tag - - Represents the selsub function in generic contexts. - - @par Models: - Hierarchy - **/ - struct selsub_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_selsub_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_selsub_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_selsub_; - } - /*! - - The function returns the second entry or the difference of the - second and third entries, according to the first entry being False - or True - - @par Semantic: - - For every parameters of types respectively T0, T1, T1: - - @code - T1 r = selsub(a0,a1,a2); - @endcode - - is similar to: - - @code - T1 r = a0 ? a1-a2 : a1; - @endcode - - @par Alias: - @c ifsub - - @param a0 - - @param a1 - - @param a2 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::selsub_, selsub, 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::selsub_, ifsub, 3) -} } - -#endif - diff --git a/inst/include/boost/simd/boolean/functions/simd/common/if_allbits_else.hpp b/inst/include/boost/simd/boolean/functions/simd/common/if_allbits_else.hpp deleted file mode 100644 index 2393093..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/if_allbits_else.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ALLBITS_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( if_allbits_else_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - - template - typename enable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(A0_ const& a0, A1 const& a1) const - { - return bitwise_or(a1, genmask(a0)); - } - - template - typename disable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(A0_ const& a0, A1 const& a1) const - { - return if_else(a0, Allbits(), a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/if_else_allbits.hpp b/inst/include/boost/simd/boolean/functions/simd/common/if_else_allbits.hpp deleted file mode 100644 index 6d663a6..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/if_else_allbits.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ELSE_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( if_else_allbits_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - - template - typename enable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(A0_ const& a0, A1 const& a1) const - { - return bitwise_ornot(a1, genmask(a0)); - } - - template - typename disable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(A0_ const& a0, A1 const& a1) const - { - return if_else(a0, a1, Allbits()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/if_else_zero.hpp b/inst/include/boost/simd/boolean/functions/simd/common/if_else_zero.hpp deleted file mode 100644 index f49b1ba..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/if_else_zero.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( if_else_zero_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - - template - typename enable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(A0_ const& a0, A1 const& a1) const - { - return bitwise_and(a1, genmask(a0)); - } - - template - typename disable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(A0_ const& a0, A1 const& a1) const - { - return if_else(a0, a1, Zero()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/if_one_else_zero.hpp b/inst/include/boost/simd/boolean/functions/simd/common/if_one_else_zero.hpp deleted file mode 100644 index 6da31c7..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/if_one_else_zero.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_one_else_zero_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::if_else_zero(a0, One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_one_else_zero_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::if_else_zero(a0, One()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/if_zero_else.hpp b/inst/include/boost/simd/boolean/functions/simd/common/if_zero_else.hpp deleted file mode 100644 index 44f4279..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/if_zero_else.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ZERO_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ZERO_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( if_zero_else_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - - template - typename enable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(A0_ const& a0, A1 const& a1) const - { - return bitwise_andnot(a1, genmask(a0)); - } - - template - typename disable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(A0_ const& a0, A1 const& a1) const - { - return if_else(a0, Zero(), a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/if_zero_else_one.hpp b/inst/include/boost/simd/boolean/functions/simd/common/if_zero_else_one.hpp deleted file mode 100644 index ed7a033..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/if_zero_else_one.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_zero_else_one_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_zero_else(a0, One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_zero_else_one_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_zero_else(a0, One()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/ifnotadd.hpp b/inst/include/boost/simd/boolean/functions/simd/common/ifnotadd.hpp deleted file mode 100644 index 43bf4bf..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/ifnotadd.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IFNOTADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IFNOTADD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( ifnotadd_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1, A1 const& a2) const - { - return a1+if_zero_else(a0, a2); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/ifnotdec.hpp b/inst/include/boost/simd/boolean/functions/simd/common/ifnotdec.hpp deleted file mode 100644 index 2a46c3e..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/ifnotdec.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IFNOTDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IFNOTDEC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotdec_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a1 + genmaskc(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ifnotdec_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return ifnotsub(a0, a1, One()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/ifnotinc.hpp b/inst/include/boost/simd/boolean/functions/simd/common/ifnotinc.hpp deleted file mode 100644 index f040414..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/ifnotinc.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IFNOTINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IFNOTINC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotinc_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a1 - genmaskc(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ifnotinc_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return ifnotadd(a0, a1, One()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/ifnotsub.hpp b/inst/include/boost/simd/boolean/functions/simd/common/ifnotsub.hpp deleted file mode 100644 index 6aadd73..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/ifnotsub.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IFNOTSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_IFNOTSUB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( ifnotsub_, tag::cpu_ - , (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const& a1, A1 const& a2) const - { - return a1-if_zero_else(a0, a2); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/logical_andnot.hpp b/inst/include/boost/simd/boolean/functions/simd/common/logical_andnot.hpp deleted file mode 100644 index 6afa51b..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/logical_andnot.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_LOGICAL_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_LOGICAL_ANDNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // FIXME: only enable if sizeof(A0) == sizeof(as_arithmetic::type) - // but what do we do if A0 is logical. We have also to enforce that - // A0 and A1 are compatable TODO - BOOST_DISPATCH_IMPLEMENT ( logical_andnot_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return mask2logical(b_andnot(genmask(a0), genmask(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/logical_notand.hpp b/inst/include/boost/simd/boolean/functions/simd/common/logical_notand.hpp deleted file mode 100644 index cacf7f6..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/logical_notand.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_LOGICAL_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_LOGICAL_NOTAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_notand_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return mask2logical(b_notand(genmask(a0), genmask(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/logical_notor.hpp b/inst/include/boost/simd/boolean/functions/simd/common/logical_notor.hpp deleted file mode 100644 index 52e40c1..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/logical_notor.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_LOGICAL_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_LOGICAL_NOTOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_notor_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return mask2logical(b_notor(genmask(a0), genmask(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/logical_ornot.hpp b/inst/include/boost/simd/boolean/functions/simd/common/logical_ornot.hpp deleted file mode 100644 index 6ce2afc..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/logical_ornot.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_LOGICAL_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_LOGICAL_ORNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_ornot_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return mask2logical(b_ornot(genmask(a0), genmask(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/mask2logical.hpp b/inst/include/boost/simd/boolean/functions/simd/common/mask2logical.hpp deleted file mode 100644 index 9d18043..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/mask2logical.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_MASK2LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_MASK2LOGICAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( mask2logical_, tag::cpu_, (A0)(X) - , (boost::simd::meta::is_logical_mask::type>) - , ((simd_< arithmetic_, X >)) - ) - { - typedef typename meta::as_logical::type ltype; - typedef typename dispatch::meta::call)>::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(assert_is_mask(a0), "Argument to mask2logical is not a valid logical mask"); - return bitwise_cast(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/negif.hpp b/inst/include/boost/simd/boolean/functions/simd/common/negif.hpp deleted file mode 100644 index db1fa0c..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/negif.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_NEGIF_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_NEGIF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( negif_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return if_else(a0,unary_minus(a1),a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/negifnot.hpp b/inst/include/boost/simd/boolean/functions/simd/common/negifnot.hpp deleted file mode 100644 index 9e377e5..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/negifnot.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_NEGIFNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_NEGIFNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( negifnot_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return if_else(a0,a1, unary_minus(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/seladd.hpp b/inst/include/boost/simd/boolean/functions/simd/common/seladd.hpp deleted file mode 100644 index 5e4fd17..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/seladd.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_SELADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_SELADD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( seladd_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1, A1 const& a2) const - { - return a1+if_else_zero(a0, a2); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/seldec.hpp b/inst/include/boost/simd/boolean/functions/simd/common/seldec.hpp deleted file mode 100644 index d0e2912..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/seldec.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_SELDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_SELDEC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( seldec_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a1 + bitwise_cast(genmask(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( seldec_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return selsub(a0, a1, One()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/selinc.hpp b/inst/include/boost/simd/boolean/functions/simd/common/selinc.hpp deleted file mode 100644 index c93af98..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/selinc.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_SELINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_SELINC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( selinc_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a1 - bitwise_cast(genmask(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( selinc_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_, X>)) - ((simd_, X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return seladd(a0, a1, One()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/boolean/functions/simd/common/selsub.hpp b/inst/include/boost/simd/boolean/functions/simd/common/selsub.hpp deleted file mode 100644 index 5104a87..0000000 --- a/inst/include/boost/simd/boolean/functions/simd/common/selsub.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_SELSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_FUNCTIONS_SIMD_COMMON_SELSUB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( selsub_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A1 const& a2) const - { - return a1 - if_else_zero(a0, a2); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( selsub_, tag::cpu_, (A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A1 const& a2) const - { - // this is a workaround for a gcc (at least 4.6) over-optimization in case or a1 and a2 are - // equal (constant?) and invalid (inf -inf or nan) in which case the general impl sometimes - // return 0 in place of nan in float cases. - return a1 + if_else_zero(a0, -a2); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/if_allbits_else.hpp b/inst/include/boost/simd/boolean/include/functions/if_allbits_else.hpp deleted file mode 100644 index dcd6047..0000000 --- a/inst/include/boost/simd/boolean/include/functions/if_allbits_else.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/if_else_allbits.hpp b/inst/include/boost/simd/boolean/include/functions/if_else_allbits.hpp deleted file mode 100644 index 49f6f2c..0000000 --- a/inst/include/boost/simd/boolean/include/functions/if_else_allbits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/if_else_zero.hpp b/inst/include/boost/simd/boolean/include/functions/if_else_zero.hpp deleted file mode 100644 index 41745fa..0000000 --- a/inst/include/boost/simd/boolean/include/functions/if_else_zero.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/if_one_else_zero.hpp b/inst/include/boost/simd/boolean/include/functions/if_one_else_zero.hpp deleted file mode 100644 index c3e9826..0000000 --- a/inst/include/boost/simd/boolean/include/functions/if_one_else_zero.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/if_zero_else.hpp b/inst/include/boost/simd/boolean/include/functions/if_zero_else.hpp deleted file mode 100644 index eda2211..0000000 --- a/inst/include/boost/simd/boolean/include/functions/if_zero_else.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/if_zero_else_one.hpp b/inst/include/boost/simd/boolean/include/functions/if_zero_else_one.hpp deleted file mode 100644 index c6c6666..0000000 --- a/inst/include/boost/simd/boolean/include/functions/if_zero_else_one.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/ifnotadd.hpp b/inst/include/boost/simd/boolean/include/functions/ifnotadd.hpp deleted file mode 100644 index f8cf653..0000000 --- a/inst/include/boost/simd/boolean/include/functions/ifnotadd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTADD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/ifnotdec.hpp b/inst/include/boost/simd/boolean/include/functions/ifnotdec.hpp deleted file mode 100644 index e9ad206..0000000 --- a/inst/include/boost/simd/boolean/include/functions/ifnotdec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTDEC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/ifnotinc.hpp b/inst/include/boost/simd/boolean/include/functions/ifnotinc.hpp deleted file mode 100644 index debab3f..0000000 --- a/inst/include/boost/simd/boolean/include/functions/ifnotinc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTINC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/ifnotsub.hpp b/inst/include/boost/simd/boolean/include/functions/ifnotsub.hpp deleted file mode 100644 index 68187a1..0000000 --- a/inst/include/boost/simd/boolean/include/functions/ifnotsub.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTSUB_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/logical_andnot.hpp b/inst/include/boost/simd/boolean/include/functions/logical_andnot.hpp deleted file mode 100644 index fe13374..0000000 --- a/inst/include/boost/simd/boolean/include/functions/logical_andnot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/logical_notand.hpp b/inst/include/boost/simd/boolean/include/functions/logical_notand.hpp deleted file mode 100644 index a747695..0000000 --- a/inst/include/boost/simd/boolean/include/functions/logical_notand.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/logical_notor.hpp b/inst/include/boost/simd/boolean/include/functions/logical_notor.hpp deleted file mode 100644 index 0e6527b..0000000 --- a/inst/include/boost/simd/boolean/include/functions/logical_notor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/logical_ornot.hpp b/inst/include/boost/simd/boolean/include/functions/logical_ornot.hpp deleted file mode 100644 index 0276c62..0000000 --- a/inst/include/boost/simd/boolean/include/functions/logical_ornot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/mask2logical.hpp b/inst/include/boost/simd/boolean/include/functions/mask2logical.hpp deleted file mode 100644 index fa0d643..0000000 --- a/inst/include/boost/simd/boolean/include/functions/mask2logical.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/negif.hpp b/inst/include/boost/simd/boolean/include/functions/negif.hpp deleted file mode 100644 index c324547..0000000 --- a/inst/include/boost/simd/boolean/include/functions/negif.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_NEGIF_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_NEGIF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/negifnot.hpp b/inst/include/boost/simd/boolean/include/functions/negifnot.hpp deleted file mode 100644 index 628279f..0000000 --- a/inst/include/boost/simd/boolean/include/functions/negifnot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_NEGIFNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_NEGIFNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/if_allbits_else.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/if_allbits_else.hpp deleted file mode 100644 index 9bb2a7f..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/if_allbits_else.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ALLBITS_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/if_else_allbits.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/if_else_allbits.hpp deleted file mode 100644 index 4941bc1..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/if_else_allbits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/if_else_zero.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/if_else_zero.hpp deleted file mode 100644 index cbe3729..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/if_else_zero.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ZERO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/if_one_else_zero.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/if_one_else_zero.hpp deleted file mode 100644 index 2792cbe..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/if_one_else_zero.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/if_zero_else.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/if_zero_else.hpp deleted file mode 100644 index 175ec0f..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/if_zero_else.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/if_zero_else_one.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/if_zero_else_one.hpp deleted file mode 100644 index 84b0b10..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/if_zero_else_one.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/ifnotadd.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/ifnotadd.hpp deleted file mode 100644 index 4b0cc57..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/ifnotadd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/ifnotdec.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/ifnotdec.hpp deleted file mode 100644 index 2e2d1c3..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/ifnotdec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTDEC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/ifnotinc.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/ifnotinc.hpp deleted file mode 100644 index 23b3876..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/ifnotinc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTINC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/ifnotsub.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/ifnotsub.hpp deleted file mode 100644 index 98f1fe7..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/ifnotsub.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTSUB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/logical_andnot.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/logical_andnot.hpp deleted file mode 100644 index dd8f44a..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/logical_andnot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ANDNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/logical_notand.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/logical_notand.hpp deleted file mode 100644 index 154ca8e..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/logical_notand.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTAND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/logical_notor.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/logical_notor.hpp deleted file mode 100644 index d3319de..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/logical_notor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/logical_ornot.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/logical_ornot.hpp deleted file mode 100644 index 190f17b..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/logical_ornot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ORNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/mask2logical.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/mask2logical.hpp deleted file mode 100644 index 3ac0a53..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/mask2logical.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_MASK2LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_MASK2LOGICAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/negif.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/negif.hpp deleted file mode 100644 index ee292fe..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/negif.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_NEGIF_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_NEGIF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/negifnot.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/negifnot.hpp deleted file mode 100644 index 8633bb8..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/negifnot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_NEGIFNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_NEGIFNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/seladd.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/seladd.hpp deleted file mode 100644 index 2f44cbb..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/seladd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/seldec.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/seldec.hpp deleted file mode 100644 index 8523924..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/seldec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELDEC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/selinc.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/selinc.hpp deleted file mode 100644 index 9a77bf5..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/selinc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELINC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/scalar/selsub.hpp b/inst/include/boost/simd/boolean/include/functions/scalar/selsub.hpp deleted file mode 100644 index 4b8a179..0000000 --- a/inst/include/boost/simd/boolean/include/functions/scalar/selsub.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELSUB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/seladd.hpp b/inst/include/boost/simd/boolean/include/functions/seladd.hpp deleted file mode 100644 index 521036c..0000000 --- a/inst/include/boost/simd/boolean/include/functions/seladd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SELADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SELADD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/seldec.hpp b/inst/include/boost/simd/boolean/include/functions/seldec.hpp deleted file mode 100644 index 09c014f..0000000 --- a/inst/include/boost/simd/boolean/include/functions/seldec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SELDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SELDEC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/selinc.hpp b/inst/include/boost/simd/boolean/include/functions/selinc.hpp deleted file mode 100644 index 29df0de..0000000 --- a/inst/include/boost/simd/boolean/include/functions/selinc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SELINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SELINC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/selsub.hpp b/inst/include/boost/simd/boolean/include/functions/selsub.hpp deleted file mode 100644 index bd723ee..0000000 --- a/inst/include/boost/simd/boolean/include/functions/selsub.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SELSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SELSUB_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/if_allbits_else.hpp b/inst/include/boost/simd/boolean/include/functions/simd/if_allbits_else.hpp deleted file mode 100644 index 47f81f1..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/if_allbits_else.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ALLBITS_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/if_else_allbits.hpp b/inst/include/boost/simd/boolean/include/functions/simd/if_else_allbits.hpp deleted file mode 100644 index f60cba8..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/if_else_allbits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/if_else_zero.hpp b/inst/include/boost/simd/boolean/include/functions/simd/if_else_zero.hpp deleted file mode 100644 index c3bd3f8..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/if_else_zero.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/if_one_else_zero.hpp b/inst/include/boost/simd/boolean/include/functions/simd/if_one_else_zero.hpp deleted file mode 100644 index 1a52b68..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/if_one_else_zero.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/if_zero_else.hpp b/inst/include/boost/simd/boolean/include/functions/simd/if_zero_else.hpp deleted file mode 100644 index 94e70b8..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/if_zero_else.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/if_zero_else_one.hpp b/inst/include/boost/simd/boolean/include/functions/simd/if_zero_else_one.hpp deleted file mode 100644 index ee946f8..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/if_zero_else_one.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/ifnotadd.hpp b/inst/include/boost/simd/boolean/include/functions/simd/ifnotadd.hpp deleted file mode 100644 index 70c8036..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/ifnotadd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTADD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/ifnotdec.hpp b/inst/include/boost/simd/boolean/include/functions/simd/ifnotdec.hpp deleted file mode 100644 index d448463..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/ifnotdec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTDEC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/ifnotinc.hpp b/inst/include/boost/simd/boolean/include/functions/simd/ifnotinc.hpp deleted file mode 100644 index a928340..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/ifnotinc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTINC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/ifnotsub.hpp b/inst/include/boost/simd/boolean/include/functions/simd/ifnotsub.hpp deleted file mode 100644 index e06e9b2..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/ifnotsub.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTSUB_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/logical_andnot.hpp b/inst/include/boost/simd/boolean/include/functions/simd/logical_andnot.hpp deleted file mode 100644 index 5e3af54..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/logical_andnot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ANDNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/logical_notand.hpp b/inst/include/boost/simd/boolean/include/functions/simd/logical_notand.hpp deleted file mode 100644 index 9aad91c..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/logical_notand.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTAND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/logical_notor.hpp b/inst/include/boost/simd/boolean/include/functions/simd/logical_notor.hpp deleted file mode 100644 index 24b1038..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/logical_notor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/logical_ornot.hpp b/inst/include/boost/simd/boolean/include/functions/simd/logical_ornot.hpp deleted file mode 100644 index 75dc387..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/logical_ornot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ORNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/mask2logical.hpp b/inst/include/boost/simd/boolean/include/functions/simd/mask2logical.hpp deleted file mode 100644 index 6dafbfc..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/mask2logical.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_MASK2LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_MASK2LOGICAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/negif.hpp b/inst/include/boost/simd/boolean/include/functions/simd/negif.hpp deleted file mode 100644 index af2d868..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/negif.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_NEGIF_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_NEGIF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/negifnot.hpp b/inst/include/boost/simd/boolean/include/functions/simd/negifnot.hpp deleted file mode 100644 index d8911f6..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/negifnot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_NEGIFNOT_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_NEGIFNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/seladd.hpp b/inst/include/boost/simd/boolean/include/functions/simd/seladd.hpp deleted file mode 100644 index 18b7161..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/seladd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELADD_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELADD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/seldec.hpp b/inst/include/boost/simd/boolean/include/functions/simd/seldec.hpp deleted file mode 100644 index 75691fd..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/seldec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELDEC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELDEC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/selinc.hpp b/inst/include/boost/simd/boolean/include/functions/simd/selinc.hpp deleted file mode 100644 index ee83b93..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/selinc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELINC_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELINC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/boolean/include/functions/simd/selsub.hpp b/inst/include/boost/simd/boolean/include/functions/simd/selsub.hpp deleted file mode 100644 index aa336ed..0000000 --- a/inst/include/boost/simd/boolean/include/functions/simd/selsub.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELSUB_HPP_INCLUDED -#define BOOST_SIMD_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELSUB_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/common.hpp b/inst/include/boost/simd/constant/common.hpp deleted file mode 100644 index f9e218d..0000000 --- a/inst/include/boost/simd/constant/common.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_COMMON_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_COMMON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constant.hpp b/inst/include/boost/simd/constant/constant.hpp deleted file mode 100644 index 9f1e798..0000000 --- a/inst/include/boost/simd/constant/constant.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_CONSTANT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/constant_value.hpp b/inst/include/boost/simd/constant/constant_value.hpp deleted file mode 100644 index 196a1b7..0000000 --- a/inst/include/boost/simd/constant/constant_value.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANT_VALUE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANT_VALUE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct constant_value - : Tag::template apply::type - >::type - > - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/constant/constants.hpp b/inst/include/boost/simd/constant/constants.hpp deleted file mode 100644 index 3cb1a0e..0000000 --- a/inst/include/boost/simd/constant/constants.hpp +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/allbits.hpp b/inst/include/boost/simd/constant/constants/allbits.hpp deleted file mode 100644 index 46c53a5..0000000 --- a/inst/include/boost/simd/constant/constants/allbits.hpp +++ /dev/null @@ -1,119 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ALLBITS_HPP_INCLUDED - -#include -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Allbits generic tag - - Represents the Allbits constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Allbits : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply - : meta::int_c - {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Allbits( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Allbits::apply,Dummy> - : meta::single_ < apply < boost::dispatch::meta::uint32_ - , Dummy - >::value - > {}; - - /// INTERNAL ONLY - template - struct Allbits::apply,Dummy> - : meta::double_ < apply < boost::dispatch::meta::uint64_ - , Dummy - >::value - > {}; - - /// INTERNAL ONLY - template - struct Allbits::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Allbits::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Allbits::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Allbits::apply,Dummy> - : meta::int_c {}; - - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Allbits(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Allbits; - } - /*! - Generates a value in the chosen type all bits of which are set to 1. - - @par Semantic: - - @code - T r = Allbits(); - @endcode - - is similar to - - @code - if T is floating point - r = Nan(); - else if T is signed integral - r = -1; - else - r = Valmax(); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Allbits, Allbits) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/bitincrement.hpp b/inst/include/boost/simd/constant/constants/bitincrement.hpp deleted file mode 100644 index 4bae191..0000000 --- a/inst/include/boost/simd/constant/constants/bitincrement.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== - -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_BITINCREMENT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_BITINCREMENT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Bitincrement generic tag - - Represents the Bitincrement constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Bitincrement : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Bitincrement( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Bitincrement::apply,Dummy> - : meta::single_<1> {}; - - /// INTERNAL ONLY - template - struct Bitincrement::apply,Dummy> - : meta::double_<1> {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Bitincrement(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Bitincrement; - } - - /*! - Generates a value in the chosen type all bits of which are set to 1. - - @par Semantic: - - @code - T r = Bitincrement(); - @endcode - - is similar to - - @code - if NO_DENORMALS - r = Smallestpositivevalue(); - else - r = minDenormal(); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION( boost::simd::tag::Bitincrement, Bitincrement) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/c180.hpp b/inst/include/boost/simd/constant/constants/c180.hpp deleted file mode 100644 index b40a84e..0000000 --- a/inst/include/boost/simd/constant/constants/c180.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_C180_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_C180_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief C180 generic tag - - Represents the C180 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( C180, double, 0 - , 0x43340000, 0x4066800000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_C180(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_C180; - } - /*! - Generates the value 180 in the chosen type - - @par Semantic: - - @code - T r = C180(); - @endcode - - is similar to - - @code - T r = T(180); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::C180, C180) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/cgold.hpp b/inst/include/boost/simd/constant/constants/cgold.hpp deleted file mode 100644 index 8a8e025..0000000 --- a/inst/include/boost/simd/constant/constants/cgold.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_CGOLD_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_CGOLD_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Cgold generic tag - - Represents the Cgold constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER(Cgold,double,0,0x3EC3910D,0x3FD8722191A02D61ULL) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Cgold(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Cgold; - } - /*! - Generates the conjugate golden ration that is\f$\bar\phi = \frac{1-\sqrt5}{2}\f$ - - @par Semantic: - - @code - T r = Cgold(); - @endcode - - is similar to: - - @code - T r = (1-sqrt(5))/2; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Cgold, Cgold) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/eight.hpp b/inst/include/boost/simd/constant/constants/eight.hpp deleted file mode 100644 index 797df42..0000000 --- a/inst/include/boost/simd/constant/constants/eight.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_EIGHT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_EIGHT_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Eight generic tag - - Represents the Eight constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER(Eight,double - , 8, 0x41000000UL , 0x4020000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Eight(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Eight; - } - /*! - Generates the value 8 - - @par Semantic: - - @code - T r = Eight(); - @endcode - - is similar to: - - @code - T r = T(8); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Eight, Eight) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/eleven.hpp b/inst/include/boost/simd/constant/constants/eleven.hpp deleted file mode 100644 index f31974d..0000000 --- a/inst/include/boost/simd/constant/constants/eleven.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ELEVEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ELEVEN_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Eleven generic tag - - Represents the Eleven constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Eleven, double, 11 - ,0x41300000,0x4026000000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Eleven(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Eleven; - } - /*! - Generates the value 11 - - @par Semantic: - - @code - T r = Eleven(); - @endcode - - is similar to: - - @code - T r = T(11); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Eleven, Eleven) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/eps.hpp b/inst/include/boost/simd/constant/constants/eps.hpp deleted file mode 100644 index f71c6fb..0000000 --- a/inst/include/boost/simd/constant/constants/eps.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_EPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_EPS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Eps generic tag - - Represents the Eps constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER(Eps,double,1,0X34000000,0x3CB0000000000000ULL) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Eps(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Eps; - } - /*! - Generates two times the machine epsilon. - - @par Semantic: - - @code - T r = Eps(); - @endcode - - is similar to: - - @code - if T is integral - r = T(1) - else if T is double - r = pow(2.0, -53); - else if T is float - r = pow(2.0f, -23); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Eps, Eps) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fact_10.hpp b/inst/include/boost/simd/constant/constants/fact_10.hpp deleted file mode 100644 index 055385a..0000000 --- a/inst/include/boost/simd/constant/constants/fact_10.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 20010 - 2011 LRI UMR 10623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FACT_10_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FACT_10_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // truncation of constant -#endif - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fact_10 generic tag - - Represents the Fact_10 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fact_10,double - , 3628800,0x4a5d7c00, 0x414baf8000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fact_10(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fact_10; - } - /*! - Generates 10! that is 3628800 - - @par Semantic: - - @code - T r = Fact_10(); - @endcode - - is similar to: - - @code - T r = T(3628800); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_10, Fact_10) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fact_11.hpp b/inst/include/boost/simd/constant/constants/fact_11.hpp deleted file mode 100644 index a4aef9c..0000000 --- a/inst/include/boost/simd/constant/constants/fact_11.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 20011 - 2011 LRI UMR 11623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FACT_11_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FACT_11_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // truncation of constant -#endif - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fact_11 generic tag - - Represents the Fact_11 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fact_11,double - , 39916800,0x4c184540,0x418308a800000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fact_11(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fact_11; - } - /*! - Generates 11! that is 39916800, - - @par Semantic: - - @code - T r = Fact_11(); - @endcode - is similar to: - - @code - T r = T(39916800); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_11, Fact_11) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fact_12.hpp b/inst/include/boost/simd/constant/constants/fact_12.hpp deleted file mode 100644 index c7583db..0000000 --- a/inst/include/boost/simd/constant/constants/fact_12.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 20012 - 2012 LRI UMR 12623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FACT_12_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FACT_12_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // truncation of constant -#endif - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fact_12 generic tag - - Represents the Fact_12 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fact_12,double - , 479001600,0x4de467e0, 0x41bc8cfc00000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fact_12(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fact_12; - } - /*! - Generates 12! that is 479001600 - - @par Semantic: - - @code - T r = Fact_12(); - @endcode - - is similar to: - - @code - T r = T(479001600); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_12, Fact_12) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fact_4.hpp b/inst/include/boost/simd/constant/constants/fact_4.hpp deleted file mode 100644 index 4cd7652..0000000 --- a/inst/include/boost/simd/constant/constants/fact_4.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FACT_4_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FACT_4_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fact_4 generic tag - - Represents the Fact_4 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fact_4,double - , 24, 0x41c00000, 0x4038000000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fact_4(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fact_4; - } - /*! - Generates 4! that is 24 - - @par Semantic: - - @code - T r = Fact_4(); - @endcode - - is similar to: - - @code - T r = T(24); - @endcode - - @par Alias - - Twentyfour - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_4, Fact_4) - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_4, Twentyfour) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fact_5.hpp b/inst/include/boost/simd/constant/constants/fact_5.hpp deleted file mode 100644 index e2b069a..0000000 --- a/inst/include/boost/simd/constant/constants/fact_5.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FACT_5_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FACT_5_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fact_5 generic tag - - Represents the Fact_5 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fact_5,double - , 120, 0x42f00000,0x405e000000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fact_5(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fact_5; - } - /*! - Generates 5!, that is 120 - - @par Semantic: - - @code - T r = Fact_5(); - @endcode - - is similar to: - - @code - T r = T(120); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_5, Fact_5) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fact_6.hpp b/inst/include/boost/simd/constant/constants/fact_6.hpp deleted file mode 100644 index e88784c..0000000 --- a/inst/include/boost/simd/constant/constants/fact_6.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FACT_6_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FACT_6_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // truncation of constant -#endif - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fact_6 generic tag - - Represents the Fact_6 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fact_6,double - , 720,0x44340000,0x4086800000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fact_6(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fact_6; - } - /*! - Generates 6! that is 720 - - @par Semantic: - - @code - T r = Fact_6(); - @endcode - - is similar to: - - @code - T r = T(720); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_6, Fact_6) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fact_7.hpp b/inst/include/boost/simd/constant/constants/fact_7.hpp deleted file mode 100644 index 20e4ed5..0000000 --- a/inst/include/boost/simd/constant/constants/fact_7.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FACT_7_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FACT_7_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // truncation of constant -#endif - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fact_7 generic tag - - Represents the Fact_7 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fact_7,double - , 5040, 0x459d8000, 0x40b3b00000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fact_7(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fact_7; - } - /*! - Generates 7! that is 5040 - - @par Semantic: - - @code - T r = Fact_7(); - @endcode - - is similar to: - - @code - T r = T(5040); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_7, Fact_7) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fact_8.hpp b/inst/include/boost/simd/constant/constants/fact_8.hpp deleted file mode 100644 index fc51da1..0000000 --- a/inst/include/boost/simd/constant/constants/fact_8.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FACT_8_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FACT_8_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // truncation of constant -#endif - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fact_8 generic tag - - Represents the Fact_8 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fact_8,double - , 40320,0x471d8000,0x40e3b00000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fact_8(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fact_8; - } - /*! - Generates 8! that is 40320 - - @par Semantic: - - @code - T r = Fact_8(); - @endcode - - is similar to: - - @code - T r = T(40320); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_8, Fact_8) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fact_9.hpp b/inst/include/boost/simd/constant/constants/fact_9.hpp deleted file mode 100644 index 6433a87..0000000 --- a/inst/include/boost/simd/constant/constants/fact_9.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 9623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FACT_9_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FACT_9_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // truncation of constant -#endif - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fact_9 generic tag - - Represents the Fact_9 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fact_9,double - , 362880, 0x48b13000,0x4116260000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fact_9(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fact_9; - } - /*! - Generates 9! that is 362880, - - @par Semantic: - - @code - T r = Fact_9(); - @endcode - - is similar to: - - @code - T r = T(362880); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fact_9, Fact_9) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/false.hpp b/inst/include/boost/simd/constant/constants/false.hpp deleted file mode 100644 index 194de26..0000000 --- a/inst/include/boost/simd/constant/constants/false.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FALSE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FALSE_HPP_INCLUDED - -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief False generic tag - - Represents the False constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct False : ext::pure_constant_ - { - typedef logical default_type; - typedef ext::pure_constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_False( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_False(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_False; - } - /*! - Generates the value False as a logical associated to chosen type - - @par Semantic: - - @code - logical r = False(); - @endcode - - is similar to: - - @code - auto r = logical(false); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::False, False) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fifteen.hpp b/inst/include/boost/simd/constant/constants/fifteen.hpp deleted file mode 100644 index 933b125..0000000 --- a/inst/include/boost/simd/constant/constants/fifteen.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FIFTEEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FIFTEEN_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fifteen generic tag - - Represents the Fifteen constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fifteen,double - , 15,0x41700000,0x402e000000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fifteen(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fifteen; - } - /*! - Generates value 15 in the chosen type - - @par Semantic: - - @code - T r = Fifteen(); - @endcode - - is similar to: - - @code - T r = T(15); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fifteen, Fifteen) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/five.hpp b/inst/include/boost/simd/constant/constants/five.hpp deleted file mode 100644 index f49a0ed..0000000 --- a/inst/include/boost/simd/constant/constants/five.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FIVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FIVE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Five generic tag - - Represents the Five constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Five,double - , 5,0x40a00000UL,0x4014000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Five(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Five; - } - /*! - Generates value 5 in the chosen type - - @par Semantic: - - @code - T r = Five(); - @endcode - - is similar to: - - @code - T r = T(5); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Five, Five) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fiveo_8.hpp b/inst/include/boost/simd/constant/constants/fiveo_8.hpp deleted file mode 100644 index 80afe48..0000000 --- a/inst/include/boost/simd/constant/constants/fiveo_8.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FIVEO_8_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FIVEO_8_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fiveo_8 generic tag - - Represents the Fiveo_8 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fiveo_8, double, 0 - , 0x3f200000UL - , 0x3fe4000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fiveo_8(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fiveo_8; - } - /*! - Generates value 5/8 = 0.625 - - @par Semantic: - - @code - T r = Fiveo_8(); - @endcode - - is similar to: - - @code - T r = T(5)/T(8); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fiveo_8, Fiveo_8) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/four.hpp b/inst/include/boost/simd/constant/constants/four.hpp deleted file mode 100644 index 4e59eae..0000000 --- a/inst/include/boost/simd/constant/constants/four.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FOUR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FOUR_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Four generic tag - - Represents the Four constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Four,double - , 4,0x40800000UL,0x4010000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Four(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Four; - } - /*! - Generates value 4 in the chosen type - - @par Semantic: - - @code - T r = Four(); - @endcode - - is similar to: - - @code - T r = T(4); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Four, Four) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/fourthrooteps.hpp b/inst/include/boost/simd/constant/constants/fourthrooteps.hpp deleted file mode 100644 index d0f4843..0000000 --- a/inst/include/boost/simd/constant/constants/fourthrooteps.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Fourthrooteps generic tag - - Represents the Fourthrooteps constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Fourthrooteps,double,1 - , 0x3C9837F0,0x3F20000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Fourthrooteps(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Fourthrooteps; - } - /*! - Generates the 4th root of constant @c Eps. - - @par Semantic: - - @code - T r = Fourthrooteps(); - @endcode - - is similar to: - - @code - if T is integral - r = T(1) - else if T is double - r = pow(2.0, -13); - else if T is float - r = pow(2.0f, -5.75f); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Fourthrooteps, Fourthrooteps) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/gold.hpp b/inst/include/boost/simd/constant/constants/gold.hpp deleted file mode 100644 index daf4292..0000000 --- a/inst/include/boost/simd/constant/constants/gold.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_GOLD_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_GOLD_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Gold generic tag - - Represents the Gold constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Gold,double,1 - , 0x3FCF1BBD,0x3FF9E3779B97F4A8ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Gold(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Gold; - } - /*! - Generates the golden ratio that is \f$\phi = \frac{1+\sqrt5}{2}\f$ - - @par Semantic: - - @code - T r = Gold(); - @endcode - - is similar for floating types to: - - @code - T r = (1+sqrt(5))/2; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Gold, Gold) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/goldbar.hpp b/inst/include/boost/simd/constant/constants/goldbar.hpp deleted file mode 100644 index 8e8a2cc..0000000 --- a/inst/include/boost/simd/constant/constants/goldbar.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_GOLDBAR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_GOLDBAR_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Goldbar generic tag - - Represents the Goldbar constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Goldbar,double,1 - , 0xbf1e377aLL, 0xbfe3c6ef372fe950ULL - ); - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Goldbar(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Goldbar; - } - /*! - Generates the goldbaren ratio that is \f$\phi = \frac{1+\sqrt5}{2}\f$ - - @par Semantic: - - @code - T r = Goldbar(); - @endcode - - is similar for floating types to: - - @code - T r = (1-sqrt(5))/2; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Goldbar, Goldbar) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/greatestnoninteger.hpp b/inst/include/boost/simd/constant/constants/greatestnoninteger.hpp deleted file mode 100644 index 9a392fc..0000000 --- a/inst/include/boost/simd/constant/constants/greatestnoninteger.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Greatestnoninteger generic tag - - Represents the Greatestnoninteger constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Greatestnoninteger , double, 0 - , 0x4affffffLL, 0x432fffffffffffffULL - ); - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Greatestnoninteger(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Greatestnoninteger; - } - /*! - Generates the least integer value which is exactly - representable in floating point numbers and - equal to its integral successor. - - All floating numbers greater than Greatestnoninteger are integral. - - @par Semantic: - - @code - T r = Greatestnoninteger(); - @endcode - - is similar to: - - @code - if T is double - r = 4503599627370495.5 - else if T is float - r = 8388607.5f - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Greatestnoninteger, Greatestnoninteger) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/half.hpp b/inst/include/boost/simd/constant/constants/half.hpp deleted file mode 100644 index 7e49b1e..0000000 --- a/inst/include/boost/simd/constant/constants/half.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_HALF_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_HALF_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Half generic tag - - Represents the Half constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER(Half,double,0,0x3F000000,0x3FE0000000000000ULL) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Half(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Half; - } - /*! - Generates value \f$\frac12\f$ - - @par Semantic: - - @code - T r = Half(); - @endcode - - is similar for floating types to: - - @code - T r = T(1)/T(2); - @endcode - - and returns 0 for integral types - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Half, Half) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/halfeps.hpp b/inst/include/boost/simd/constant/constants/halfeps.hpp deleted file mode 100644 index c7617d7..0000000 --- a/inst/include/boost/simd/constant/constants/halfeps.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_HALFEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_HALFEPS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Halfeps generic tag - - Represents the Halfeps constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Halfeps, double, 1 - , 0x33800000, 0x3CA0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Halfeps(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Halfeps; - } - /*! - Generates the machine epsilon. - - @par Semantic: - - @code - T r = Halfeps(); - @endcode - - is similar to: - - @code - if T is integral - r = T(1) - else if T is double - r = pow(2, -54); - else if T is float - r = pow(2.0f, -24); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Halfeps, Halfeps) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/hundred.hpp b/inst/include/boost/simd/constant/constants/hundred.hpp deleted file mode 100644 index 2e5bbce..0000000 --- a/inst/include/boost/simd/constant/constants/hundred.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_HUNDRED_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_HUNDRED_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Hundred generic tag - - Represents the Hundred constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Hundred,double - , 100, 0x42c80000, 0x4059000000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Hundred(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Hundred; - } - /*! - Generates the value 100 in the chosen type - - @par Semantic: - - @code - T r = Hundred(); - @endcode - - is similar to - - @code - T r = T(100); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Hundred, Hundred) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/inf.hpp b/inst/include/boost/simd/constant/constants/inf.hpp deleted file mode 100644 index 2a5b538..0000000 --- a/inst/include/boost/simd/constant/constants/inf.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_INF_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_INF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Inf generic tag - - Represents the Inf constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Valmax; - - struct Inf : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::make_dependent::type::template apply {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Inf( ext::adl_helper(), static_cast(args)... ) ) - }; - - - /// INTERNAL ONLY - template - struct Inf::apply,Dummy> - : meta::single_<0x7F800000> {}; - - /// INTERNAL ONLY - template - struct Inf::apply,Dummy> - : meta::double_<0x7FF0000000000000ULL> {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Inf(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Inf; - } - - /*! - Generates the Inf IEEE value (\f$\infty\f$) for floating types and maximum value - for integer types - - @par Semantic: - - @code - T r = Inf(); - @endcode - - is similar to: - - @code - if T is integral - r = Valmax() - else if T is floating - r = IEEE inf value; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Inf, Inf) - -} } - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/int_splat.hpp b/inst/include/boost/simd/constant/constants/int_splat.hpp deleted file mode 100644 index f98d894..0000000 --- a/inst/include/boost/simd/constant/constants/int_splat.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_INT_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_INT_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Int_splat generic tag - - Represents the Int_splat constant in generic contexts. - - @par Models: - Hierarchy - **/ - template - struct Intpattern : ext::pure_constant_< Intpattern > - { - typedef ext::pure_constant_< Intpattern > parent; - template - /// INTERNAL ONLY - struct apply : meta::int_c< typename Target::type - , typename Target::type(I) - > {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_HEADER( dispatching( ext::adl_helper(), *(Intpattern*)0, static_cast(args)... ) ) - { - return dispatching( ext::adl_helper(), Intpattern(), static_cast(args)... ); - } - }; - } - - template::type N> - inline Target integral_constant() - { - typedef tag::Intpattern tag_t; - typename dispatch::make_functor< tag_t, Target >::type callee; - return callee( dispatch::meta::as_() ); - } -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/ldexpmask.hpp b/inst/include/boost/simd/constant/constants/ldexpmask.hpp deleted file mode 100644 index 2c8eac1..0000000 --- a/inst/include/boost/simd/constant/constants/ldexpmask.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_LDEXPMASK_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_LDEXPMASK_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Ldexpmask generic tag - - Represents the Ldexpmask constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Ldexpmask : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Ldexpmask( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Ldexpmask::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Ldexpmask::apply,Dummy> - : meta::int_c {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Ldexpmask(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Ldexpmask; - } - /*! - Generates the mask to extract the exponent - bits of a floating point value - - @par Semantic: - - @code - T r = Ldexpmask(); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Ldexpmask, Ldexpmask) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/limitexponent.hpp b/inst/include/boost/simd/constant/constants/limitexponent.hpp deleted file mode 100644 index b02b20b..0000000 --- a/inst/include/boost/simd/constant/constants/limitexponent.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Limitexponent generic tag - - Represents the Limitexponent constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Limitexponent : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Limitexponent( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Limitexponent::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Limitexponent::apply,Dummy> - : meta::int_c {}; - - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Limitexponent(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Limitexponent; - } - /*! - Generates the limit exposant of floating point numbers, that is Maxexponant+1 - - @par Semantic: - - @code - as_integer r = Limitexponent(); - @endcode - - @code - if T is double - r = 1024; - else if T is float - r = 128; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Limitexponent, Limitexponent) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/log10_pi.hpp b/inst/include/boost/simd/constant/constants/log10_pi.hpp deleted file mode 100644 index 03a969e..0000000 --- a/inst/include/boost/simd/constant/constants/log10_pi.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_LOG10_PI_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_LOG10_PI_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Log10_pi generic tag - - Represents the Log10_pi constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Log10_pi, double, 3 - , 0x3efe8a6e, 0x3fdfd14db31ba3bbll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Log10_pi(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Log10_pi; - } - /*! - Generates base ten logarithm of pi used in pispace (\f$\log(\pi)\f$) - - @par Semantic: - - @code - T r = Log10_pi(); - @endcode - - is similar to: - - @code - T r = log10(Pi()); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Log10_pi, Log10_pi) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/logeps.hpp b/inst/include/boost/simd/constant/constants/logeps.hpp deleted file mode 100644 index b6af0ca..0000000 --- a/inst/include/boost/simd/constant/constants/logeps.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_LOGEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_LOGEPS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Logeps generic tag - - Represents the Logeps constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Logeps, double, 1 - , 0xc17f1402UL, 0xc04205966f2b4f19ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Logeps(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Logeps; - } - /*! - Generates the logarithm of the machine epsilon. - - @par Semantic: - - @code - T r = Logeps(); - @endcode - - is similar to: - - @code - r = log(Eps()); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Logeps, Logeps) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/logpi.hpp b/inst/include/boost/simd/constant/constants/logpi.hpp deleted file mode 100644 index 08b1901..0000000 --- a/inst/include/boost/simd/constant/constants/logpi.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_LOGPI_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_LOGPI_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Logpi generic tag - - Represents the Logpi constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Logpi, double, 1 - , 0x3f928682LL, 0x3ff250d048e7a1bdULL //1.1447298858494001741434273513531 - ); - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Logpi(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Logpi; - } - /*! - Generates value \f$\log\pi\f$ - - @par Semantic: - - @code - T r = Logpi(); - @endcode - - is similar to: - - @code - T r = log(sqrt(Pi()); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Logpi, Logpi) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/logsqrt2pi.hpp b/inst/include/boost/simd/constant/constants/logsqrt2pi.hpp deleted file mode 100644 index 0151355..0000000 --- a/inst/include/boost/simd/constant/constants/logsqrt2pi.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Logsqrt2pi generic tag - - Represents the Logsqrt2pi constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Logsqrt2pi, double, 0 - , 0x3f6b3f8eLL, 0x3fed67f1c864beb5ULL // 0.91893853320467274178032973640562 - ); - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Logsqrt2pi(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Logsqrt2pi; - } - /*! - Generates value \f$\log\sqrt{2\pi}\f$ - - @par Semantic: - - @code - T r = Logsqrt2pi(); - @endcode - - is similar to: - - @code - T r = log(sqrt(2*Pi()); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Logsqrt2pi, Logsqrt2pi) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/mantissamask.hpp b/inst/include/boost/simd/constant/constants/mantissamask.hpp deleted file mode 100644 index 57739e8..0000000 --- a/inst/include/boost/simd/constant/constants/mantissamask.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MANTISSAMASK_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MANTISSAMASK_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mantissamask generic tag - - Represents the Mantissamask constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mantissamask,double - , 0,0x807FFFFFUL,0x800FFFFFFFFFFFFFULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mantissamask(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mantissamask; - } - /*! - Generates a mask used to compute the mantissa of a floating point value - - @par Semantic: - - @code - as_integer r = Mantissamask(); - @endcode - - @code - if T is double - r = -2.225073858507200889e-308; - else if T is float - r = -1.1754942106924410755e-38; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mantissamask, Mantissamask) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/mask1frexp.hpp b/inst/include/boost/simd/constant/constants/mask1frexp.hpp deleted file mode 100644 index db7d789..0000000 --- a/inst/include/boost/simd/constant/constants/mask1frexp.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MASK1FREXP_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MASK1FREXP_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mask1frexp generic tag - - Represents the Mask1frexp constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Mask1frexp : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Mask1frexp( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Mask1frexp::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Mask1frexp::apply,Dummy> - : meta::int_c {}; - - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mask1frexp(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mask1frexp; - } - /*! - Generates the maximum exposant of floating point numbers - - @par Semantic: - - @code - as_integer r = Mask1frexp(); - @endcode - - @code - if T is double - r = 9218868437227405312l; - else if T is float - r = 2139095040; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mask1frexp, Mask1frexp) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/mask2frexp.hpp b/inst/include/boost/simd/constant/constants/mask2frexp.hpp deleted file mode 100644 index 7323e81..0000000 --- a/inst/include/boost/simd/constant/constants/mask2frexp.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MASK2FREXP_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MASK2FREXP_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mask2frexp generic tag - - Represents the Mask2frexp constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Mask2frexp : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Mask2frexp( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Mask2frexp::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Mask2frexp::apply,Dummy> - : meta::int_c {}; - - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mask2frexp(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mask2frexp; - } - /*! - Generates the maximum exposant of floating point numbers - - @par Semantic: - - @code - as_integer r = Mask2frexp(); - @endcode - - @code - if T is double - r = 4602678819172646912ll; - else if T is float - r = 1056964608; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mask2frexp, Mask2frexp) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/maxexponent.hpp b/inst/include/boost/simd/constant/constants/maxexponent.hpp deleted file mode 100644 index 6005852..0000000 --- a/inst/include/boost/simd/constant/constants/maxexponent.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MAXEXPONENT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MAXEXPONENT_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Maxexponent generic tag - - Represents the Maxexponent constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Maxexponent : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Maxexponent( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Maxexponent::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Maxexponent::apply,Dummy> - : meta::int_c {}; - - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Maxexponent(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Maxexponent; - } - /*! - Generates the maximum exposant of floating point numbers - - @par Semantic: - - @code - as_integer r = Maxexponent(); - @endcode - - @code - if T is double - r = 1023; - else if T is float - r = 127; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Maxexponent, Maxexponent) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/maxexponentm1.hpp b/inst/include/boost/simd/constant/constants/maxexponentm1.hpp deleted file mode 100644 index 6460010..0000000 --- a/inst/include/boost/simd/constant/constants/maxexponentm1.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Maxexponentm1 generic tag - - Represents the Maxexponentm1 constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Maxexponentm1 : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Maxexponentm1( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Maxexponentm1::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Maxexponentm1::apply,Dummy> - : meta::int_c {}; - - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Maxexponentm1(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Maxexponentm1; - } - /*! - Generates the maximum exposant of floating point numbers minus one - - @par Semantic: - - @code - as_integer r = Maxexponentm1(); - @endcode - - @code - if T is double - r = 1022; - else if T is float - r = 126; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Maxexponentm1, Maxexponentm1) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/maxflint.hpp b/inst/include/boost/simd/constant/constants/maxflint.hpp deleted file mode 100644 index 3f23bd0..0000000 --- a/inst/include/boost/simd/constant/constants/maxflint.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MAXFLINT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MAXFLINT_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Maxflint generic tag - - Represents the Maxflint constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Maxflint , double, 1 - , 0x4b800000, 0x4340000000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Maxflint(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Maxflint; - } - /*! - Generates the least integer value which is exactly - representable in floating point numbers and - equal to its integral successor. - - All floating numbers greater than Maxflint are integral. - - @par Semantic: - - @code - T r = Maxflint(); - @endcode - - is similar to: - - @code - if T is double - r = 9007199254740992.0 - else if T is float - r = 16777216.0f - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Maxflint, Maxflint) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/maxgammaln.hpp b/inst/include/boost/simd/constant/constants/maxgammaln.hpp deleted file mode 100644 index cf7c1ad..0000000 --- a/inst/include/boost/simd/constant/constants/maxgammaln.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MAXGAMMALN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MAXGAMMALN_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Maxgammaln generic tag - - Represents the Maxgammaln constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Maxgammaln, double, 1 - , 0x7bc3f8eaLL, 0x7f574c5dd06d2516ULL - ); - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Maxgammaln(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Maxgammaln; - } - /*! - Generates value \f$\log\pi\f$ - - @par Semantic: - - @code - T r = Maxgammaln(); - @endcode - - is similar to: - - @code - if T is float - T r = 2.035093e36f - else if T is double - T r = 2.556348e305 - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Maxgammaln, Maxgammaln) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/maxinit.hpp b/inst/include/boost/simd/constant/constants/maxinit.hpp deleted file mode 100644 index 7edc7e7..0000000 --- a/inst/include/boost/simd/constant/constants/maxinit.hpp +++ /dev/null @@ -1,122 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MAXINIT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MAXINIT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4146) -#endif - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Maxinit generic tag - - Represents the Maxinit constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Maxinit : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply - : meta::int_c < typename Target::type, 0> {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Maxinit( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Maxinit::apply,Dummy> - : meta::single_<0xFF7FFFFFUL> {}; - - /// INTERNAL ONLY - template - struct Maxinit::apply,Dummy> - : meta::double_<0xFFEFFFFFFFFFFFFFULL> {}; - - /// INTERNAL ONLY - template - struct Maxinit::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Maxinit::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Maxinit::apply,Dummy> - : meta::int_c < T - , T(-boost::simd::uint32_t(2147483648UL)) - > {}; - - /// INTERNAL ONLY - template - struct Maxinit::apply,Dummy> - : meta::int_c < T - , T(-boost::simd::uint64_t(9223372036854775808ULL)) - > {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Maxinit(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Maxinit; - } - /*! - Generates the least finite value of a type for the current order, - value which is used for maximum computations at it is considered as - the maximum over an empty set for the chosen type. - - @par Semantic: - - @code - T r = Maxinit(); - @endcode - - for real entries, is similar to: - - @code - T r = Valmin(); - @endcode - - Complex ordering has to specialize this constant. - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Maxinit, Maxinit) - -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/maxleftshift.hpp b/inst/include/boost/simd/constant/constants/maxleftshift.hpp deleted file mode 100644 index bcdb2b9..0000000 --- a/inst/include/boost/simd/constant/constants/maxleftshift.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED - -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Maxleftshift generic tag - - Represents the Maxleftshift constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Maxleftshift : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply - : meta::int_c < typename dispatch::meta:: - as_integer < typename Target::type - , signed - >::type - , sizeof(typename Target::type)*CHAR_BIT-1 - > {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Maxleftshift( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Maxleftshift(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Maxleftshift; - } - /*! - Generates the number of bits-1 of the scalar component of the value type - - @par Semantic: - - @code - as_integer r = Maxleftshift(); - @endcode - - is similar to: - - @code - as_integer r =size(scalar_of)*8-1; - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Maxleftshift, Maxleftshift) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/meight.hpp b/inst/include/boost/simd/constant/constants/meight.hpp deleted file mode 100644 index 0b7a86f..0000000 --- a/inst/include/boost/simd/constant/constants/meight.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MEIGHT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MEIGHT_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Meight generic tag - - Represents the Meight constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Meight, double, -8 - , 0xc1000000UL,0xc020000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Meight(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Meight; - } - /*! - Generates value -8 - - @par Semantic: - - @code - T r = Meight(); - @endcode - - is similar to: - - @code - T r = T(-8); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Meight, Meight) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/mfive.hpp b/inst/include/boost/simd/constant/constants/mfive.hpp deleted file mode 100644 index 0023018..0000000 --- a/inst/include/boost/simd/constant/constants/mfive.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MFIVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MFIVE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mfive generic tag - - Represents the Mfive constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mfive, double, -5 - , 0xc0a00000UL,0xc014000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mfive(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mfive; - } - /*! - Generates value -5 - - @par Semantic: - - @code - T r = Mfive(); - @endcode - - is similar to: - - @code - T r = T(-5); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mfive, Mfive) -} } -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/mfour.hpp b/inst/include/boost/simd/constant/constants/mfour.hpp deleted file mode 100644 index 4772e25..0000000 --- a/inst/include/boost/simd/constant/constants/mfour.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MFOUR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MFOUR_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mfour generic tag - - Represents the Mfour constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mfour, double, -4 - , 0xc0800000UL, 0xc010000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mfour(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mfour; - } - /*! - Generates value -4 - - @par Semantic: - - @code - T r = Mfour(); - @endcode - - is similar to: - - @code - T r = T(-4); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mfour, Mfour) -} } -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/mhalf.hpp b/inst/include/boost/simd/constant/constants/mhalf.hpp deleted file mode 100644 index e00cafc..0000000 --- a/inst/include/boost/simd/constant/constants/mhalf.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MHALF_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MHALF_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mhalf generic tag - - Represents the Mhalf constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mhalf, double, 0 - , 0xBF000000, 0xBFE0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mhalf(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mhalf; - } - /*! - Generates value -\f$\frac12\f$ - - @par Semantic: - - @code - T r = Mhalf(); - @endcode - - is similar to: - - @code - T r = -T(1)/T(2); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mhalf, Mhalf) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/mindenormal.hpp b/inst/include/boost/simd/constant/constants/mindenormal.hpp deleted file mode 100644 index 2975f2d..0000000 --- a/inst/include/boost/simd/constant/constants/mindenormal.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MINDENORMAL_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MINDENORMAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mindenormal generic tag - - Represents the Mindenormal constant in generic contexts. - - @par Models: - Hierarchy - **/ - - #ifdef BOOST_SIMD_NO_DENORMALS - struct Smallestposval; - typedef Smallestposval Mindenormal; - #else - struct Mindenormal : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Mindenormal( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Mindenormal::apply,Dummy> - : meta::single_<1> {}; - - /// INTERNAL ONLY - template - struct Mindenormal::apply,Dummy> - : meta::double_<1> {}; - #endif - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mindenormal(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mindenormal; - } - /*! - Constant Mindenormal : the least of all non zero positive value - - @par Semantic: - - @code - T r = Mindenormal(); - @endcode - - is similar to: - - @code - if T is integral - r = T(1) - else if T is double - r = 4.940656458412465e-324; - else if T is float - r = 1.4012985e-45; - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mindenormal, Mindenormal) -} } - -#ifdef BOOST_SIMD_NO_DENORMALS -#include -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/minexponent.hpp b/inst/include/boost/simd/constant/constants/minexponent.hpp deleted file mode 100644 index e266561..0000000 --- a/inst/include/boost/simd/constant/constants/minexponent.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MINEXPONENT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MINEXPONENT_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Minexponent generic tag - - Represents the Minexponent constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Minexponent : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Minexponent( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Minexponent::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Minexponent::apply,Dummy> - : meta::int_c {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Minexponent(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Minexponent; - } - /*! - Generates the smallest floating point exponent. - - @par Semantic: - - @code - T r = Minexponent(); - @endcode - - is similar to: - - @code - if T is double - r = -1022; - else if T is float - r = -126; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Minexponent, Minexponent) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/minf.hpp b/inst/include/boost/simd/constant/constants/minf.hpp deleted file mode 100644 index e7bd3e4..0000000 --- a/inst/include/boost/simd/constant/constants/minf.hpp +++ /dev/null @@ -1,93 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MINF_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MINF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Minf generic tag - - Represents the Minf constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Valmin; - - struct Minf : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::make_dependent::type::template apply {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Minf( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Minf::apply,Dummy> - : meta::single_<0xFF800000> {}; - - /// INTERNAL ONLY - template - struct Minf::apply,Dummy> - : meta::double_<0xFFF0000000000000ULL> {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Minf(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Minf; - } - /*! - Generates -inf IEEE value (\f$ - \infty \f$) for floating types and minimum value - for integer types - - @par Semantic: - - @code - T r = Minf(); - @endcode - - is similar to: - - @code - if T is integral - r = Valmin() - else if T is floating - r = IEEE -inf value; - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Minf, Minf) -} } - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/mlogeps2.hpp b/inst/include/boost/simd/constant/constants/mlogeps2.hpp deleted file mode 100644 index a8f6ce7..0000000 --- a/inst/include/boost/simd/constant/constants/mlogeps2.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MLOGEPS2_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MLOGEPS2_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mlogeps2 generic tag - - Represents the Mlogeps2 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mlogeps2, double, 0 - , 0x40FF1402, 0x403205966F2B4F13ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mlogeps2(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mlogeps2; - } - /*! - Generates \f$-\log(eps^2)\f$ value - - @par Semantic: - - @code - T r = Mlogeps2(); - @endcode - - is similar to: - - @code - T r = log(sqr(Eps())); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mlogeps2, Mlogeps2) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/mnine.hpp b/inst/include/boost/simd/constant/constants/mnine.hpp deleted file mode 100644 index 8f06446..0000000 --- a/inst/include/boost/simd/constant/constants/mnine.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MNINE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MNINE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mnine generic tag - - Represents the Mnine constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mnine , double, -9 - , 0xc1100000UL, 0xc022000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mnine(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mnine; - } - /*! - Generates value -9 - - @par Semantic: - - @code - T r = Mnine(); - @endcode - is similar to: - - @code - T r = T(-9); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mnine, Mnine) -} } -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/mone.hpp b/inst/include/boost/simd/constant/constants/mone.hpp deleted file mode 100644 index d2b621d..0000000 --- a/inst/include/boost/simd/constant/constants/mone.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MONE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MONE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mone generic tag - - Represents the Mone constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mone, double, -1 - , 0xbf800000UL, 0xbff0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mone(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mone; - } - /*! - Generates value -1 - - @par Semantic: - - @code - T r = Mone(); - @endcode - - is similar to: - - @code - T r = T(-1); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mone, Mone) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/moneo_6.hpp b/inst/include/boost/simd/constant/constants/moneo_6.hpp deleted file mode 100644 index 5e17dae..0000000 --- a/inst/include/boost/simd/constant/constants/moneo_6.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MONEO_6_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MONEO_6_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Moneo_6 generic tag - - Represents the Moneo_6 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Moneo_6, double, 0, 0xBE2AAAAB - , 0xBFC5555555555555LL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Moneo_6(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Moneo_6; - } - /*! - Generates value 1/6 - - @par Semantic: - - @code - T r = Moneo_6(); - @endcode - - is similar to: - - @code - T r = T(1)/T(6); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Moneo_6, Moneo_6) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/mseven.hpp b/inst/include/boost/simd/constant/constants/mseven.hpp deleted file mode 100644 index e35193b..0000000 --- a/inst/include/boost/simd/constant/constants/mseven.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MSEVEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MSEVEN_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mseven generic tag - - Represents the Mseven constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mseven, double, -7 - , 0xc0e00000UL, 0xc01c000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mseven(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mseven; - } - /*! - Generates value -7 - - @par Semantic: - - @code - T r = Mseven(); - @endcode - - is similar to: - - @code - T r = T(-7)); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mseven, Mseven) -} } -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/msix.hpp b/inst/include/boost/simd/constant/constants/msix.hpp deleted file mode 100644 index 80537a3..0000000 --- a/inst/include/boost/simd/constant/constants/msix.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MSIX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MSIX_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Msix generic tag - - Represents the Msix constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Msix, double, -6 - , 0xc0c00000UL, 0xc018000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Msix(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Msix; - } - /*! - Generates value -6 - - @par Semantic: - - @code - T r = Msix(); - @endcode - - - is similar to: - - @code - T r = T(-6)); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Msix, Msix) -} } -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/mten.hpp b/inst/include/boost/simd/constant/constants/mten.hpp deleted file mode 100644 index 4a07a10..0000000 --- a/inst/include/boost/simd/constant/constants/mten.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MTEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MTEN_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mten generic tag - - Represents the Mten constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mten, double, -10 - , 0xc1200000UL, 0xc024000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mten(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mten; - } - /*! - Generates value -10 - - @par Semantic: - - @code - T r = Mten(); - @endcode - - is similar to: - - @code - T r = T(-10); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mten, Mten) -} } -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/mthree.hpp b/inst/include/boost/simd/constant/constants/mthree.hpp deleted file mode 100644 index 2d2b7f6..0000000 --- a/inst/include/boost/simd/constant/constants/mthree.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MTHREE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MTHREE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mthree generic tag - - Represents the Mthree constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mthree, double, -3 - , 0xc0400000UL, 0xc008000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mthree(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mthree; - } - /*! - Generates value -3 - - @par Semantic: - - @code - T r = Mthree(); - @endcode - - is similar to: - - @code - T r = T(-3); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mthree, Mthree) -} } -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/mtwo.hpp b/inst/include/boost/simd/constant/constants/mtwo.hpp deleted file mode 100644 index 9d57943..0000000 --- a/inst/include/boost/simd/constant/constants/mtwo.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MTWO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MTWO_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mtwo generic tag - - Represents the Mtwo constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mtwo, double, -2 - , 0xc0000000UL, 0xc000000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mtwo(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mtwo; - } - /*! - Generates value = -2 - - @par Semantic: - - @code - T r = Mtwo(); - @endcode - - is similar to: - - @code - T r = T(-2); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mtwo, Mtwo) -} } -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/mzero.hpp b/inst/include/boost/simd/constant/constants/mzero.hpp deleted file mode 100644 index 317ab70..0000000 --- a/inst/include/boost/simd/constant/constants/mzero.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_MZERO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_MZERO_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Mzero generic tag - - Represents the Mzero constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Mzero, double, 0 - , 0x80000000, 0x8000000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Mzero(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Mzero; - } - /*! - Generates value -0 - - @par Semantic: - - @code - T r = Mzero(); - @endcode - - is similar to: - - @code - T r = -T(0); - @endcode - - @ par Note: - - This is a special constant as it can be used and considered - identical to zero, except that for floating point numbers, - there is two different representation of zero with different bit of sign. - - The existence of the sign can be used in special circumstances as - choosing between \f$+\infty\f$ and \f$-\infty\f$ instead of nan in computing 1/0. - \par - - The sign of zero can be accessed through the @c is_negative - and @c is_positive predicates or the @funcref{boost::simd::bitofsign} function. - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Mzero, Mzero) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/nan.hpp b/inst/include/boost/simd/constant/constants/nan.hpp deleted file mode 100644 index 415ad25..0000000 --- a/inst/include/boost/simd/constant/constants/nan.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_NAN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_NAN_HPP_INCLUDED - -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Nan generic tag - - Represents the Nan constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Nan, double, 0 - , 0xFFFFFFFF, 0xFFFFFFFFFFFFFFFFULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Nan(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Nan; - } - /*! - Generates IEEE Nan (not a number) for floating point types. - - - @par Semantic: - - @code - T r = Nan(); - @endcode - - is similar to: - - @code - T r = IEEE nan value; - @endcode - - is similar to: - - @code - if T is integral - r = T(0); - else if T is floating - r = IEEE nan value - @endcode - - All floating point "nan" generated by nt2 are quiet nan with all bits set to 1 - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Nan, Nan) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/nbdigits.hpp b/inst/include/boost/simd/constant/constants/nbdigits.hpp deleted file mode 100644 index 6a1fa58..0000000 --- a/inst/include/boost/simd/constant/constants/nbdigits.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_NBDIGITS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_NBDIGITS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Nbdigits generic tag - - Represents the Nbdigits constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Nbdigits : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Nbdigits( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Nbdigits::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Nbdigits::apply,Dummy> - : meta::int_c {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Nbdigits(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Nbdigits; - } - /*! - Generates the number of mantissa bits of a floating point number, - and the total number of bits for integral types. - - @par Semantic: - - @code - T r = Nbdigits(); - @endcode - - is similar to: - - @code - if T is integral - r = sizeof(T)*8 - else if T is double - r = 53; - else if T is float - r = 24; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Nbdigits, Nbdigits) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/nbexponentbits.hpp b/inst/include/boost/simd/constant/constants/nbexponentbits.hpp deleted file mode 100644 index 647445b..0000000 --- a/inst/include/boost/simd/constant/constants/nbexponentbits.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Nbexponentbits generic tag - - Represents the Nbexponentbits constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Nbexponentbits : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Nbexponentbits( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Nbexponentbits::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Nbexponentbits::apply,Dummy> - : meta::int_c {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Nbexponentbits(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Nbexponentbits; - } - /*! - Generates the number of exponent bits of a floating point number, - - @par Semantic: - - @code - T r = Nbexponentbits(); - @endcode - - is similar to: - - @code - if T is integral - r = 0 - else if T is double - r = 11; - else if T is float - r = 8; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Nbexponentbits, Nbexponentbits) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/nbmantissabits.hpp b/inst/include/boost/simd/constant/constants/nbmantissabits.hpp deleted file mode 100644 index a3d1183..0000000 --- a/inst/include/boost/simd/constant/constants/nbmantissabits.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Nbmantissabits generic tag - - Represents the Nbmantissabits constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Nbmantissabits : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c < typename Target::type - , sizeof(typename Target::type)*CHAR_BIT - > - {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Nbmantissabits( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Nbmantissabits::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Nbmantissabits::apply,Dummy> - : meta::int_c {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Nbmantissabits(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Nbmantissabits; - } - /*! - Constant Nbmantissabits, The number of mantissa bits of a floating point number. - - @par Semantic: - - @code - T r = Nbmantissabits(); - @endcode - - is similar to: - - @code - if T is integral - r = sizeof(T)*8 - else if T is double - r = 52; - else if is float - r = 23; - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Nbmantissabits, Nbmantissabits) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/nine.hpp b/inst/include/boost/simd/constant/constants/nine.hpp deleted file mode 100644 index bf651d3..0000000 --- a/inst/include/boost/simd/constant/constants/nine.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_NINE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_NINE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Nine generic tag - - Represents the Nine constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Nine, double, 9 - , 0x41100000UL, 0x4022000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Nine(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Nine; - } - /*! - Generates value 9 - - @par Semantic: - - @code - T r = Nine(); - @endcode - - is similar to: - - @code - T r = T(9); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Nine, Nine) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/one.hpp b/inst/include/boost/simd/constant/constants/one.hpp deleted file mode 100644 index 63afdca..0000000 --- a/inst/include/boost/simd/constant/constants/one.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief One generic tag - - Represents the One constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( One, double, 1 - , 0x3f800000UL, 0x3ff0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_One(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_One; - } - /*! - Generates value 1 - - @par Semantic: - - @code - T r = One(); - @endcode - - is similar to: - - @code - T r = T(1); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::One, One) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_10.hpp b/inst/include/boost/simd/constant/constants/oneo_10.hpp deleted file mode 100644 index 6c0a8a4..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_10.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_10_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_10_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_10 generic tag - - Represents the Oneo_10 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_10, double, 0 - , 0x3dcccccd, 0x3fb999999999999all - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_10(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_10; - } - /*! - Generates value 1/10 - - @par Semantic: - - @code - T r = Oneo_10(); - @endcode - - is similar to: - - @code - T r = T(1)/T(10); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_10, Oneo_10) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_12.hpp b/inst/include/boost/simd/constant/constants/oneo_12.hpp deleted file mode 100644 index 07fbe1b..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_12.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_12_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_12_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_12 generic tag - - Represents the Oneo_12 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_12, double, 0 - , 0x3daaaaab, 0x3fb5555555555555ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_12(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_12; - } - /*! - Generates value 1/12 - - @par Semantic: - - @code - T r = Oneo_12(); - @endcode - - is similar to: - - @code - T r = T(1)/T(12); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_12, Oneo_12) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_120.hpp b/inst/include/boost/simd/constant/constants/oneo_120.hpp deleted file mode 100644 index 5285898..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_120.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_120_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_120_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_120 generic tag - - Represents the Oneo_120 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_120, double, 0, 0x3c088889 - , 0x3f81111111111111ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_120(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_120; - } - /*! - Generates value 1/120 - - @par Semantic: - - @code - T r = Oneo_120(); - @endcode - - is similar to: - - @code - T r = T(1)/T(120); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_120, Oneo_120) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_15.hpp b/inst/include/boost/simd/constant/constants/oneo_15.hpp deleted file mode 100644 index cba95e9..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_15.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_15_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_15_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_15 generic tag - - Represents the Oneo_15 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_15, double, 0 - , 0x3d888889, 0x3fb1111111111111ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_15(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_15; - } - /*! - Generates value 1/15 - - @par Semantic: - - @code - T r = Oneo_15(); - @endcode - - is similar to: - - @code - T r = T(1)/T(15); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_15, Oneo_15) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_16.hpp b/inst/include/boost/simd/constant/constants/oneo_16.hpp deleted file mode 100644 index dc8a963..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_16.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_16_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_16_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_16 generic tag - - Represents the Oneo_16 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_16, double, 0 - , 0x3d800000LL, 0x3fb0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_16(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_16; - } - /*! - Generates value 1/16 - - @par Semantic: - - @code - T r = Oneo_16(); - @endcode - - is similar to: - - @code - T r = T(1)/T(16); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_16, Oneo_16) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_180.hpp b/inst/include/boost/simd/constant/constants/oneo_180.hpp deleted file mode 100644 index 6e9cb95..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_180.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_180_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_180_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_180 generic tag - - Represents the Oneo_180 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_180, double, 0 - , 0x3bb60b61, 0x3f76c16c16c16c17ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_180(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_180; - } - /*! - Generates value 1/180 - - @par Semantic: - - @code - T r = Oneo_180(); - @endcode - - is similar to: - - @code - T r = T(1)/T(180); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_180, Oneo_180) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_5.hpp b/inst/include/boost/simd/constant/constants/oneo_5.hpp deleted file mode 100644 index c5359de..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_5.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_5_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_5_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_5 generic tag - - Represents the Oneo_5 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_5, double, 0 - , 0x3e4ccccd, 0x3fc999999999999all - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_5(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_5; - } - /*! - Generates value 1/5 - - @par Semantic: - - @code - T r = Oneo_5(); - @endcode - - is similar to: - - @code - T r = T(1)/T(5); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_5, Oneo_5) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_6.hpp b/inst/include/boost/simd/constant/constants/oneo_6.hpp deleted file mode 100644 index 1e8893a..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_6.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_6_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_6_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_6 generic tag - - Represents the Oneo_6 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_6, double, 0 - , 0x3e2aaaab, 0x3fc5555555555555ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_6(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_6; - } - /*! - Generates value 1/6 - - @par Semantic: - - @code - T r = Oneo_6(); - @endcode - - is similar to: - - @code - T r = T(1)/T(6); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_6, Oneo_6) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_7.hpp b/inst/include/boost/simd/constant/constants/oneo_7.hpp deleted file mode 100644 index 97d7369..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_7.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_7_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_7_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_7 generic tag - - Represents the Oneo_7 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_7, double, 0 - , 0x3e124925, 0x3fc2492492492492ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_7(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_7; - } - /*! - Generates value 1/7 - - @par Semantic: - - @code - T r = Oneo_7(); - @endcode - - is similar to: - - @code - T r = T(1)/T(7); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_7, Oneo_7) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_8.hpp b/inst/include/boost/simd/constant/constants/oneo_8.hpp deleted file mode 100644 index afa58b1..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_8.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_8_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_8_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_8 generic tag - - Represents the Oneo_8 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_8, double, 0 - , 0x3e000000, 0x3fc0000000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_8(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_8; - } - /*! - Generates value 1/8 - - @par Semantic: - - @code - T r = Oneo_8(); - @endcode - - is similar to: - - @code - T r = T(1)/T(8); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_8, Oneo_8) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneo_9.hpp b/inst/include/boost/simd/constant/constants/oneo_9.hpp deleted file mode 100644 index 0093c7e..0000000 --- a/inst/include/boost/simd/constant/constants/oneo_9.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_9_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEO_9_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneo_9 generic tag - - Represents the Oneo_9 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Oneo_9, double, 0 - , 0x3de38e39, 0x3fbc71c71c71c71cll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneo_9(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneo_9; - } - /*! - Generates value 1/9 - - @par Semantic: - - @code - T r = Oneo_9(); - @endcode - - is similar to: - - @code - T r = T(1)/T(9); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneo_9, Oneo_9) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/oneosqrt5.hpp b/inst/include/boost/simd/constant/constants/oneosqrt5.hpp deleted file mode 100644 index a64fd37..0000000 --- a/inst/include/boost/simd/constant/constants/oneosqrt5.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEOSQRT5_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEOSQRT5_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneosqrt5 generic tag - - Represents the Oneosqrt5 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER(Oneosqrt5,double,0 - , 0x3ee4f92eUL - , 0x3fdc9f25c5bfedd9ULL); - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneosqrt5(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneosqrt5; - } - /*! - Generates \f$1/\sqrt5\f$ - - @par Semantic: - - @code - T r = Oneosqrt5(); - @endcode - - is similar to: - - @code - r = 1/sqrt(T(5)); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneosqrt5, Oneosqrt5) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/oneosqrteps.hpp b/inst/include/boost/simd/constant/constants/oneosqrteps.hpp deleted file mode 100644 index dbb4d4e..0000000 --- a/inst/include/boost/simd/constant/constants/oneosqrteps.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneosqrteps generic tag - - Represents the Oneosqrteps constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER(Oneosqrteps,double,0 - , 0x453504f3UL - , 0x4190000000000000ULL) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneosqrteps(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneosqrteps; - } - /*! - Generates \f$1/\sqrt\epsilon\f$ - - @par Semantic: - - @code - T r = Oneosqrteps(); - @endcode - - is similar to: - - @code - if T is integral - r = T(0) - else if T is double - r = pow(2.0, 26); - else if T is float - r = pow(2.0f, 11.5); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneosqrteps, Oneosqrteps) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/oneotwoeps.hpp b/inst/include/boost/simd/constant/constants/oneotwoeps.hpp deleted file mode 100644 index e8cad02..0000000 --- a/inst/include/boost/simd/constant/constants/oneotwoeps.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Oneotwoeps generic tag - - Represents the Oneotwoeps constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER(Oneotwoeps,double,0 - , 0X4A800000UL - , 0x4320000000000000ULL) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Oneotwoeps(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Oneotwoeps; - } - /*! - Generates \f$1/(2\epsilon)\f$ - - @par Semantic: - - @code - T r = Oneotwoeps(); - @endcode - - is similar to: - - @code - if T is integral - r = T(0) - else if T is double - r = pow(2.0, 52); - else if T is float - r = pow(2.0f, 22); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Oneotwoeps, Oneotwoeps) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/pi.hpp b/inst/include/boost/simd/constant/constants/pi.hpp deleted file mode 100644 index ee25aef..0000000 --- a/inst/include/boost/simd/constant/constants/pi.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_PI_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_PI_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Pi generic tag - - Represents the Pi constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Pi, double, 3 - , 0x40490FDB, 0x400921FB54442D18ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Pi(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Pi; - } - /*! - Generates value \f$\pi\f$ that is the half length of a circle of radius one - ... in normal temperature and pressure conditions. - - @par Semantic: - - @code - T r = Pi(); - @endcode - - is similar to: - - @code - T r = T(4*atan(1)); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Pi, Pi) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/pio_2.hpp b/inst/include/boost/simd/constant/constants/pio_2.hpp deleted file mode 100644 index 6545a77..0000000 --- a/inst/include/boost/simd/constant/constants/pio_2.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_PIO_2_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_PIO_2_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Pio_2 generic tag - - Represents the Pio_2 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Pio_2, double, 2, 0x3fc90fdb, 0x3ff921fb54442d18ll) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Pio_2(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Pio_2; - } - /*! - Generates value \f$\frac\pi{2}\f$. - - @par Semantic: - - @code - T r = Pio_2(); - @endcode - - is similar to: - - @code - T r = T(2*atan(1)); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Pio_2, Pio_2) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/quarter.hpp b/inst/include/boost/simd/constant/constants/quarter.hpp deleted file mode 100644 index 44f3597..0000000 --- a/inst/include/boost/simd/constant/constants/quarter.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_QUARTER_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_QUARTER_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Quarter generic tag - - Represents the Quarter constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Quarter, double, 0 - , 0x3E800000, 0x3FD0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Quarter(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Quarter; - } - /*! - Generate value 1/4 - - @par Semantic: - - @code - T r = Quarter(); - @endcode - - is similar to: - - @code - T r = T(1)/T(4); - @endcode - - @par Alias - - Oneo_4 - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Quarter, Quarter) - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Quarter, Oneo_4) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/real_splat.hpp b/inst/include/boost/simd/constant/constants/real_splat.hpp deleted file mode 100644 index 3f5873a..0000000 --- a/inst/include/boost/simd/constant/constants/real_splat.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_REAL_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_REAL_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // truncation of constant -#endif - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Real_splat generic tag - - Represents the Real_splat constant in generic contexts. - - @par Models: - Hierarchy - **/ - template - struct Realpattern : ext::pure_constant_< Realpattern > - { - /// @brief Constant default type - typedef double default_type; - - /// @brief Parent hierarchy - typedef ext::pure_constant_< Realpattern > parent; - - /// INTERNAL ONLY - template struct apply {}; - - /// INTERNAL ONLY - template - struct apply,Dummy> : meta::single_ - {}; - - /// INTERNAL ONLY - template - struct apply,Dummy> : meta::double_ - {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_HEADER( dispatching( ext::adl_helper(), *(Realpattern*)0, static_cast(args)... ) ) - { - return dispatching( ext::adl_helper(), Realpattern(), static_cast(args)... ); - } - }; - } - - ////////////////////////////////////////////////////////////////////////////// - // Generic real value splatter from a bit patterns - ////////////////////////////////////////////////////////////////////////////// - template - inline Target real_constant() - { - boost::dispatch::functor< tag::Realpattern > callee; - return callee( boost::dispatch::meta::as_() ); - } - - ////////////////////////////////////////////////////////////////////////////// - // Generic real value splatter from a bit patterns of float - ////////////////////////////////////////////////////////////////////////////// - template - inline Target single_constant() - { - typename dispatch::make_functor, Target>::type callee; - return callee( boost::dispatch::meta::as_() ); - } - - ////////////////////////////////////////////////////////////////////////////// - // Generic real value splatter from a bit patterns of double - ////////////////////////////////////////////////////////////////////////////// - template - inline Target double_constant() - { - typename dispatch::make_functor, Target>::type callee; - return callee( boost::dispatch::meta::as_() ); - } - - ////////////////////////////////////////////////////////////////////////////// - // Generic real value splatter from a bit patterns dependant on target type - ////////////////////////////////////////////////////////////////////////////// - template inline Target Const() - { - typedef tag::Realpattern patterns; - typename dispatch::make_functor::type callee; - return callee( boost::dispatch::meta::as_() ); - } -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/scalar/false.hpp b/inst/include/boost/simd/constant/constants/scalar/false.hpp deleted file mode 100644 index e67c6bf..0000000 --- a/inst/include/boost/simd/constant/constants/scalar/false.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SCALAR_FALSE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SCALAR_FALSE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( False, tag::cpu_, (A0) - , ((target_< scalar_< logical_ > >)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return result_type(false); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/constant/constants/scalar/true.hpp b/inst/include/boost/simd/constant/constants/scalar/true.hpp deleted file mode 100644 index bba39ea..0000000 --- a/inst/include/boost/simd/constant/constants/scalar/true.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SCALAR_TRUE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SCALAR_TRUE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( True, tag::cpu_, (A0) - , ((target_< scalar_< logical_ > >)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return result_type(true); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/constant/constants/seven.hpp b/inst/include/boost/simd/constant/constants/seven.hpp deleted file mode 100644 index bfc8faa..0000000 --- a/inst/include/boost/simd/constant/constants/seven.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SEVEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SEVEN_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Seven generic tag - - Represents the Seven constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Seven, double, 7 - , 0x40e00000UL, 0x401c000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Seven(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Seven; - } - /*! - Generates value 7 - - @par Semantic: - - @code - T r = Seven(); - @endcode - - is similar to: - - @code - T r = T(7); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Seven, Seven) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/signmask.hpp b/inst/include/boost/simd/constant/constants/signmask.hpp deleted file mode 100644 index a46772f..0000000 --- a/inst/include/boost/simd/constant/constants/signmask.hpp +++ /dev/null @@ -1,107 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIGNMASK_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIGNMASK_HPP_INCLUDED - -#include -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Signmask generic tag - - Represents the Signmask constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Signmask : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply : meta::int_c {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Signmask( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Signmask::apply,Dummy> - : meta::single_<0x80000000UL> {}; - - /// INTERNAL ONLY - template - struct Signmask::apply,Dummy> - : meta::double_<0x8000000000000000ULL> {}; - - /// INTERNAL ONLY - template - struct Signmask::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Signmask::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Signmask::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Signmask::apply,Dummy> - : meta::int_c < T - , boost::simd::int64_t(0x8000000000000000ULL) - > {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Signmask(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Signmask; - } - /*! - Generate a mask with the lone most significand bit set to one - (even if the type is unsigned). - - @par Semantic: - - @code - T r = Signmask(); - @endcode - - is similar to: - - @code - T r = bitwise_cast(1 << sizeof(T)*8-1); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Signmask, Signmask) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/common/false.hpp b/inst/include/boost/simd/constant/constants/simd/common/false.hpp deleted file mode 100644 index b46acc7..0000000 --- a/inst/include/boost/simd/constant/constants/simd/common/false.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_COMMON_FALSE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_COMMON_FALSE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( False, tag::cpu_, (A0)(X) - , ((target_< simd_< logical_,X> >)) - ) - { - typedef typename A0::type result_type; - typedef typename result_type::value_type::value_type base_type; - typedef typename result_type::template rebind::type target_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return bitwise_cast(Zero()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/common/true.hpp b/inst/include/boost/simd/constant/constants/simd/common/true.hpp deleted file mode 100644 index c6f24f1..0000000 --- a/inst/include/boost/simd/constant/constants/simd/common/true.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_COMMON_TRUE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_COMMON_TRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( True, tag::cpu_, (A0)(X) - , ((target_< simd_< logical_,X> >)) - ) - { - typedef typename A0::type result_type; - typedef typename result_type::value_type::value_type base_type; - typedef typename result_type::template rebind::type target_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return bitwise_cast(Allbits()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/sse/avx/zero.hpp b/inst/include/boost/simd/constant/constants/simd/sse/avx/zero.hpp deleted file mode 100644 index 4d8924b..0000000 --- a/inst/include/boost/simd/constant/constants/simd/sse/avx/zero.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_SSE_AVX_ZERO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_SSE_AVX_ZERO_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Zero, boost::simd::tag::avx_, (A0) - , ((target_< simd_< single_, boost::simd::tag::avx_> >)) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return _mm256_setzero_ps(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Zero, boost::simd::tag::avx_, (A0) - , ((target_< simd_< double_, boost::simd::tag::avx_> >)) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return _mm256_setzero_pd(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Zero, boost::simd::tag::avx_, (A0) - , ((target_< simd_< integer_, boost::simd::tag::avx_> >)) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return _mm256_setzero_si256(); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/sse/sse2/zero.hpp b/inst/include/boost/simd/constant/constants/simd/sse/sse2/zero.hpp deleted file mode 100644 index e13cff5..0000000 --- a/inst/include/boost/simd/constant/constants/simd/sse/sse2/zero.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_SSE_SSE2_ZERO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_SSE_SSE2_ZERO_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Zero, boost::simd::tag::sse2_, (A0) - , ((target_< simd_< single_, boost::simd::tag::sse_> >)) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return _mm_setzero_ps(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Zero, boost::simd::tag::sse2_, (A0) - , ((target_< simd_< double_, boost::simd::tag::sse_> >)) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return _mm_setzero_pd(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Zero, boost::simd::tag::sse2_, (A0) - , ((target_< simd_< integer_, boost::simd::tag::sse_> >)) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return _mm_setzero_si128(); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/eight.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/eight.hpp deleted file mode 100644 index fed2e9f..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/eight.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_EIGHT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_EIGHT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Eight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(8); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/eleven.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/eleven.hpp deleted file mode 100644 index 63f698b..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/eleven.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_ELEVEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_ELEVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Eleven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(11); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eleven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(11); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eleven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(11); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eleven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(11); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eleven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(11); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Eleven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(11); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/fifteen.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/fifteen.hpp deleted file mode 100644 index e0fb0d1..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/fifteen.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_FIFTEEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_FIFTEEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Fifteen - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(15); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Fifteen - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(15); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Fifteen - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(15); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Fifteen - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(15); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Fifteen - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(15); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Fifteen - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(15); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/five.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/five.hpp deleted file mode 100644 index f565e4f..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/five.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_FIVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_FIVE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Five - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Five - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Five - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Five - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Five - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Five - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(5); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/four.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/four.hpp deleted file mode 100644 index 52eaf6b..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/four.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_FOUR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_FOUR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Four - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Four - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Four - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Four - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Four - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Four - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(4); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/meight.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/meight.hpp deleted file mode 100644 index 2e26050..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/meight.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MEIGHT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MEIGHT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Meight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Meight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Meight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Meight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Meight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Meight - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-8); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mfive.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mfive.hpp deleted file mode 100644 index e6a8b3f..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mfive.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MFIVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MFIVE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Mfive - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfive - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfive - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfive - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfive - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-5); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfive - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-5); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mfour.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mfour.hpp deleted file mode 100644 index 48587f7..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mfour.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MFOUR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MFOUR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Mfour - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfour - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfour - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfour - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfour - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mfour - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-4); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mnine.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mnine.hpp deleted file mode 100644 index e222ba0..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mnine.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MNINE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MNINE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Mnine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mnine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mnine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mnine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mnine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mnine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-9); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mone.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mone.hpp deleted file mode 100644 index 7bbbc5b..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mone.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MONE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MONE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Mone - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mone - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mone - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mone - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mone - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mone - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mseven.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mseven.hpp deleted file mode 100644 index b4ac0a0..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mseven.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MSEVEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MSEVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Mseven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mseven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mseven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mseven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mseven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mseven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-7); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/msix.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/msix.hpp deleted file mode 100644 index 0c62b21..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/msix.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MSIX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MSIX_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Msix - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Msix - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Msix - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Msix - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Msix - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Msix - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-6); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mten.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mten.hpp deleted file mode 100644 index 6d32538..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mten.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MTEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MTEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Mten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-10); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mthree.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mthree.hpp deleted file mode 100644 index f15ae6a..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mthree.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MTHREE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MTHREE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Mthree - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mthree - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mthree - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mthree - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mthree - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mthree - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-3); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mtwo.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mtwo.hpp deleted file mode 100644 index 2e29b5f..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/mtwo.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MTWO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_MTWO_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Mtwo - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(-2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mtwo - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(-2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mtwo - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(-2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mtwo - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(-2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mtwo - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(-2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Mtwo - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(-2); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/nine.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/nine.hpp deleted file mode 100644 index 6a3784f..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/nine.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_NINE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_NINE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Nine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Nine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Nine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Nine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Nine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(9); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Nine - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(9); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/one.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/one.hpp deleted file mode 100644 index 4610f13..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/one.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_ONE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_ONE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( One - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( One - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( One - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( One - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( One - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( One - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/seven.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/seven.hpp deleted file mode 100644 index 8827d05..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/seven.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_SEVEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_SEVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Seven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Seven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Seven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Seven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Seven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Seven - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(7); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/six.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/six.hpp deleted file mode 100644 index 428c499..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/six.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_SIX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_SIX_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Six - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Six - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Six - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Six - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Six - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(6); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Six - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(6); - } - }; -} } } - - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/ten.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/ten.hpp deleted file mode 100644 index 2eb3d14..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/ten.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_TEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_TEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Ten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Ten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Ten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Ten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Ten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(10); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Ten - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(10); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/three.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/three.hpp deleted file mode 100644 index 97e80d6..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/three.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_THREE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_THREE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Three - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Three - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Three - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Three - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Three - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Three - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(3); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/twelve.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/twelve.hpp deleted file mode 100644 index 321f6be..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/twelve.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_TWELVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_TWELVE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Twelve - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(12); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Twelve - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(12); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Twelve - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(12); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Twelve - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(12); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Twelve - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(12); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Twelve - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(12); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/two.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/two.hpp deleted file mode 100644 index 00975a7..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/two.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_TWO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_TWO_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Two - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s8(2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Two - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u8(2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Two - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s16(2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Two - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u16(2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Two - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < int32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_s32(2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Two - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < uint32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return vec_splat_u32(2); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/zero.hpp b/inst/include/boost/simd/constant/constants/simd/vmx/altivec/zero.hpp deleted file mode 100644 index f37d599..0000000 --- a/inst/include/boost/simd/constant/constants/simd/vmx/altivec/zero.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_ZERO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIMD_VMX_ALTIVEC_ZERO_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Zero - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - typedef typename result_type::template rebind::type u8type; - - u8type z = vec_splat_u8(0); - return bitwise_cast( z ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/constant/constants/six.hpp b/inst/include/boost/simd/constant/constants/six.hpp deleted file mode 100644 index 2c4431c..0000000 --- a/inst/include/boost/simd/constant/constants/six.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIX_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Six generic tag - - Represents the Six constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Six, double, 6 - , 0x40c00000UL, 0x4018000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Six(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Six; - } - /*! - Generates value 6 - - @par Semantic: - - @code - T r = Six(); - @endcode - - is similar to: - - @code - T r = T(6); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Six, Six) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/sixteen.hpp b/inst/include/boost/simd/constant/constants/sixteen.hpp deleted file mode 100644 index a5844f8..0000000 --- a/inst/include/boost/simd/constant/constants/sixteen.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SIXTEEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SIXTEEN_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Sixteen generic tag - - Represents the Sixteen constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Sixteen, double, 16 - , 0x41800000UL, 0x4030000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Sixteen(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Sixteen; - } - /*! - Generates value 6 - - @par Semantic: - - @code - T r = Sixteen(); - @endcode - - is similar to: - - @code - T r = T(6); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Sixteen, Sixteen) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/smallestposval.hpp b/inst/include/boost/simd/constant/constants/smallestposval.hpp deleted file mode 100644 index e38445d..0000000 --- a/inst/include/boost/simd/constant/constants/smallestposval.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Smallestposval generic tag - - Represents the Smallestposval constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Smallestposval , double, 1 - , 0x00800000, 0x0010000000000000ULL - ) - - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Smallestposval(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Smallestposval; - } - /*! - Generates the least non zero, non denormal, positive value. - - @par Semantic: - - @code - T r = Smallestposval(); - @endcode - - is similar to: - - @code - if T is integral - r = 1 - else if T is double - r = 2.225073858507201e-308; - else if T is float - r = 1.1754944e-38; - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Smallestposval, Smallestposval) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/splitfactor.hpp b/inst/include/boost/simd/constant/constants/splitfactor.hpp deleted file mode 100644 index 010c54e..0000000 --- a/inst/include/boost/simd/constant/constants/splitfactor.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SPLITFACTOR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SPLITFACTOR_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Splitfactor generic tag - - Represents the Splitfactor constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Splitfactor, double, 0 - , 0x46000000, 0x41A0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Splitfactor(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Splitfactor; - } - /*! - Generates a constant used to split a floating number in two parts, - in floating point routines (such two_add and two_prod) to get extra precision. - - @par Semantic: - - @code - T r = Splitfactor(); - @endcode - - is similar to: - - @code - if T is integral - r = 0 - else if T is double - r = pow(2, 27); - else if T is float - r = pow(2, 13); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Splitfactor, Splitfactor) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/sqrt_1o_5.hpp b/inst/include/boost/simd/constant/constants/sqrt_1o_5.hpp deleted file mode 100644 index 03a8d74..0000000 --- a/inst/include/boost/simd/constant/constants/sqrt_1o_5.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SQRT_1O_5_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SQRT_1O_5_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Sqrt_1o_5 generic tag - - Represents the Sqrt_1o_5 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Sqrt_1o_5, double, 0 - , 0x3ee4f92e, 0x3fdc9f25c5bfedd9ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Sqrt_1o_5(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Sqrt_1o_5; - } - - /*! - Generates value \f$ \sqrt{\frac15}\f$ - - @par Semantic: - - @code - T r = Sqrt_1o_5(); - @endcode - - is similar to: - - @code - T r = sqrt(T(1)/T(5)); - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Sqrt_1o_5, Sqrt_1o_5) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/sqrt_2.hpp b/inst/include/boost/simd/constant/constants/sqrt_2.hpp deleted file mode 100644 index 145abd6..0000000 --- a/inst/include/boost/simd/constant/constants/sqrt_2.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SQRT_2_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SQRT_2_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Sqrt_2 generic tag - - Represents the Sqrt_2 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Sqrt_2, double, 1 - , 0x3FB504F3, 0x3ff6A09E667F3BCCULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Sqrt_2(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Sqrt_2; - } - /*! - Generates value \f$\sqrt2\f$ - - @par Semantic: - - @code - T r = Sqrt_2(); - @endcode - - is similar to: - - @code - T r = T(sqrt(as_floating(2))); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Sqrt_2, Sqrt_2) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/sqrt_2o_2.hpp b/inst/include/boost/simd/constant/constants/sqrt_2o_2.hpp deleted file mode 100644 index 85f3033..0000000 --- a/inst/include/boost/simd/constant/constants/sqrt_2o_2.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SQRT_2O_2_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SQRT_2O_2_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Sqrt_2o_2 generic tag - - Represents the Sqrt_2o_2 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Sqrt_2o_2, double, 0 - , 0x3F3504F3, 0x3FE6A09E667F3BCDULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Sqrt_2o_2(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Sqrt_2o_2; - } - - /*! - Generates value \f$\frac{\sqrt2}2\f$ - - @par Semantic: - - @code - T r = Sqrt_2o_2(); - @endcode - - is similar to: - - @code - T r = T(sqrt(as_floating(2)))/T(2); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Sqrt_2o_2, Sqrt_2o_2) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/sqrt_2o_3.hpp b/inst/include/boost/simd/constant/constants/sqrt_2o_3.hpp deleted file mode 100644 index 757b5da..0000000 --- a/inst/include/boost/simd/constant/constants/sqrt_2o_3.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SQRT_2O_3_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SQRT_2O_3_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Sqrt_2o_3 generic tag - - Represents the Sqrt_2o_3 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Sqrt_2o_3, double, 0 - , 0x3f5105ec, 0x3fea20bd700c2c3ell - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Sqrt_2o_3(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Sqrt_2o_3; - } - - /*! - Generates value \f$\frac{\sqrt2}3\f$ - - @par Semantic: - - @code - T r = Sqrt_2o_3(); - @endcode - - is similar to: - - @code - T r = T(sqrt(as_floating(2)))/T(3); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Sqrt_2o_3, Sqrt_2o_3) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/sqrteps.hpp b/inst/include/boost/simd/constant/constants/sqrteps.hpp deleted file mode 100644 index 2b04e7e..0000000 --- a/inst/include/boost/simd/constant/constants/sqrteps.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SQRTEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SQRTEPS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Sqrteps generic tag - - Represents the Sqrteps constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Sqrteps, double, 1 - , 0x39B504F3, 0x3E50000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Sqrteps(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Sqrteps; - } - /*! - Generate square root of constant Eps - square root of constant Eps - - @par Semantic: - - @code - T r = Sqrteps(); - @endcode - - is similar to: - - @code - if T is integral - r = 1 - else if T is double - r = Pow(2,-26); - else if T is float - r = pow(2,-11.5f); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Sqrteps, Sqrteps) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/sqrtsmallestposval.hpp b/inst/include/boost/simd/constant/constants/sqrtsmallestposval.hpp deleted file mode 100644 index 46fec0d..0000000 --- a/inst/include/boost/simd/constant/constants/sqrtsmallestposval.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Sqrtsmallestposval generic tag - - Represents the Sqrtsmallestposval constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Sqrtsmallestposval , double, 1 - , 0x20000000, 0x2000000000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Sqrtsmallestposval(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Sqrtsmallestposval; - } - /*! - Generates the square root of the least non zero positive - value of the chosen type. - - @par Semantic: - - @code - T r = Sqrtsmallestposval(); - @endcode - - is similar to: - - @code - if T is integral - r = 1 - else if T is double - r = 1.491668146240041e-154; - else if T is float - r = 1.0842022e-19; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Sqrtsmallestposval, Sqrtsmallestposval) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/sqrtvalmax.hpp b/inst/include/boost/simd/constant/constants/sqrtvalmax.hpp deleted file mode 100644 index c4ef6ad..0000000 --- a/inst/include/boost/simd/constant/constants/sqrtvalmax.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_SQRTVALMAX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_SQRTVALMAX_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Sqrtvalmax generic tag - - Represents the Sqrtvalmax constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Sqrtvalmax : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply - : meta::int_c < typename Target::type - , typename Target:: - type( (typename Target::type(1) - << (sizeof(typename Target::type)*CHAR_BIT/2))-1 - ) - > - {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Sqrtvalmax( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Sqrtvalmax::apply< boost::dispatch::meta::single_,Dummy> - : meta::single_<0x5f800000> {}; - - /// INTERNAL ONLY - template - struct Sqrtvalmax::apply,Dummy> - : meta::double_<0x5ff0000000000001ll> {}; - - /// INTERNAL ONLY - template - struct Sqrtvalmax::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Sqrtvalmax::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Sqrtvalmax::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Sqrtvalmax::apply,Dummy> - : meta::int_c {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Sqrtvalmax(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Sqrtvalmax; - } - /*! - Generates the square root of the greatest finite representable value - - @par Semantic: - - @code - T r = Sqrtvalmax(); - @endcode - - is similar to: - - @code - T r = sqrt(Valmax(); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Sqrtvalmax, Sqrtvalmax) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/ten.hpp b/inst/include/boost/simd/constant/constants/ten.hpp deleted file mode 100644 index cb45cb8..0000000 --- a/inst/include/boost/simd/constant/constants/ten.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TEN_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Ten generic tag - - Represents the Ten constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Ten, double, 10 - , 0x41200000UL, 0x4024000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Ten(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Ten; - } - /*! - Generates value 10 - - @par Semantic: - - @code - T r = Ten(); - @endcode - - is similar to: - - @code - T r = T(10); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Ten, Ten) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/third.hpp b/inst/include/boost/simd/constant/constants/third.hpp deleted file mode 100644 index 5e19eba..0000000 --- a/inst/include/boost/simd/constant/constants/third.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_THIRD_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_THIRD_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Third generic tag - - Represents the Third constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Third, double, 0 - , 0x3EAAAAAB, 0x3FD5555555555555ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Third(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Third; - } - /*! - Generates value 1/3 - - @par Semantic: - - @code - T r = Third(); - @endcode - - is similar to: - - @code - T r = T(1)/T(3); - @endcode - - @par Alias: - - Oneo_3 - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Third, Third) - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Third, Oneo_3) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/thirdrooteps.hpp b/inst/include/boost/simd/constant/constants/thirdrooteps.hpp deleted file mode 100644 index 12dea8a..0000000 --- a/inst/include/boost/simd/constant/constants/thirdrooteps.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Thirdrooteps generic tag - - Represents the Thirdrooteps constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Thirdrooteps, double, 1 - , 0x3BA14518, 0x3ED965FEA53D6E42ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Thirdrooteps(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Thirdrooteps; - } - /*! - Generates the cubic root of Eps - - @par Semantic: - - @code - T r = Thirdrooteps(); - @endcode - - is similar to: - - @code - if T is integral - r = 1 - else if T is double - r = 6.055454452393343e-06; - else if T is float - r = 4.9215667e-03 ; - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Thirdrooteps, Thirdrooteps) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/thousand.hpp b/inst/include/boost/simd/constant/constants/thousand.hpp deleted file mode 100644 index 2247aa5..0000000 --- a/inst/include/boost/simd/constant/constants/thousand.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_THOUSAND_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_THOUSAND_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // truncation of constant -#endif - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Thousand generic tag - - Represents the Thousand constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER(Thousand,double,1000, 0x447a0000, 0x408f400000000000ll) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Thousand(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Thousand; - } - /*! - Generates value 1000 - - @par Semantic: - - @code - T r = Thousand(); - @endcode - - is similar to: - - @code - T r = T(1000); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Thousand, Thousand) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/three.hpp b/inst/include/boost/simd/constant/constants/three.hpp deleted file mode 100644 index 14b9d71..0000000 --- a/inst/include/boost/simd/constant/constants/three.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_THREE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_THREE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Three generic tag - - Represents the Three constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Three, double, 3 - , 0x40400000UL, 0x4008000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Three(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Three; - } - /*! - Generates value 3 - - @par Semantic: - - @code - T r = Three(); - @endcode - - is similar to: - - @code - T r = T(3); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Three, Three) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/threeeps.hpp b/inst/include/boost/simd/constant/constants/threeeps.hpp deleted file mode 100644 index dafd7d6..0000000 --- a/inst/include/boost/simd/constant/constants/threeeps.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_THREEEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_THREEEPS_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Threeeps generic tag - - Represents the Threeeps constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Threeeps, double, 3 - , 0x34C00000, 0x3CC8000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Threeeps(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Threeeps; - } - /*! - Generate a value equal to 3 times Eps of the chosen type - - @par Semantic: - - @code - T r = Threeeps(); - @endcode - - @code - if T is integral - r = 3 - else if T is double - r = 6.661338147750939e-16; - else if T is float - r = 3.5762787e-07; - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Threeeps, Threeeps) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/true.hpp b/inst/include/boost/simd/constant/constants/true.hpp deleted file mode 100644 index eac33ec..0000000 --- a/inst/include/boost/simd/constant/constants/true.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TRUE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TRUE_HPP_INCLUDED - -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief True generic tag - - Represents the True constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct True : ext::pure_constant_ - { - typedef logical default_type; - typedef ext::pure_constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_True( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_True(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_True; - } - /*! - Generates the value True as a logical associated to chosen type - - @par Semantic: - - @code - T r = True(); - @endcode - - - is similar to: - - @code - auto r = logical(true); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::True, True) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/twelve.hpp b/inst/include/boost/simd/constant/constants/twelve.hpp deleted file mode 100644 index 9d5b3ff..0000000 --- a/inst/include/boost/simd/constant/constants/twelve.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TWELVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TWELVE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Twelve generic tag - - Represents the Twelve constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Twelve, double, 12 - ,0x41400000, 0x4028000000000000ll - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Twelve(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Twelve; - } - /*! - Generates value 12 - - @par Semantic: - - @code - T r = Twelve(); - @endcode - - is similar to: - - @code - T r = T(12); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Twelve, Twelve) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/twenty.hpp b/inst/include/boost/simd/constant/constants/twenty.hpp deleted file mode 100644 index e001d06..0000000 --- a/inst/include/boost/simd/constant/constants/twenty.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TWENTY_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TWENTY_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Twenty generic tag - - Represents the Twenty constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER(Twenty,double,20, 0x41a00000,0x4034000000000000ll) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Twenty(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Twenty; - } - /*! - Generates value 20 - - @par Semantic: - - @code - T r = Twenty(); - @endcode - - is similar to: - - @code - T r = T(20); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Twenty, Twenty) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/two.hpp b/inst/include/boost/simd/constant/constants/two.hpp deleted file mode 100644 index 8d43979..0000000 --- a/inst/include/boost/simd/constant/constants/two.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TWO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TWO_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Two generic tag - - Represents the Two constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Two, double, 2 - , 0x40000000UL, 0x4000000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Two(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Two; - } - /*! - Generates value 2 - - @par Semantic: - - @code - T r = Two(); - @endcode - - is similar to: - - @code - T r = T(2); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Two, Two) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/twoofive.hpp b/inst/include/boost/simd/constant/constants/twoofive.hpp deleted file mode 100644 index d356d77..0000000 --- a/inst/include/boost/simd/constant/constants/twoofive.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TWOOFIVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TWOOFIVE_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Twoofive generic tag - - Represents the Twoofive constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Twoofive, double, 0 - , 0x3ecccccd, 0x3fd999999999999all - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Twoofive(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Twoofive; - } - /*! - Generates value 2/5 == 0.4 - - @par Semantic: - - @code - T r = Twoofive(); - @endcode - - is similar to: - - @code - T r = T(2)/T(5); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Twoofive, Twoofive) -} } - -#include - -#endif - diff --git a/inst/include/boost/simd/constant/constants/twothird.hpp b/inst/include/boost/simd/constant/constants/twothird.hpp deleted file mode 100644 index 8439ad0..0000000 --- a/inst/include/boost/simd/constant/constants/twothird.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TWOTHIRD_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TWOTHIRD_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Twothird generic tag - - Represents the Twothird constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Twothird, double, 0 - , 0x3f2aaaabUL - , 0x3fe5555555555555ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Twothird(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Twothird; - } - /*! - Generates value 2/3 - - @par Semantic: - - @code - T r = Twothird(); - @endcode - - is similar to: - - @code - T r = T(2)/T(3); - @endcode - - @par Alias: - - Oneo_3 - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Twothird, Twothird) - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Twothird, Twoo_3) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/twoto31.hpp b/inst/include/boost/simd/constant/constants/twoto31.hpp deleted file mode 100644 index fff5d2f..0000000 --- a/inst/include/boost/simd/constant/constants/twoto31.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TWOTO31_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TWOTO31_HPP_INCLUDED - -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // cast truncate constants -#endif - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Twoto31 generic tag - - Represents the Twoto31 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Twoto31, double, (1 << 31) - , 0x4f000000, 0x41e0000000000000LL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Twoto31(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Twoto31; - } - /*! - Generates 2 to the power 31 (\f$2^{31}\f$) - - @par Semantic: - - @code - T r = Twoto31(); - @endcode - - is similar to: - - @code - T r = pow(2, 31); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Twoto31, Twoto31) -} } - -#include - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/constant/constants/twotom10.hpp b/inst/include/boost/simd/constant/constants/twotom10.hpp deleted file mode 100644 index 0d52329..0000000 --- a/inst/include/boost/simd/constant/constants/twotom10.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TWOTOM10_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TWOTOM10_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Twotom10 generic tag - - Represents the Twotom10 constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Twotom10, double, 0 - , 0x3A800000, 0x3F50000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Twotom10(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Twotom10; - } - /*! - Generates 2 to the power -10 (\f$2^{-10}\f$) - - @par Semantic: - - @code - T r = Twotom10(); - @endcode - - is similar to: - - @code - T r = pow(2, -10); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Twotom10, Twotom10) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/twotonmb.hpp b/inst/include/boost/simd/constant/constants/twotonmb.hpp deleted file mode 100644 index 744c7c9..0000000 --- a/inst/include/boost/simd/constant/constants/twotonmb.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_TWOTONMB_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_TWOTONMB_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Twotonmb generic tag - - Represents the Twotonmb constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Twotonmb, double, 0 - , 0x4B000000, 0x4330000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Twotonmb(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Twotonmb; - } - /*! - Generates two to the number of mantissa bits. - - @par Semantic: - - @code - T r = Twotonmb(); - @endcode - - is similar to: - - @code - T r = pow(2, Nbmantissabits()); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Twotonmb, Twotonmb) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/valmax.hpp b/inst/include/boost/simd/constant/constants/valmax.hpp deleted file mode 100644 index 08902fe..0000000 --- a/inst/include/boost/simd/constant/constants/valmax.hpp +++ /dev/null @@ -1,133 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_VALMAX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_VALMAX_HPP_INCLUDED - -#include -#include -#include -#include -#include - - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4310) // cast truncate constants -#endif - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Valmax generic tag - - Represents the Valmax constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Valmax : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply - { - // MSVC has some problem parsing this directly as a base class ... - typedef typename Target::type target_t; - static const target_t value = ~(typename Target::type - ( typename Target::type(1) - << ( sizeof(typename Target::type) - * CHAR_BIT-1 - ) - ) - ); - - typedef meta::int_c < target_t, value> type; - }; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Valmax( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Valmax::apply< boost::dispatch::meta::single_,Dummy> - : meta::single_<0x7F7FFFFF> {}; - - /// INTERNAL ONLY - template - struct Valmax::apply,Dummy> - : meta::double_<0x7FEFFFFFFFFFFFFFULL> {}; - - /// INTERNAL ONLY - template - struct Valmax::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Valmax::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Valmax::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Valmax::apply,Dummy> - : meta::int_c {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Valmax(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Valmax; - } - /*! - Generates the greatest finite value of a type. - - @par Semantic: - - @code - T r = Valmax(); - @endcode - - is similar to: - - @code - if T is unsigned integral - r = Allbits(); - if T is signed integral - r = Allbits()^Signmask(); - else if T is double - r = 1.7976931348623157e+308 - else if T is float - r = 3.4028234e+38f - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Valmax, Valmax) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/valmin.hpp b/inst/include/boost/simd/constant/constants/valmin.hpp deleted file mode 100644 index d841763..0000000 --- a/inst/include/boost/simd/constant/constants/valmin.hpp +++ /dev/null @@ -1,124 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_VALMIN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_VALMIN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4146) -#endif - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Valmin generic tag - - Represents the Valmin constant in generic contexts. - - @par Models: - Hierarchy - **/ - struct Valmin : ext::pure_constant_ - { - typedef double default_type; - typedef ext::pure_constant_ parent; - - /// INTERNAL ONLY - template - struct apply - : meta::int_c < typename Target::type, 0> {}; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Valmin( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - template - struct Valmin::apply,Dummy> - : meta::single_<0xFF7FFFFFUL> {}; - - /// INTERNAL ONLY - template - struct Valmin::apply,Dummy> - : meta::double_<0xFFEFFFFFFFFFFFFFULL> {}; - - /// INTERNAL ONLY - template - struct Valmin::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Valmin::apply,Dummy> - : meta::int_c {}; - - /// INTERNAL ONLY - template - struct Valmin::apply,Dummy> - : meta::int_c < T - , T(-boost::simd::uint32_t(2147483648UL)) - > {}; - - /// INTERNAL ONLY - template - struct Valmin::apply,Dummy> - : meta::int_c < T - , T(-boost::simd::uint64_t(9223372036854775808ULL)) - > {}; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Valmin(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Valmin; - } - /*! - Generates the least finite value of a type. - - @par Semantic: - - @code - T r = Valmin(); - @endcode - - is similar to: - - @code - if T is integral - r = 1 << (sizeof(T)*8-1); - else if T is double - r = -1.7976931348623157e+308; - else if T is float - r = -3.4028234e+38f; - @endcode - - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Valmin, Valmin) -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/constant/constants/zero.hpp b/inst/include/boost/simd/constant/constants/zero.hpp deleted file mode 100644 index 73533ab..0000000 --- a/inst/include/boost/simd/constant/constants/zero.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_CONSTANTS_ZERO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_CONSTANTS_ZERO_HPP_INCLUDED - -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Zero generic tag - - Represents the Zero constant in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( Zero, double , 0, 0, 0 ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Zero(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Zero; - } - /*! - Generates value 0 - - @par Semantic: - - @code - T r = Zero(); - @endcode - - is similar to: - - @code - T r = T(0); - @endcode - **/ - BOOST_SIMD_CONSTANT_IMPLEMENTATION(boost::simd::tag::Zero, Zero) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/constant/functions.hpp b/inst/include/boost/simd/constant/functions.hpp deleted file mode 100644 index 848c83a..0000000 --- a/inst/include/boost/simd/constant/functions.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_FUNCTIONS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/constant/hierarchy.hpp b/inst/include/boost/simd/constant/hierarchy.hpp deleted file mode 100644 index 3752330..0000000 --- a/inst/include/boost/simd/constant/hierarchy.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_HIERARCHY_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_HIERARCHY_HPP_INCLUDED - -/*! - @file - @brief Defines the BOOST_SIMD_CONSTANT_IMPLEMENTATION macro -**/ -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - @brief Constant hierarchy - **/ - template - struct constant_ : elementwise_ - { - typedef elementwise_ parent; - }; - - /*! - @brief Pure constant hierarchy - **/ - template - struct pure_constant_ : constant_ - { - typedef constant_ parent; - }; -} } } - -namespace boost { namespace simd { namespace ext -{ - using boost::dispatch::meta::constant_; - using boost::dispatch::meta::pure_constant_; -} } } - -//============================================================================== -/*! - * Generate a constant function with a given c NAME tied to a given constant - * ID c TAG - * - * param TAG ID of the constant to wrap - * param NAME Name of the function to build - */ -//============================================================================== -#define BOOST_SIMD_CONSTANT_IMPLEMENTATION(TAG,NAME) \ -template BOOST_FORCEINLINE \ -typename boost::dispatch::meta:: \ -call const&)>::type \ -NAME() \ -{ \ - typename boost::dispatch::make_functor::type callee; \ - return callee( boost::dispatch::meta::as_() ); \ -} \ -template BOOST_FORCEINLINE \ -typename boost::dispatch::meta:: \ -call const&)>::type \ -NAME(boost::dispatch::meta::as_ const& tgt) \ -{ \ - typename boost::dispatch::make_functor::type callee; \ - return callee( tgt ); \ -} -/**/ - -#endif diff --git a/inst/include/boost/simd/constant/impl/simd/common.hpp b/inst/include/boost/simd/constant/impl/simd/common.hpp deleted file mode 100644 index 910b5d2..0000000 --- a/inst/include/boost/simd/constant/impl/simd/common.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_IMPL_SIMD_COMMON_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_IMPL_SIMD_COMMON_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -//============================================================================== -// Forward all constant call to the SIMD version of themselves that splat -// the appropriate scalar constants into a proper SIMD vector. -//============================================================================== -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // By default we splat the constant contained into the extracted value from - // the Tag over a given Target. - //============================================================================ - BOOST_DISPATCH_IMPLEMENT_G ( pure_constant_, tag::cpu_ - , (Tag)(A0) - , ((target_< scalar_< arithmetic_ > >)) - ) - { - typedef typename A0::type base_type; - typedef typename meta::constant_value::type mpl_type; - typedef typename mpl_type::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return boost::simd::splat( result_type(mpl_type()) ); - } - }; - - //============================================================================ - // In the SIMD case, if we generate an integral vector, we do a simple - // splat from the Tag/Target bit pattern immediate, if not we add a bitwise - // cast - //============================================================================ - BOOST_DISPATCH_IMPLEMENT_G ( pure_constant_, tag::cpu_ - , (Tag)(A0)(X) - , ((target_< simd_< arithmetic_,X> >)) - ) - { - typedef typename A0::type base_type; - typedef typename meta::constant_value::type mpl_type; - typedef typename mpl_type::value_type scalar_type; - typedef typename meta::vector_of< scalar_type - , meta::cardinal_of::value - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - typedef typename dispatch::meta:: - as_integer::type pattern_type; - typedef boost::simd::native tmp_type; - - return bitwise_cast - ( boost::simd:: - splat( pattern_type(mpl_type::value) ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/allbits.hpp b/inst/include/boost/simd/constant/include/constants/allbits.hpp deleted file mode 100644 index a668f68..0000000 --- a/inst/include/boost/simd/constant/include/constants/allbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ALLBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/bitincrement.hpp b/inst/include/boost/simd/constant/include/constants/bitincrement.hpp deleted file mode 100644 index 5b14abd..0000000 --- a/inst/include/boost/simd/constant/include/constants/bitincrement.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_BITINCREMENT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_BITINCREMENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/c180.hpp b/inst/include/boost/simd/constant/include/constants/c180.hpp deleted file mode 100644 index 34fc163..0000000 --- a/inst/include/boost/simd/constant/include/constants/c180.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_C180_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_C180_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/cgold.hpp b/inst/include/boost/simd/constant/include/constants/cgold.hpp deleted file mode 100644 index 68b38ca..0000000 --- a/inst/include/boost/simd/constant/include/constants/cgold.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_CGOLD_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_CGOLD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/digits.hpp b/inst/include/boost/simd/constant/include/constants/digits.hpp deleted file mode 100644 index ee01f88..0000000 --- a/inst/include/boost/simd/constant/include/constants/digits.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_DIGITS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_DIGITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/eight.hpp b/inst/include/boost/simd/constant/include/constants/eight.hpp deleted file mode 100644 index 9e1f2cc..0000000 --- a/inst/include/boost/simd/constant/include/constants/eight.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_EIGHT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_EIGHT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/eleven.hpp b/inst/include/boost/simd/constant/include/constants/eleven.hpp deleted file mode 100644 index eaaec53..0000000 --- a/inst/include/boost/simd/constant/include/constants/eleven.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ELEVEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ELEVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/eps.hpp b/inst/include/boost/simd/constant/include/constants/eps.hpp deleted file mode 100644 index 7f067ca..0000000 --- a/inst/include/boost/simd/constant/include/constants/eps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_EPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_EPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/eps_related.hpp b/inst/include/boost/simd/constant/include/constants/eps_related.hpp deleted file mode 100644 index 5228544..0000000 --- a/inst/include/boost/simd/constant/include/constants/eps_related.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_EPS_RELATED_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_EPS_RELATED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fact_10.hpp b/inst/include/boost/simd/constant/include/constants/fact_10.hpp deleted file mode 100644 index 8d5f476..0000000 --- a/inst/include/boost/simd/constant/include/constants/fact_10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_10_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fact_11.hpp b/inst/include/boost/simd/constant/include/constants/fact_11.hpp deleted file mode 100644 index 1f1fc12..0000000 --- a/inst/include/boost/simd/constant/include/constants/fact_11.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_11_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_11_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fact_12.hpp b/inst/include/boost/simd/constant/include/constants/fact_12.hpp deleted file mode 100644 index b6bb9a7..0000000 --- a/inst/include/boost/simd/constant/include/constants/fact_12.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_12_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_12_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fact_4.hpp b/inst/include/boost/simd/constant/include/constants/fact_4.hpp deleted file mode 100644 index 86ad903..0000000 --- a/inst/include/boost/simd/constant/include/constants/fact_4.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_4_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_4_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fact_5.hpp b/inst/include/boost/simd/constant/include/constants/fact_5.hpp deleted file mode 100644 index 2409fd8..0000000 --- a/inst/include/boost/simd/constant/include/constants/fact_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_5_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fact_6.hpp b/inst/include/boost/simd/constant/include/constants/fact_6.hpp deleted file mode 100644 index 096c54e..0000000 --- a/inst/include/boost/simd/constant/include/constants/fact_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_6_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fact_7.hpp b/inst/include/boost/simd/constant/include/constants/fact_7.hpp deleted file mode 100644 index f41298d..0000000 --- a/inst/include/boost/simd/constant/include/constants/fact_7.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_7_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_7_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fact_8.hpp b/inst/include/boost/simd/constant/include/constants/fact_8.hpp deleted file mode 100644 index 474e01e..0000000 --- a/inst/include/boost/simd/constant/include/constants/fact_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_8_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fact_9.hpp b/inst/include/boost/simd/constant/include/constants/fact_9.hpp deleted file mode 100644 index 7f13473..0000000 --- a/inst/include/boost/simd/constant/include/constants/fact_9.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_9_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FACT_9_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/false.hpp b/inst/include/boost/simd/constant/include/constants/false.hpp deleted file mode 100644 index 93b9232..0000000 --- a/inst/include/boost/simd/constant/include/constants/false.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FALSE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FALSE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fifteen.hpp b/inst/include/boost/simd/constant/include/constants/fifteen.hpp deleted file mode 100644 index 1b50c90..0000000 --- a/inst/include/boost/simd/constant/include/constants/fifteen.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FIFTEEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FIFTEEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/five.hpp b/inst/include/boost/simd/constant/include/constants/five.hpp deleted file mode 100644 index a1ad45f..0000000 --- a/inst/include/boost/simd/constant/include/constants/five.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FIVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FIVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fiveo_8.hpp b/inst/include/boost/simd/constant/include/constants/fiveo_8.hpp deleted file mode 100644 index 064c919..0000000 --- a/inst/include/boost/simd/constant/include/constants/fiveo_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FIVEO_8_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FIVEO_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/four.hpp b/inst/include/boost/simd/constant/include/constants/four.hpp deleted file mode 100644 index db4d712..0000000 --- a/inst/include/boost/simd/constant/include/constants/four.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FOUR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FOUR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/fourthrooteps.hpp b/inst/include/boost/simd/constant/include/constants/fourthrooteps.hpp deleted file mode 100644 index 2e364c6..0000000 --- a/inst/include/boost/simd/constant/include/constants/fourthrooteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/gold.hpp b/inst/include/boost/simd/constant/include/constants/gold.hpp deleted file mode 100644 index ac5b3f8..0000000 --- a/inst/include/boost/simd/constant/include/constants/gold.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_GOLD_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_GOLD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/goldbar.hpp b/inst/include/boost/simd/constant/include/constants/goldbar.hpp deleted file mode 100644 index 3a8f97d..0000000 --- a/inst/include/boost/simd/constant/include/constants/goldbar.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_GOLDBAR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_GOLDBAR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/greatestnoninteger.hpp b/inst/include/boost/simd/constant/include/constants/greatestnoninteger.hpp deleted file mode 100644 index e910680..0000000 --- a/inst/include/boost/simd/constant/include/constants/greatestnoninteger.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/half.hpp b/inst/include/boost/simd/constant/include/constants/half.hpp deleted file mode 100644 index 10fc584..0000000 --- a/inst/include/boost/simd/constant/include/constants/half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_HALF_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/halfeps.hpp b/inst/include/boost/simd/constant/include/constants/halfeps.hpp deleted file mode 100644 index 0ae34c1..0000000 --- a/inst/include/boost/simd/constant/include/constants/halfeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_HALFEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_HALFEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/hundred.hpp b/inst/include/boost/simd/constant/include/constants/hundred.hpp deleted file mode 100644 index 0db10c7..0000000 --- a/inst/include/boost/simd/constant/include/constants/hundred.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_HUNDRED_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_HUNDRED_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/ieee.hpp b/inst/include/boost/simd/constant/include/constants/ieee.hpp deleted file mode 100644 index aa963a8..0000000 --- a/inst/include/boost/simd/constant/include/constants/ieee.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_IEEE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_IEEE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/inf.hpp b/inst/include/boost/simd/constant/include/constants/inf.hpp deleted file mode 100644 index 53bbba5..0000000 --- a/inst/include/boost/simd/constant/include/constants/inf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_INF_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_INF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/infinites.hpp b/inst/include/boost/simd/constant/include/constants/infinites.hpp deleted file mode 100644 index e91bbed..0000000 --- a/inst/include/boost/simd/constant/include/constants/infinites.hpp +++ /dev/null @@ -1,18 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_INFINITES_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_INFINITES_HPP_INCLUDED - -#include -#include - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/int_splat.hpp b/inst/include/boost/simd/constant/include/constants/int_splat.hpp deleted file mode 100644 index cf3ea61..0000000 --- a/inst/include/boost/simd/constant/include/constants/int_splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_INT_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_INT_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/ldexpmask.hpp b/inst/include/boost/simd/constant/include/constants/ldexpmask.hpp deleted file mode 100644 index e154cb0..0000000 --- a/inst/include/boost/simd/constant/include/constants/ldexpmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LDEXPMASK_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LDEXPMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/limitexponent.hpp b/inst/include/boost/simd/constant/include/constants/limitexponent.hpp deleted file mode 100644 index ceae3ea..0000000 --- a/inst/include/boost/simd/constant/include/constants/limitexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/log10_pi.hpp b/inst/include/boost/simd/constant/include/constants/log10_pi.hpp deleted file mode 100644 index b18745e..0000000 --- a/inst/include/boost/simd/constant/include/constants/log10_pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LOG10_PI_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LOG10_PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/logeps.hpp b/inst/include/boost/simd/constant/include/constants/logeps.hpp deleted file mode 100644 index a8b37b0..0000000 --- a/inst/include/boost/simd/constant/include/constants/logeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LOGEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LOGEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/logpi.hpp b/inst/include/boost/simd/constant/include/constants/logpi.hpp deleted file mode 100644 index 1329e2e..0000000 --- a/inst/include/boost/simd/constant/include/constants/logpi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LOGPI_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LOGPI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/logsqrt2pi.hpp b/inst/include/boost/simd/constant/include/constants/logsqrt2pi.hpp deleted file mode 100644 index 95534c6..0000000 --- a/inst/include/boost/simd/constant/include/constants/logsqrt2pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mantissamask.hpp b/inst/include/boost/simd/constant/include/constants/mantissamask.hpp deleted file mode 100644 index 3e9e5a4..0000000 --- a/inst/include/boost/simd/constant/include/constants/mantissamask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MANTISSAMASK_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MANTISSAMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mask1frexp.hpp b/inst/include/boost/simd/constant/include/constants/mask1frexp.hpp deleted file mode 100644 index a574880..0000000 --- a/inst/include/boost/simd/constant/include/constants/mask1frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MASK1FREXP_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MASK1FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mask2frexp.hpp b/inst/include/boost/simd/constant/include/constants/mask2frexp.hpp deleted file mode 100644 index a71eff6..0000000 --- a/inst/include/boost/simd/constant/include/constants/mask2frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MASK2FREXP_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MASK2FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/maxexponent.hpp b/inst/include/boost/simd/constant/include/constants/maxexponent.hpp deleted file mode 100644 index 5634237..0000000 --- a/inst/include/boost/simd/constant/include/constants/maxexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXEXPONENT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/maxexponentm1.hpp b/inst/include/boost/simd/constant/include/constants/maxexponentm1.hpp deleted file mode 100644 index 2834a67..0000000 --- a/inst/include/boost/simd/constant/include/constants/maxexponentm1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/maxflint.hpp b/inst/include/boost/simd/constant/include/constants/maxflint.hpp deleted file mode 100644 index b530586..0000000 --- a/inst/include/boost/simd/constant/include/constants/maxflint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXFLINT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXFLINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/maxgammaln.hpp b/inst/include/boost/simd/constant/include/constants/maxgammaln.hpp deleted file mode 100644 index c78d834..0000000 --- a/inst/include/boost/simd/constant/include/constants/maxgammaln.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXGAMMALN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXGAMMALN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/maxinit.hpp b/inst/include/boost/simd/constant/include/constants/maxinit.hpp deleted file mode 100644 index b4c207e..0000000 --- a/inst/include/boost/simd/constant/include/constants/maxinit.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXINIT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXINIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/maxleftshift.hpp b/inst/include/boost/simd/constant/include/constants/maxleftshift.hpp deleted file mode 100644 index cb12846..0000000 --- a/inst/include/boost/simd/constant/include/constants/maxleftshift.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/meight.hpp b/inst/include/boost/simd/constant/include/constants/meight.hpp deleted file mode 100644 index ddb6392..0000000 --- a/inst/include/boost/simd/constant/include/constants/meight.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MEIGHT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MEIGHT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mfive.hpp b/inst/include/boost/simd/constant/include/constants/mfive.hpp deleted file mode 100644 index 142c74d..0000000 --- a/inst/include/boost/simd/constant/include/constants/mfive.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MFIVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MFIVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mfour.hpp b/inst/include/boost/simd/constant/include/constants/mfour.hpp deleted file mode 100644 index ce12cbf..0000000 --- a/inst/include/boost/simd/constant/include/constants/mfour.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MFOUR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MFOUR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mhalf.hpp b/inst/include/boost/simd/constant/include/constants/mhalf.hpp deleted file mode 100644 index 8cac09b..0000000 --- a/inst/include/boost/simd/constant/include/constants/mhalf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MHALF_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MHALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mindenormal.hpp b/inst/include/boost/simd/constant/include/constants/mindenormal.hpp deleted file mode 100644 index 8c39088..0000000 --- a/inst/include/boost/simd/constant/include/constants/mindenormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MINDENORMAL_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MINDENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/minexponent.hpp b/inst/include/boost/simd/constant/include/constants/minexponent.hpp deleted file mode 100644 index 376c286..0000000 --- a/inst/include/boost/simd/constant/include/constants/minexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MINEXPONENT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MINEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/minf.hpp b/inst/include/boost/simd/constant/include/constants/minf.hpp deleted file mode 100644 index af77df0..0000000 --- a/inst/include/boost/simd/constant/include/constants/minf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MINF_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MINF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mlogeps2.hpp b/inst/include/boost/simd/constant/include/constants/mlogeps2.hpp deleted file mode 100644 index c27e684..0000000 --- a/inst/include/boost/simd/constant/include/constants/mlogeps2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MLOGEPS2_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MLOGEPS2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mnine.hpp b/inst/include/boost/simd/constant/include/constants/mnine.hpp deleted file mode 100644 index 87b5fd2..0000000 --- a/inst/include/boost/simd/constant/include/constants/mnine.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MNINE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MNINE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mone.hpp b/inst/include/boost/simd/constant/include/constants/mone.hpp deleted file mode 100644 index eda1818..0000000 --- a/inst/include/boost/simd/constant/include/constants/mone.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MONE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/moneo_6.hpp b/inst/include/boost/simd/constant/include/constants/moneo_6.hpp deleted file mode 100644 index a21f2db..0000000 --- a/inst/include/boost/simd/constant/include/constants/moneo_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MONEO_6_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MONEO_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mseven.hpp b/inst/include/boost/simd/constant/include/constants/mseven.hpp deleted file mode 100644 index 61de7d5..0000000 --- a/inst/include/boost/simd/constant/include/constants/mseven.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MSEVEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MSEVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/msix.hpp b/inst/include/boost/simd/constant/include/constants/msix.hpp deleted file mode 100644 index ccfba17..0000000 --- a/inst/include/boost/simd/constant/include/constants/msix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MSIX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MSIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mten.hpp b/inst/include/boost/simd/constant/include/constants/mten.hpp deleted file mode 100644 index b4e9cf9..0000000 --- a/inst/include/boost/simd/constant/include/constants/mten.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MTEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MTEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mthree.hpp b/inst/include/boost/simd/constant/include/constants/mthree.hpp deleted file mode 100644 index 0bcff2b..0000000 --- a/inst/include/boost/simd/constant/include/constants/mthree.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MTHREE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MTHREE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mtwo.hpp b/inst/include/boost/simd/constant/include/constants/mtwo.hpp deleted file mode 100644 index 0a55732..0000000 --- a/inst/include/boost/simd/constant/include/constants/mtwo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MTWO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MTWO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/mzero.hpp b/inst/include/boost/simd/constant/include/constants/mzero.hpp deleted file mode 100644 index 52c6f50..0000000 --- a/inst/include/boost/simd/constant/include/constants/mzero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MZERO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_MZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/nan.hpp b/inst/include/boost/simd/constant/include/constants/nan.hpp deleted file mode 100644 index 8f8a725..0000000 --- a/inst/include/boost/simd/constant/include/constants/nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NAN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/nbdigits.hpp b/inst/include/boost/simd/constant/include/constants/nbdigits.hpp deleted file mode 100644 index 41df475..0000000 --- a/inst/include/boost/simd/constant/include/constants/nbdigits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NBDIGITS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NBDIGITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/nbexponentbits.hpp b/inst/include/boost/simd/constant/include/constants/nbexponentbits.hpp deleted file mode 100644 index c75fe05..0000000 --- a/inst/include/boost/simd/constant/include/constants/nbexponentbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/nbmantissabits.hpp b/inst/include/boost/simd/constant/include/constants/nbmantissabits.hpp deleted file mode 100644 index 101b6bb..0000000 --- a/inst/include/boost/simd/constant/include/constants/nbmantissabits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/nine.hpp b/inst/include/boost/simd/constant/include/constants/nine.hpp deleted file mode 100644 index 648590d..0000000 --- a/inst/include/boost/simd/constant/include/constants/nine.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NINE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_NINE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/one.hpp b/inst/include/boost/simd/constant/include/constants/one.hpp deleted file mode 100644 index 95d7e83..0000000 --- a/inst/include/boost/simd/constant/include/constants/one.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_10.hpp b/inst/include/boost/simd/constant/include/constants/oneo_10.hpp deleted file mode 100644 index 194b6ad..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_10_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_12.hpp b/inst/include/boost/simd/constant/include/constants/oneo_12.hpp deleted file mode 100644 index 1691380..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_12.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_12_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_12_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_120.hpp b/inst/include/boost/simd/constant/include/constants/oneo_120.hpp deleted file mode 100644 index 6c77b88..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_120.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_120_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_120_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_15.hpp b/inst/include/boost/simd/constant/include/constants/oneo_15.hpp deleted file mode 100644 index 56d7312..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_15.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_15_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_15_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_16.hpp b/inst/include/boost/simd/constant/include/constants/oneo_16.hpp deleted file mode 100644 index beca538..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_16.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_16_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_16_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_180.hpp b/inst/include/boost/simd/constant/include/constants/oneo_180.hpp deleted file mode 100644 index b62afee..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_180.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_180_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_180_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_5.hpp b/inst/include/boost/simd/constant/include/constants/oneo_5.hpp deleted file mode 100644 index e6fcbce..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_5_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_6.hpp b/inst/include/boost/simd/constant/include/constants/oneo_6.hpp deleted file mode 100644 index 898e0c2..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_6_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_7.hpp b/inst/include/boost/simd/constant/include/constants/oneo_7.hpp deleted file mode 100644 index 490e7d3..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_7.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_7_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_7_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_8.hpp b/inst/include/boost/simd/constant/include/constants/oneo_8.hpp deleted file mode 100644 index aa2d2dd..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_8_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneo_9.hpp b/inst/include/boost/simd/constant/include/constants/oneo_9.hpp deleted file mode 100644 index e9f57f9..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneo_9.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_9_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEO_9_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneosqrt5.hpp b/inst/include/boost/simd/constant/include/constants/oneosqrt5.hpp deleted file mode 100644 index ab7e1b1..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneosqrt5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEOSQRT5_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEOSQRT5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneosqrteps.hpp b/inst/include/boost/simd/constant/include/constants/oneosqrteps.hpp deleted file mode 100644 index 39f38d2..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneosqrteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/oneotwoeps.hpp b/inst/include/boost/simd/constant/include/constants/oneotwoeps.hpp deleted file mode 100644 index 505301c..0000000 --- a/inst/include/boost/simd/constant/include/constants/oneotwoeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/pi.hpp b/inst/include/boost/simd/constant/include/constants/pi.hpp deleted file mode 100644 index faab2cc..0000000 --- a/inst/include/boost/simd/constant/include/constants/pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_PI_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/pio_2.hpp b/inst/include/boost/simd/constant/include/constants/pio_2.hpp deleted file mode 100644 index 0ca864f..0000000 --- a/inst/include/boost/simd/constant/include/constants/pio_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_PIO_2_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_PIO_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/properties.hpp b/inst/include/boost/simd/constant/include/constants/properties.hpp deleted file mode 100644 index 36a7501..0000000 --- a/inst/include/boost/simd/constant/include/constants/properties.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_PROPERTIES_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_PROPERTIES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/quarter.hpp b/inst/include/boost/simd/constant/include/constants/quarter.hpp deleted file mode 100644 index 687666b..0000000 --- a/inst/include/boost/simd/constant/include/constants/quarter.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_QUARTER_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_QUARTER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/real.hpp b/inst/include/boost/simd/constant/include/constants/real.hpp deleted file mode 100644 index c41ffaf..0000000 --- a/inst/include/boost/simd/constant/include/constants/real.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_REAL_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_REAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/real_splat.hpp b/inst/include/boost/simd/constant/include/constants/real_splat.hpp deleted file mode 100644 index 59985e8..0000000 --- a/inst/include/boost/simd/constant/include/constants/real_splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_REAL_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_REAL_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/seven.hpp b/inst/include/boost/simd/constant/include/constants/seven.hpp deleted file mode 100644 index cfa6733..0000000 --- a/inst/include/boost/simd/constant/include/constants/seven.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SEVEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SEVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/signmask.hpp b/inst/include/boost/simd/constant/include/constants/signmask.hpp deleted file mode 100644 index f9c817a..0000000 --- a/inst/include/boost/simd/constant/include/constants/signmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SIGNMASK_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SIGNMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/six.hpp b/inst/include/boost/simd/constant/include/constants/six.hpp deleted file mode 100644 index 4f195ce..0000000 --- a/inst/include/boost/simd/constant/include/constants/six.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SIX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/sixteen.hpp b/inst/include/boost/simd/constant/include/constants/sixteen.hpp deleted file mode 100644 index d555bb4..0000000 --- a/inst/include/boost/simd/constant/include/constants/sixteen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SIXTEEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SIXTEEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/smallestposval.hpp b/inst/include/boost/simd/constant/include/constants/smallestposval.hpp deleted file mode 100644 index 11c209c..0000000 --- a/inst/include/boost/simd/constant/include/constants/smallestposval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/splitfactor.hpp b/inst/include/boost/simd/constant/include/constants/splitfactor.hpp deleted file mode 100644 index 6f59ad7..0000000 --- a/inst/include/boost/simd/constant/include/constants/splitfactor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SPLITFACTOR_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SPLITFACTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/sqrt_1o_5.hpp b/inst/include/boost/simd/constant/include/constants/sqrt_1o_5.hpp deleted file mode 100644 index 5ef4825..0000000 --- a/inst/include/boost/simd/constant/include/constants/sqrt_1o_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRT_1O_5_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRT_1O_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/sqrt_2.hpp b/inst/include/boost/simd/constant/include/constants/sqrt_2.hpp deleted file mode 100644 index 4d2be78..0000000 --- a/inst/include/boost/simd/constant/include/constants/sqrt_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRT_2_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRT_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/sqrt_2o_2.hpp b/inst/include/boost/simd/constant/include/constants/sqrt_2o_2.hpp deleted file mode 100644 index 4ab201d..0000000 --- a/inst/include/boost/simd/constant/include/constants/sqrt_2o_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRT_2O_2_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRT_2O_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/sqrt_2o_3.hpp b/inst/include/boost/simd/constant/include/constants/sqrt_2o_3.hpp deleted file mode 100644 index 24c5470..0000000 --- a/inst/include/boost/simd/constant/include/constants/sqrt_2o_3.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRT_2O_3_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRT_2O_3_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/sqrteps.hpp b/inst/include/boost/simd/constant/include/constants/sqrteps.hpp deleted file mode 100644 index b76a611..0000000 --- a/inst/include/boost/simd/constant/include/constants/sqrteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRTEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/sqrtsmallestposval.hpp b/inst/include/boost/simd/constant/include/constants/sqrtsmallestposval.hpp deleted file mode 100644 index f0dcea1..0000000 --- a/inst/include/boost/simd/constant/include/constants/sqrtsmallestposval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/sqrtvalmax.hpp b/inst/include/boost/simd/constant/include/constants/sqrtvalmax.hpp deleted file mode 100644 index 809cf9d..0000000 --- a/inst/include/boost/simd/constant/include/constants/sqrtvalmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRTVALMAX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_SQRTVALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/ten.hpp b/inst/include/boost/simd/constant/include/constants/ten.hpp deleted file mode 100644 index d305270..0000000 --- a/inst/include/boost/simd/constant/include/constants/ten.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TEN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/third.hpp b/inst/include/boost/simd/constant/include/constants/third.hpp deleted file mode 100644 index 2594fb8..0000000 --- a/inst/include/boost/simd/constant/include/constants/third.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THIRD_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THIRD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/thirdrooteps.hpp b/inst/include/boost/simd/constant/include/constants/thirdrooteps.hpp deleted file mode 100644 index 55e2e98..0000000 --- a/inst/include/boost/simd/constant/include/constants/thirdrooteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/thousand.hpp b/inst/include/boost/simd/constant/include/constants/thousand.hpp deleted file mode 100644 index 4839204..0000000 --- a/inst/include/boost/simd/constant/include/constants/thousand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THOUSAND_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THOUSAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/three.hpp b/inst/include/boost/simd/constant/include/constants/three.hpp deleted file mode 100644 index 188839b..0000000 --- a/inst/include/boost/simd/constant/include/constants/three.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THREE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THREE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/threeeps.hpp b/inst/include/boost/simd/constant/include/constants/threeeps.hpp deleted file mode 100644 index fb6626b..0000000 --- a/inst/include/boost/simd/constant/include/constants/threeeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THREEEPS_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_THREEEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/true.hpp b/inst/include/boost/simd/constant/include/constants/true.hpp deleted file mode 100644 index 06647fa..0000000 --- a/inst/include/boost/simd/constant/include/constants/true.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TRUE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TRUE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/true_false.hpp b/inst/include/boost/simd/constant/include/constants/true_false.hpp deleted file mode 100644 index ec00e71..0000000 --- a/inst/include/boost/simd/constant/include/constants/true_false.hpp +++ /dev/null @@ -1,13 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TRUE_FALSE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TRUE_FALSE_HPP_INCLUDED -#include -#include -#endif diff --git a/inst/include/boost/simd/constant/include/constants/twelve.hpp b/inst/include/boost/simd/constant/include/constants/twelve.hpp deleted file mode 100644 index bb3e0f0..0000000 --- a/inst/include/boost/simd/constant/include/constants/twelve.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWELVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWELVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/twenty.hpp b/inst/include/boost/simd/constant/include/constants/twenty.hpp deleted file mode 100644 index 9cd8d57..0000000 --- a/inst/include/boost/simd/constant/include/constants/twenty.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWENTY_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWENTY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/two.hpp b/inst/include/boost/simd/constant/include/constants/two.hpp deleted file mode 100644 index 9f4d14d..0000000 --- a/inst/include/boost/simd/constant/include/constants/two.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/twoofive.hpp b/inst/include/boost/simd/constant/include/constants/twoofive.hpp deleted file mode 100644 index 4d86a96..0000000 --- a/inst/include/boost/simd/constant/include/constants/twoofive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOOFIVE_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOOFIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/twothird.hpp b/inst/include/boost/simd/constant/include/constants/twothird.hpp deleted file mode 100644 index 83a151e..0000000 --- a/inst/include/boost/simd/constant/include/constants/twothird.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOTHIRD_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOTHIRD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/twoto31.hpp b/inst/include/boost/simd/constant/include/constants/twoto31.hpp deleted file mode 100644 index 431b925..0000000 --- a/inst/include/boost/simd/constant/include/constants/twoto31.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOTO31_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOTO31_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/twotom10.hpp b/inst/include/boost/simd/constant/include/constants/twotom10.hpp deleted file mode 100644 index 21b8b4f..0000000 --- a/inst/include/boost/simd/constant/include/constants/twotom10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOTOM10_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOTOM10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/twotonmb.hpp b/inst/include/boost/simd/constant/include/constants/twotonmb.hpp deleted file mode 100644 index fd3efbc..0000000 --- a/inst/include/boost/simd/constant/include/constants/twotonmb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOTONMB_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_TWOTONMB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/valmax.hpp b/inst/include/boost/simd/constant/include/constants/valmax.hpp deleted file mode 100644 index 833fa86..0000000 --- a/inst/include/boost/simd/constant/include/constants/valmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_VALMAX_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_VALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/valmin.hpp b/inst/include/boost/simd/constant/include/constants/valmin.hpp deleted file mode 100644 index d40d94c..0000000 --- a/inst/include/boost/simd/constant/include/constants/valmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_VALMIN_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_VALMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/constant/include/constants/zero.hpp b/inst/include/boost/simd/constant/include/constants/zero.hpp deleted file mode 100644 index 4eb540d..0000000 --- a/inst/include/boost/simd/constant/include/constants/zero.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ZERO_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_INCLUDE_CONSTANTS_ZERO_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/constant/register.hpp b/inst/include/boost/simd/constant/register.hpp deleted file mode 100644 index 6ba5326..0000000 --- a/inst/include/boost/simd/constant/register.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_CONSTANT_REGISTER_HPP_INCLUDED -#define BOOST_SIMD_CONSTANT_REGISTER_HPP_INCLUDED - -/*! - * \file - * \brief Defines the BOOST_SIMD_CONSTANT_REGISTER_VALUE macro - */ - -#include -#include -#include - -//============================================================================== -/*! - * Generate a named constant from an integral, float and double value set - * and a default type - * \param TAG ID of the constant to generate - * \param TYPE Default type of the constant - * \param INT Integral value of the constant - * \param FLOAT Float value of the constant - * \param DOUBLE Double value of the constant - */ -//============================================================================== -#if defined(DOXYGEN_ONLY) -#define BOOST_SIMD_CONSTANT_REGISTER(TAG,TYPE,INT,FLOAT,DOUBLE) \ -struct TAG : boost::simd::ext::pure_constant_ \ -{ \ - typedef boost::simd::ext::pure_constant_ parent; \ - typedef TYPE default_type; \ -}; \ -/**/ -#else -#define BOOST_SIMD_CONSTANT_REGISTER(TAG,TYPE,INT,FLOAT,DOUBLE) \ -struct TAG : boost::simd::ext::pure_constant_ \ -{ \ - typedef boost::simd::ext::pure_constant_ parent; \ - typedef TYPE default_type; \ - template struct apply \ - : boost::simd::meta::int_c {}; \ - \ - template \ - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) \ - BOOST_AUTO_DECLTYPE_BODY( BOOST_PP_CAT(dispatching_, TAG)( ext::adl_helper(), static_cast(args)... ) ) \ -}; \ -template \ -struct TAG::apply,D> \ - : boost::simd::meta::single_ {}; \ -template \ -struct TAG::apply,D> \ - : boost::simd::meta::double_ {}; \ -/**/ -#endif - -#endif diff --git a/inst/include/boost/simd/dsl/functions.hpp b/inst/include/boost/simd/dsl/functions.hpp deleted file mode 100644 index 020f7aa..0000000 --- a/inst/include/boost/simd/dsl/functions.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_DSL_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/dsl/functions/evaluate.hpp b/inst/include/boost/simd/dsl/functions/evaluate.hpp deleted file mode 100644 index ed696c5..0000000 --- a/inst/include/boost/simd/dsl/functions/evaluate.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_DSL_FUNCTIONS_EVALUATE_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_EVALUATE_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag { struct evaluate_; } namespace ext { template BOOST_FORCEINLINE generic_dispatcher dispatching_evaluate_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) { return generic_dispatcher(); } template struct impl_evaluate_; } namespace tag { struct evaluate_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_evaluate_( ext::adl_helper(), static_cast(args)... ) ) }; } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::evaluate_, evaluate, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::evaluate_, evaluate, (A0&), 1) -} } - -#endif diff --git a/inst/include/boost/simd/dsl/functions/generic/evaluate.hpp b/inst/include/boost/simd/dsl/functions/generic/evaluate.hpp deleted file mode 100644 index 60bcbb0..0000000 --- a/inst/include/boost/simd/dsl/functions/generic/evaluate.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_DSL_FUNCTIONS_GENERIC_EVALUATE_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_GENERIC_EVALUATE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( evaluate_ - , tag::formal_ - , (A0)(D) - , ((ast_)) - ) - { - typedef typename boost::dispatch::meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0) const - { - return boost::simd::run(a0); - } - }; - - // evaluate on scalar is identity - BOOST_DISPATCH_REGISTER_TO( evaluate_, tag::cpu_ - , (A0) - , ((scalar_>)) - , boost::dispatch::identity - ); -} } } - -#endif diff --git a/inst/include/boost/simd/dsl/functions/generic/run.hpp b/inst/include/boost/simd/dsl/functions/generic/run.hpp deleted file mode 100644 index 920d8f0..0000000 --- a/inst/include/boost/simd/dsl/functions/generic/run.hpp +++ /dev/null @@ -1,226 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_DSL_FUNCTIONS_GENERIC_RUN_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_GENERIC_RUN_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /* Adapt Data with Expr whenever it is a target */ - template - struct adapt_data - { - typedef Data const& type; - BOOST_FORCEINLINE static type call(Data const& data) - { - return data; - } - }; - - template - struct adapt_data< Expr, boost::dispatch::meta::as_ > - { - typedef boost::dispatch::meta::as_ type; - BOOST_FORCEINLINE static type call(boost::dispatch::meta::as_ const&) - { - return type(); - } - }; - - template - struct adapt_data< Expr, boost::dispatch::meta::as_< boost::simd::native > > - { - typedef boost::dispatch::meta::as_< - typename boost::simd::meta::vector_of< - typename Expr::value_type - , boost::simd::meta::cardinal_of< boost::simd::native >::value - >::type - > type; - BOOST_FORCEINLINE static type call(boost::dispatch::meta::as_< boost::simd::native > const&) - { - return type(); - } - }; - - //============================================================================ - // Run an expression without state nor data - //============================================================================ - #define M0(z,n,t) \ - t( dispatching_run_( ext::adl_helper(), boost::dispatch::default_site_t() \ - , boost::dispatch::meta:: \ - hierarchy_of_t::type>() \ - ) \ - ( boost::proto::child_c(expr) ) \ - ) \ - /**/ - - //============================================================================ - // Run an expression with a state and a data - //============================================================================ - #define M0d(z,n,t) \ - t( dispatching_run_( ext::adl_helper(), boost::dispatch::default_site_t() \ - , boost::dispatch::meta:: \ - hierarchy_of_t::type>() \ - , boost::dispatch::meta:: \ - hierarchy_of_t() \ - , boost::dispatch::meta:: \ - hierarchy_of_t::value_type \ - , Data \ - >::type>() \ - ) \ - ( boost::proto::child_c(expr) \ - , state \ - , adapt_data< typename boost::proto::result_of:: \ - child_c::value_type \ - , Data \ - >::call(data) \ - ) \ - ) \ - /**/ - - #define MHIERARCHY(e) boost::dispatch::meta::hierarchy_of_t() - #define MIDENTITY(e) e - - #define BOOST_PP_ITERATION_PARAMS_1 (3, ( 1, BOOST_PP_MIN( BOOST_DISPATCH_MAX_ARITY \ - , BOOST_PROTO_MAX_ARITY \ - ) \ - , "boost/simd/dsl/functions/generic/run.hpp" \ - ) \ - ) - #include BOOST_PP_ITERATE() - - #undef M0 - #undef M1 - #undef MHIERARCHY - #undef MIDENTITY - - //============================================================================ - // Run an expression with a state and data - Terminal cases - // When run on a terminal, we directly jump into the terminal functor - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(T)(D) - , ((node_, mpl::long_<0>, D>)) - ) - { - BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE operator()(A0& a0) const - BOOST_AUTO_DECLTYPE_BODY - ( - T::dispatch( boost::dispatch::default_site_t() - , boost::dispatch::meta::hierarchy_of_t() - ) - ( a0 ) - ) - - #ifdef BOOST_MSVC - typedef decltype( boost::declval()(boost::declval()) ) result_type; - #else - typedef decltype( (((impl_run_ const*)0)->*&impl_run_::operator())(*(A0*)0) ) result_type; - #endif - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(T)(D)(State)(Data) - , ((node_, mpl::long_<0>, D>)) - (unspecified_) - (unspecified_) - ) - { - BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE operator()(A0& a0, State const& state, Data const& data) const - BOOST_AUTO_DECLTYPE_BODY - ( - T::dispatch( boost::dispatch::default_site_t() - , boost::dispatch::meta::hierarchy_of_t() - , boost::dispatch::meta::hierarchy_of_t() - , boost::dispatch::meta::hierarchy_of_t() - ) - ( a0, state, data ) - ) - - #ifdef BOOST_MSVC - typedef decltype( boost::declval()(boost::declval(), boost::declval(), boost::declval()) ) result_type; - #else - typedef decltype( (((impl_run_ const*)0)->*&impl_run_::operator())(*(A0*)0, *(State const*)0, *(Data const*)0) ) result_type; - #endif - }; -} } } - -#endif -#else /* BOOST_PP_IS_ITERATING */ - -#define n BOOST_PP_ITERATION() - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::formal_ - , (Expr)(T)(D) - , ((node_, boost::mpl::long_, D>)) - ) - { - BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE operator()(Expr& expr) const - BOOST_AUTO_DECLTYPE_BODY - ( - T::dispatch( boost::dispatch::default_site_t() - , BOOST_PP_ENUM(n, M0, MHIERARCHY) - ) - ( BOOST_PP_ENUM(n, M0, MIDENTITY) ) - ) - - #ifdef BOOST_MSVC - typedef decltype( boost::declval()(boost::declval()) ) result_type; - #else - typedef decltype( (((impl_run_ const*)0)->*&impl_run_::operator())(*(Expr*)0) ) result_type; - #endif - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (Expr)(T)(D)(State)(Data) - , ((node_, boost::mpl::long_, D>)) - (unspecified_) - (unspecified_) - ) - { - BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE operator()(Expr& expr, State const& state, Data const& data) const - BOOST_AUTO_DECLTYPE_BODY - ( - T::dispatch( boost::dispatch::default_site_t() - , BOOST_PP_ENUM(n, M0d, MHIERARCHY) - ) - ( BOOST_PP_ENUM(n, M0d, MIDENTITY) ) - ) - - #ifdef BOOST_MSVC - typedef decltype( boost::declval()(boost::declval(), boost::declval(), boost::declval()) ) result_type; - #else - typedef decltype( (((impl_run_ const*)0)->*&impl_run_::operator())(*(Expr*)0, *(State const*)0, *(Data const*)0) ) result_type; - #endif - }; - -#undef n - -#endif diff --git a/inst/include/boost/simd/dsl/functions/generic/terminal.hpp b/inst/include/boost/simd/dsl/functions/generic/terminal.hpp deleted file mode 100644 index edb6fe6..0000000 --- a/inst/include/boost/simd/dsl/functions/generic/terminal.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_DSL_FUNCTIONS_GENERIC_TERMINAL_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_GENERIC_TERMINAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // Terminal returns ASTs by reference - BOOST_DISPATCH_REGISTER_TO( terminal_, tag::formal_ - , (A0)(D) - , ((ast_)) - , boost::dispatch::identity - ) - - // When evaluating a terminal, get its value - BOOST_DISPATCH_IMPLEMENT ( terminal_, tag::cpu_ - , (A0)(D) - , ((ast_)) - ) - { - typedef typename proto::result_of::value::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0& a0) const - { - return boost::proto::value(a0); - } - }; - - // Terminal functions on non-ASTs do nothing - BOOST_DISPATCH_REGISTER_TO( terminal_, tag::cpu_ - , (A0) - , (unspecified_) - , boost::dispatch::identity - ) - BOOST_DISPATCH_REGISTER_TO( terminal_, tag::cpu_ - , (A0) - , (generic_< unspecified_ >) - , boost::dispatch::identity - ) -} } } - -#endif diff --git a/inst/include/boost/simd/dsl/functions/optimize.hpp b/inst/include/boost/simd/dsl/functions/optimize.hpp deleted file mode 100644 index 8b2fca8..0000000 --- a/inst/include/boost/simd/dsl/functions/optimize.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_DSL_FUNCTIONS_OPTIMIZE_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_OPTIMIZE_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag { struct optimize_; } namespace ext { template BOOST_FORCEINLINE generic_dispatcher dispatching_optimize_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) { return generic_dispatcher(); } template struct impl_optimize_; } namespace tag { struct optimize_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_optimize_( ext::adl_helper(), static_cast(args)... ) ) }; } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::optimize_, optimize, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::optimize_, optimize, (A0&), 1) -} } - -#endif diff --git a/inst/include/boost/simd/dsl/functions/pack/terminal.hpp b/inst/include/boost/simd/dsl/functions/pack/terminal.hpp deleted file mode 100644 index fe7bde5..0000000 --- a/inst/include/boost/simd/dsl/functions/pack/terminal.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_DSL_FUNCTIONS_PACK_TERMINAL_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_PACK_TERMINAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( terminal_, tag::cpu_ - , (Expr)(X) - , ((expr_< target_< simd_< unspecified_, X> >, boost::simd::tag::terminal_, mpl::long_<0> >)) - ) - { - typedef typename boost::dispatch::meta:: - semantic_of::type result_type; - - BOOST_FORCEINLINE result_type - operator()( Expr& ) const - { - return result_type(); - } - }; -} } } - -namespace boost { namespace dispatch { namespace meta -{ - template - struct semantic_of< as_< boost::simd::pack > > - { - typedef as_< typename boost::simd::pack::data_type > type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/dsl/functions/run.hpp b/inst/include/boost/simd/dsl/functions/run.hpp deleted file mode 100644 index 9619d7f..0000000 --- a/inst/include/boost/simd/dsl/functions/run.hpp +++ /dev/null @@ -1,93 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_DSL_FUNCTIONS_RUN_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_RUN_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - struct run_; - struct run_assign_; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_run_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_run_; - - template - BOOST_FORCEINLINE generic_dispatcher dispatching_run_assign_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_run_assign_; - } - namespace tag - { - struct run_ : ext::abstract_ - { - typedef ext::abstract_ parent; - - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_run_( ext::adl_helper(), static_cast(args)... ) ) - }; - - struct run_assign_ : ext::abstract_ - { - typedef ext::abstract_ parent; - - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_run_assign_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0 const&), 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0&), 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0 const&)(A1&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0&)(A1&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0 const&)(A1 const&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0&)(A1 const&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0 const&)(A1&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0&)(A1&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0 const&)(A1 const&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_, run, (A0&)(A1 const&)(A2 const&), 3) - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1 const&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1 const&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1 const&)(A2&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1 const&)(A2&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1&)(A2&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1&)(A2&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1 const&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1 const&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1 const&)(A2&)(A3 const&), 4) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1 const&)(A2&)(A3 const&), 4) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1&)(A2&)(A3 const&), 4) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1&)(A2&)(A3 const&), 4) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1 const&)(A2 const&)(A3 const&), 4) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1 const&)(A2 const&)(A3 const&), 4) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0 const&)(A1&)(A2 const&)(A3 const&), 4) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::run_assign_, run_assign, (A0&)(A1&)(A2 const&)(A3 const&), 4) -} } - -#endif diff --git a/inst/include/boost/simd/dsl/functions/schedule.hpp b/inst/include/boost/simd/dsl/functions/schedule.hpp deleted file mode 100644 index 29c77d1..0000000 --- a/inst/include/boost/simd/dsl/functions/schedule.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_DSL_FUNCTIONS_SCHEDULE_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_SCHEDULE_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - struct schedule_; - struct schedule_assign_; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_schedule_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_schedule_; - - template - BOOST_FORCEINLINE generic_dispatcher dispatching_schedule_assign_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_schedule_assign_; - } - namespace tag - { - struct schedule_ : ext::abstract_ - { - typedef ext::abstract_ parent; - - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_schedule_( ext::adl_helper(), static_cast(args)... ) ) - }; - - struct schedule_assign_ : ext::abstract_ - { - typedef ext::abstract_ parent; - - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_schedule_assign_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - - // Tree + function + top mark - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::schedule_, schedule, (A0&)(A1 const&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::schedule_, schedule, (A0 const&)(A1 const&), 2) - - // Special case assign node - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::schedule_assign_, schedule_assign, (A0&)(A1&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::schedule_assign_, schedule_assign, (A0 const&)(A1&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::schedule_assign_, schedule_assign, (A0 const&)(A1 const&)(A2 const&), 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::schedule_assign_, schedule_assign, (A0&)(A1 const&)(A2 const&), 3) -} } - -#endif diff --git a/inst/include/boost/simd/dsl/functions/terminal.hpp b/inst/include/boost/simd/dsl/functions/terminal.hpp deleted file mode 100644 index 7fb8e88..0000000 --- a/inst/include/boost/simd/dsl/functions/terminal.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_DSL_FUNCTIONS_TERMINAL_HPP_INCLUDED -#define BOOST_SIMD_DSL_FUNCTIONS_TERMINAL_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - struct terminal_; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_terminal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_terminal_; - } - namespace tag - { - struct terminal_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_terminal_( ext::adl_helper(), static_cast(args)... ) ) - - }; - } - - template - BOOST_FORCEINLINE typename boost::dispatch::meta::call::type(Expr const&)>::type - terminal(Expr const& e) - { - return boost::dispatch::functor::type>()(e); - } - - template - BOOST_FORCEINLINE typename boost::dispatch::meta::call::type(Expr&)>::type - terminal(Expr& e) - { - return boost::dispatch::functor::type>()(e); - } -} } - -#endif diff --git a/inst/include/boost/simd/dsl/include/functions/evaluate.hpp b/inst/include/boost/simd/dsl/include/functions/evaluate.hpp deleted file mode 100644 index b279933..0000000 --- a/inst/include/boost/simd/dsl/include/functions/evaluate.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_EVALUATE_HPP_INCLUDED -#define BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_EVALUATE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/dsl/include/functions/optimize.hpp b/inst/include/boost/simd/dsl/include/functions/optimize.hpp deleted file mode 100644 index 3a17717..0000000 --- a/inst/include/boost/simd/dsl/include/functions/optimize.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_OPTIMIZE_HPP_INCLUDED -#define BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_OPTIMIZE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/dsl/include/functions/run.hpp b/inst/include/boost/simd/dsl/include/functions/run.hpp deleted file mode 100644 index fee4079..0000000 --- a/inst/include/boost/simd/dsl/include/functions/run.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_RUN_HPP_INCLUDED -#define BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_RUN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/dsl/include/functions/schedule.hpp b/inst/include/boost/simd/dsl/include/functions/schedule.hpp deleted file mode 100644 index aeb6992..0000000 --- a/inst/include/boost/simd/dsl/include/functions/schedule.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_SCHEDULE_HPP_INCLUDED -#define BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_SCHEDULE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/dsl/include/functions/terminal.hpp b/inst/include/boost/simd/dsl/include/functions/terminal.hpp deleted file mode 100644 index 920b9da..0000000 --- a/inst/include/boost/simd/dsl/include/functions/terminal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_TERMINAL_HPP_INCLUDED -#define BOOST_SIMD_DSL_INCLUDE_FUNCTIONS_TERMINAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/forward/aligned_array.hpp b/inst/include/boost/simd/forward/aligned_array.hpp deleted file mode 100644 index ca058e0..0000000 --- a/inst/include/boost/simd/forward/aligned_array.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_FORWARD_ALIGNED_ARRAY_HPP_INCLUDED -#define BOOST_SIMD_FORWARD_ALIGNED_ARRAY_HPP_INCLUDED - -#include -#include - -#if !defined(DOXYGEN_ONLY) -namespace boost { namespace simd -{ - template< class T - , std::size_t N - , std::size_t Align = (BOOST_SIMD_ARCH_ALIGNMENT > (N*sizeof(T))) - ? meta::prev_power_of_2_c< N*sizeof(T) >::value - : BOOST_SIMD_ARCH_ALIGNMENT - > - struct aligned_array; -} } - -#endif - -#endif diff --git a/inst/include/boost/simd/forward/allocator.hpp b/inst/include/boost/simd/forward/allocator.hpp deleted file mode 100644 index ecb2f1f..0000000 --- a/inst/include/boost/simd/forward/allocator.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_FORWARD_ALLOCATOR_HPP_INCLUDED -#define BOOST_SIMD_FORWARD_ALLOCATOR_HPP_INCLUDED - -#include - -#if !defined(DOXYGEN_ONLY) -namespace boost { namespace simd -{ - template - struct allocator; - - template - struct allocator_adaptor; -} } - -#endif - -#endif diff --git a/inst/include/boost/simd/forward/shifted_iterator.hpp b/inst/include/boost/simd/forward/shifted_iterator.hpp deleted file mode 100644 index 083b6af..0000000 --- a/inst/include/boost/simd/forward/shifted_iterator.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_FORWARD_SHIFTED_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_FORWARD_SHIFTED_ITERATOR_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - template< typename Iterator - , typename Region - , std::size_t C = meta::native_cardinal::value_type>::value - > - struct shifted_iterator; -} } - -#endif diff --git a/inst/include/boost/simd/ieee/constants.hpp b/inst/include/boost/simd/ieee/constants.hpp deleted file mode 100644 index 3534dae..0000000 --- a/inst/include/boost/simd/ieee/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/ieee/functions.hpp b/inst/include/boost/simd/ieee/functions.hpp deleted file mode 100644 index 6a0cb09..0000000 --- a/inst/include/boost/simd/ieee/functions.hpp +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/functions/bitfloating.hpp b/inst/include/boost/simd/ieee/functions/bitfloating.hpp deleted file mode 100644 index be656a6..0000000 --- a/inst/include/boost/simd/ieee/functions/bitfloating.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_BITFLOATING_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_BITFLOATING_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitfloating generic tag - - Represents the bitfloating function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitfloating_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitfloating_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitfloating_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitfloating_; - } - /*! - Transform a pattern of bits stored in an integer value - in a floating point with different formulas according to - the integer sign (converse of bitinteger) - - @par Semantic: - - @code - as_floating r = bitfloating(a0); - @endcode - - is similar to: - - @code - as_floating r = bitwise_cast > - (a0 >=0 ? a0 : Signmask()-a0); - @endcode - - @param a0 - - @return a value of the floating type associated to the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitfloating_, bitfloating, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/bitinteger.hpp b/inst/include/boost/simd/ieee/functions/bitinteger.hpp deleted file mode 100644 index bab910d..0000000 --- a/inst/include/boost/simd/ieee/functions/bitinteger.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_BITINTEGER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_BITINTEGER_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitinteger generic tag - - Represents the bitinteger function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitinteger_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitinteger_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitinteger_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitinteger_; - } - /*! - Transforms a floating point value in a pattern of bits - stored in an integer with different formulas according to - the floating point sign (the converse of bitfloating) - - @par Semantic: - - @code - as_integer r = bitinteger(a0); - @endcode - - is similar to: - - @code - as_integer r = - (is_positive(a0) ? - bitwise_cast>(a0) : - Signmask>()-bitwise_cast>(a0); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitinteger_, bitinteger, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/bitofsign.hpp b/inst/include/boost/simd/ieee/functions/bitofsign.hpp deleted file mode 100644 index 0f75086..0000000 --- a/inst/include/boost/simd/ieee/functions/bitofsign.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_BITOFSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_BITOFSIGN_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief bitofsign generic tag - - Represents the bitofsign function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitofsign_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitofsign_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitofsign_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitofsign_; - } - /*! - Returns a value of the same type as the input - with all bits set to zero - except the bit of sign which is preserved. - Returns always zero for unsigned types - - @par Semantic: - - @code - T r = bitofsign(a0); - @endcode - - for signed types is similar to: - - @code - T r = a0&SignMask; - @endcode - - @see @funcref{sign}, @funcref{signnz} - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitofsign_, bitofsign, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/copysign.hpp b/inst/include/boost/simd/ieee/functions/copysign.hpp deleted file mode 100644 index e43ec63..0000000 --- a/inst/include/boost/simd/ieee/functions/copysign.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_COPYSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_COPYSIGN_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief copysign generic tag - - Represents the copysign function in generic contexts. - - @par Models: - Hierarchy - **/ - struct copysign_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_copysign_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_copysign_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_copysign_; - } - /*! - Returns a0 with the sign of a1 - - @par Semantic: - - @code - T r = copysign(a0,a1); - @endcode - - is similar to: - - @code - T r = (a1 >= 0) ? abs(a0) : -(abs(a0)); - @endcode - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::copysign_, copysign, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/eps.hpp b/inst/include/boost/simd/ieee/functions/eps.hpp deleted file mode 100644 index 6561acc..0000000 --- a/inst/include/boost/simd/ieee/functions/eps.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_EPS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_EPS_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief eps generic tag - - Represents the eps function in generic contexts. - - @par Models: - Hierarchy - **/ - struct eps_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_eps_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_eps_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_eps_; - } - /*! - Except for numbers whose absolute value is smaller than Smallestpositivevalue, - @c eps(x) returns 2^(exponent(x))*Eps - - - @par Semantic: - - @code - T r = eps(a0); - @endcode - - is similar to: - - @code - - if T is floating - r = 2^(exponent(x))*Eps - else if T is integral - r = 1; - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::eps_, eps, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/exponent.hpp b/inst/include/boost/simd/ieee/functions/exponent.hpp deleted file mode 100644 index 8b999b9..0000000 --- a/inst/include/boost/simd/ieee/functions/exponent.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_EXPONENT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_EXPONENT_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief exponent generic tag - - Represents the exponent function in generic contexts. - - @par Models: - Hierarchy - **/ - struct exponent_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_exponent_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_exponent_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_exponent_; - } - /*! - Returns the exponent of the floating input. - \par - - @par Semantic: - - @code - as_integer r = exponent(a0); - @endcode - - is similar to: - - @code - as_integer r = ilogb(a0); - @endcode - - @par Note: - - The sign \f$ \pm \f$ , exponent e and mantissa m of a floating point entry a are related by - \f$a = \pm m\times 2^e\f$, with m between one (included) and two (excluded). - For integral type inputs exponent is always 0 and mantissa reduces to identity. - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::exponent_, exponent, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/exponentbits.hpp b/inst/include/boost/simd/ieee/functions/exponentbits.hpp deleted file mode 100644 index 551ab38..0000000 --- a/inst/include/boost/simd/ieee/functions/exponentbits.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_EXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_EXPONENTBITS_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief exponentbits generic tag - - Represents the exponentbits function in generic contexts. - - @par Models: - Hierarchy - **/ - struct exponentbits_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_exponentbits_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_exponentbits_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_exponentbits_; - } - /*! - Returns the exponent bits of the floating input as an integer value. - the other bits (sign and mantissa) are just masked. - This function is not defined on integral types. - - @par Semantic: - - @code - as_integer r = exponentbits(x); - @endcode - - is similar to - - @code - as_integer r = x&Exponentmask(); - @endcode - - @param a0 - - @return a value of the integral type associated to the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::exponentbits_, exponentbits, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/fast_frexp.hpp b/inst/include/boost/simd/ieee/functions/fast_frexp.hpp deleted file mode 100644 index 30af3a6..0000000 --- a/inst/include/boost/simd/ieee/functions/fast_frexp.hpp +++ /dev/null @@ -1,138 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_FAST_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_FAST_FREXP_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fast_frexp generic tag - - Represents the fast_frexp function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_frexp_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_frexp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_frexp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_frexp_; - } - - /*! - Returns the mantissa and exponent of the input - - @par Semantic: - - @code - tie(m, e) = fast_frexp(x); - @endcode - - is similar to: - - @code - as_integer e = exponent(x)+1; - T m = mantissa(x)/2; - @endcode - - @par Note: - The fast prefix indicates that, for speed consideration, the result may be - incorrect for special values like inf, -inf nan and zero that deserve - special treatment. If you are not sure use @funcref{frexp} at the expense of some - more machine cycles. - - @see @funcref{frexp} - @param a0 Value to decompose - - @return A pair containing the signed mantissa and exponent of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_frexp_, fast_frexp, 1) - - /*! - Returns the mantissa computes the exponent of the input - - @code - m = fast_frexp(x, e); - @endcode - - is similar to: - - @code - as_integer e = exponent(x)+1; - T m = mantissa(x)/2; - @endcode - - @par Note: - - @par Note: - The fast prefix indicates that for speed sake - the result may be incorrect for limiting values: - inf, -inf nan and zero that deserve special treatment. - If you are not sure use @c frexp at the expense - of some more machine cycles. - - @param a0 Value to decompose - @param a1 L-Value that will receive the exponent of @c a0 - @return The mantissa of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::fast_frexp_ - , fast_frexp,(A0 const&)(A1&) - , 2 - ) - - /*! - Computes the mantissa and the exponent of the input - - @code - m = fast_frexp(x, e); - @endcode - - is similar to: - - @code - as_integer e = exponent(x)+1; - T m = mantissa(x)/2; - @endcode - - @par Note: - - @par Note: - The fast prefix indicates that for speed sake - the result may be incorrect for limiting values: - inf, -inf nan and zero that deserve special treatment. - If you are not sure use @c frexp at the expense - of some more machine cycles. - - @param a0 Value to decompose - @param a1 L-Value that will receive the mantissa of @c a0 - @param a2 L-Value that will receive the exponent of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::fast_frexp_ - , fast_frexp,(A0 const&)(A0&)(A1&) - , 2 - ) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/fast_ldexp.hpp b/inst/include/boost/simd/ieee/functions/fast_ldexp.hpp deleted file mode 100644 index 27ea65a..0000000 --- a/inst/include/boost/simd/ieee/functions/fast_ldexp.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_FAST_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_FAST_LDEXP_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief fast_ldexp generic tag - - Represents the fast_ldexp function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_ldexp_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_ldexp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_ldexp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_ldexp_; - } - /*! - The function multiply a floating entry \f$a_0\f$ - by \f$2^{a_1}\f$ - - @par Semantic: - - @code - T r = fast_ldexp(a0,a1); - @endcode - - is similar to: - - @code - T r = a0*pow(2, a1); - @endcode - - @par Note: - The fast prefix indicates that for speed sake - the result may be incorrect for limiting values: - inf, -inf nan and zero that deserve special treatment.If you are not sure use @funcref{ldexp}, at the expense - of some more machine cycles. - - @see @funcref{ldexp} - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_ldexp_, fast_ldexp, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/frac.hpp b/inst/include/boost/simd/ieee/functions/frac.hpp deleted file mode 100644 index eb426fe..0000000 --- a/inst/include/boost/simd/ieee/functions/frac.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_FRAC_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_FRAC_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief frac generic tag - - Represents the frac function in generic contexts. - - @par Models: - Hierarchy - **/ - struct frac_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_frac_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_frac_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_frac_; - } - /*! - This function returns the fractional part of the input - - @par Semantic: - - @code - T r = frac(a0); - @endcode - - is similar to: - - @code - T r = a0-trunc(a0); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::frac_, frac, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/frexp.hpp b/inst/include/boost/simd/ieee/functions/frexp.hpp deleted file mode 100644 index 0ca5a3a..0000000 --- a/inst/include/boost/simd/ieee/functions/frexp.hpp +++ /dev/null @@ -1,150 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_FREXP_HPP_INCLUDED - -/*! - @file - @brief Definition of frexp function -**/ - -#include -#include - -// Fixup for some library defining this a bit liberally -#ifdef frexp -#undef frexp -#endif - -namespace boost { namespace simd -{ - namespace tag - { - /// @brief Hierarchy tag for frexp function - struct frexp_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_frexp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_frexp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_frexp_; - } - - - /*! - Returns the mantissa and exponent of the input - - @par Semantic: - - @code - tie(m, e) = frexp(x); - @endcode - - is similar to: - - @code - as_integer e = exponent(x)+1; - T m = mantissa(x)/2; - @endcode - - @par Note: - - @c frexp splits a floating point value @c v f in its signed mantissa @c m and - exponent @c e so that - - @f$v = m\times 2^e@f$ - - with absolute value of @c m between 0.5 (included) and 1 (excluded) - - @see @funcref{exponent}, @funcref{mantissa} - @param a0 Value to decompose - @return A pair containing the signed mantissa and exponent of @c a0 - - @return The mantissa of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::frexp_, frexp, 1) - - - /*! - Returns the mantissa computes the exponent of the input - - @code - m = frexp(x, e); - @endcode - - is similar to: - - @code - as_integer e = exponent(x)+1; - T m = mantissa(x)/2; - @endcode - - @par Note: - - @c frexp splits a floating point value @c v f in its signed mantissa @c m and - exponent @c e so that - - @f$v = m\times 2^e@f$ - - with absolute value of @c m between 0.5 (included) and 1 (excluded) - - @see @funcref{exponent}, @funcref{mantissa} - @param a0 Value to decompose - @param a1 L-Value that will receive the exponent of @c a0 - @return The mantissa of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::frexp_, frexp - , (A0 const&)(A1&), 2 - ) - - /*! - Computes the mantissa and the exponent of the input - - @code - m = frexp(x, e); - @endcode - - is similar to: - - @code - as_integer e = exponent(x)+1; - T m = mantissa(x)/2; - @endcode - - @par Note: - - @c frexp splits a floating point value @c v f in its signed mantissa @c m and - exponent @c e so that - - @f$v = m\times 2^e@f$ - - with absolute value of @c m between 0.5 (included) and 1 (excluded) - - @see @funcref{exponent}, @funcref{mantissa} - @param a0 Value to decompose - @param a1 L-Value that will receive the mantissa of @c a0 - @param a2 L-Value that will receive the exponent of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::frexp_, frexp - , (A0 const&)(A1&)(A2&), 3 - ) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/generic/frexp.hpp b/inst/include/boost/simd/ieee/functions/generic/frexp.hpp deleted file mode 100644 index c655ba1..0000000 --- a/inst/include/boost/simd/ieee/functions/generic/frexp.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_FREXP_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( frexp_, tag::cpu_ - , (A0)(A2) - , ( boost::is_same - < typename dispatch::meta - ::as_integer::type - , A2 - > - ) - , ((generic_< floating_ >)) - ((generic_< integer_ >)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A2 & a2) const - { - A0 a1; - boost::simd::frexp(a0, a1, a2); - return a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( frexp_, tag::cpu_ - , (A0) - , ((generic_ >)) - ) - { - typedef typename dispatch::meta::as_integer::type exponent; - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - A0 first; - exponent second; - boost::simd::frexp( a0, first, second ); - return result_type(first, second); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/generic/negatenz.hpp b/inst/include/boost/simd/ieee/functions/generic/negatenz.hpp deleted file mode 100644 index 346f144..0000000 --- a/inst/include/boost/simd/ieee/functions/generic/negatenz.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_NEGATENZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_NEGATENZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( negatenz_, tag::cpu_ - , (A0) - , (generic_ >) - (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0*boost::simd::signnz(a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( negatenz_, tag::cpu_ - , (A0) - , (generic_ >) - (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_xor(bitofsign(a1), a0); - } - }; - -} } } -#endif diff --git a/inst/include/boost/simd/ieee/functions/generic/safe_max.hpp b/inst/include/boost/simd/ieee/functions/generic/safe_max.hpp deleted file mode 100644 index 246cec9..0000000 --- a/inst/include/boost/simd/ieee/functions/generic/safe_max.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_SAFE_MAX_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_SAFE_MAX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( safe_max_, tag::cpu_ - , (A0), (generic_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_else(is_nez(a0), Sqrtvalmax()/boost::simd::abs(a0), Inf()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/generic/safe_min.hpp b/inst/include/boost/simd/ieee/functions/generic/safe_min.hpp deleted file mode 100644 index 1db4673..0000000 --- a/inst/include/boost/simd/ieee/functions/generic/safe_min.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_SAFE_MIN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_SAFE_MIN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( safe_min_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return Sqrtsmallestposval()*boost::simd::abs(a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/generic/saturate.hpp b/inst/include/boost/simd/ieee/functions/generic/saturate.hpp deleted file mode 100644 index ccb24ae..0000000 --- a/inst/include/boost/simd/ieee/functions/generic/saturate.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_SATURATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_SATURATE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( saturate_, tag::cpu_ - , (A0)(T) - , (is_same::type, typename meta::scalar_of::type>) - , (generic_< arithmetic_ >) - (target_< generic_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& ) const - { - return a0; - } - }; - - // any->any, only works if target is strictly smaller - // FIXME: is Valmax/Valmin representable with A0 if floating-point? - BOOST_DISPATCH_IMPLEMENT ( saturate_, tag::cpu_ - , (A0)(T) - , (generic_< unspecified_ >) - (target_< generic_< arithmetic_ > >) - ) - { - typedef A0 result_type; - typedef typename meta::scalar_of::type target_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& ) const - { - const A0 vma = splat(Inf()); - const A0 vmi = splat(Minf()); - return min(vma, max(vmi, a0)); - } - }; - - // unsigned->any, only works if target is smaller or equal - // FIXME: is Valmax representable with A0 if floating-point? - BOOST_DISPATCH_IMPLEMENT ( saturate_, tag::cpu_ - , (A0)(T) - , (generic_ >) - (target_< generic_< arithmetic_ > >) - ) - { - typedef A0 result_type; - typedef typename meta::scalar_of::type target_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& ) const - { - const A0 vma = splat(Valmax()); - return min(vma, a0); - } - }; - - // if target is greater or equal and signed->unsigned, just need to check if negative - BOOST_DISPATCH_IMPLEMENT_IF ( saturate_, tag::cpu_ - , (A0)(T) - , (mpl::greater_equal< mpl::sizeof_::type>, mpl::sizeof_::type> >) - , (generic_< int_ >) - (target_< generic_< uint_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& ) const - { - return max(Zero(), a0); - } - }; - - // if target is strictly greater, nothing to saturate - BOOST_DISPATCH_IMPLEMENT_IF ( saturate_, tag::cpu_ - , (A0)(T) - , (mpl::greater< mpl::sizeof_::type>, mpl::sizeof_::type> >) - , (generic_< integer_ >) - (target_< generic_< arithmetic_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& ) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/generic/saturate_at.hpp b/inst/include/boost/simd/ieee/functions/generic/saturate_at.hpp deleted file mode 100644 index 1bee250..0000000 --- a/inst/include/boost/simd/ieee/functions/generic/saturate_at.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_SATURATE_AT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_GENERIC_SATURATE_AT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_G ( boost::simd::tag::saturate_at_ - , tag::cpu_ - , (A0)(Tag) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typename dispatch::make_functor::type callee; - const A0 z = callee( dispatch::meta::as_() ); - return min(z, max(unary_minus(z), a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT_G ( boost::simd::tag::saturate_at_ - , tag::cpu_ - , (A0)(Tag) - , (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typename dispatch::make_functor::type callee; - return min(a0, callee( dispatch::meta::as_() )); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/ilogb.hpp b/inst/include/boost/simd/ieee/functions/ilogb.hpp deleted file mode 100644 index 515f6aa..0000000 --- a/inst/include/boost/simd/ieee/functions/ilogb.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_ILOGB_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ilogb generic tag - - Represents the ilogb function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ilogb_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ilogb_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ilogb_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ilogb_; - } - /*! - This function returns the integer truncation - of the base 2 logarithm of a0. - It coincides with the exponent function - on all platforms supported. - - @par Semantic: - - @code - T r = ilogb(a0); - @endcode - - is similar to: - - @code - T r = toints(log2(a0)); - @endcode - - @see @funcref{exponent} - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ilogb_, ilogb, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/ldexp.hpp b/inst/include/boost/simd/ieee/functions/ldexp.hpp deleted file mode 100644 index 25ae409..0000000 --- a/inst/include/boost/simd/ieee/functions/ldexp.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_LDEXP_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ldexp generic tag - - Represents the ldexp function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ldexp_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ldexp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ldexp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ldexp_; - } - /*! - The function multiply a floating entry \f$a_0\f$ - by \f$2^{a_1}\f$ - - @par Semantic: - - @code - T r = ldexp(a0,a1); - @endcode - - is similar to: - - @code - T r = a0*pow(2, a1); - @endcode - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ldexp_, ldexp, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/mantissa.hpp b/inst/include/boost/simd/ieee/functions/mantissa.hpp deleted file mode 100644 index e82e753..0000000 --- a/inst/include/boost/simd/ieee/functions/mantissa.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_MANTISSA_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_MANTISSA_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief mantissa generic tag - - Represents the mantissa function in generic contexts. - - @par Models: - Hierarchy - **/ - struct mantissa_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mantissa_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mantissa_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mantissa_; - } - /*! - Returns the signed mantissa of the floating input. - \par - The exponent e and signed mantissa m of a floating point entry a are related by - \f$a = m\times 2^e\f$, with the absolute value of m between one (included) ans two (excluded) - - @par Semantic: - - @code - T r = mantissa(a0); - @endcode - - is similar to: - - @code - T r = a0*pow(2, -exponent(a0)); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mantissa_, mantissa, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/maxmag.hpp b/inst/include/boost/simd/ieee/functions/maxmag.hpp deleted file mode 100644 index be05922..0000000 --- a/inst/include/boost/simd/ieee/functions/maxmag.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_MAXMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_MAXMAG_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief maxmag generic tag - - Represents the maxmag function in generic contexts. - - @par Models: - Hierarchy - **/ - struct maxmag_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_maxmag_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_maxmag_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_maxmag_; - } - /*! - Returns the input value which have the greatest absolute value. - - @par Semantic: - - @code - T r = maxmag(a0,a1); - @endcode - - is similar to: - - @code - T r = abs(a0) > abs(a1) ? a0 : abs(a1) > abs(a0) ? a1 : max(a0, a1); - @endcode - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::maxmag_, maxmag, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/maxnum.hpp b/inst/include/boost/simd/ieee/functions/maxnum.hpp deleted file mode 100644 index 1bfbb53..0000000 --- a/inst/include/boost/simd/ieee/functions/maxnum.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_MAXNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_MAXNUM_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief maxnum generic tag - - Represents the maxnum function in generic contexts. - - @par Models: - Hierarchy - **/ - struct maxnum_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_maxnum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_maxnum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_maxnum_; - } - /*! - Returns the maximum value, ignoring nans. - - @par Semantic: - - @code - T r = maxnum(a0,a1); - @endcode - - is similar to: - - @code - T r = (is_nan(a0) ? a1 : (isnan(a1) ? a0 : max(a0, a1)); - @endcode - - @par Alias: - @c fmax - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::maxnum_, maxnum, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::maxnum_, fmax, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/maxnummag.hpp b/inst/include/boost/simd/ieee/functions/maxnummag.hpp deleted file mode 100644 index 8eb387c..0000000 --- a/inst/include/boost/simd/ieee/functions/maxnummag.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_MAXNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_MAXNUMMAG_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief maxnummag generic tag - - Represents the maxnummag function in generic contexts. - - @par Models: - Hierarchy - **/ - struct maxnummag_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_maxnummag_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_maxnummag_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_maxnummag_; - } - /*! - Returns the input value which have the greatest absolute value, ignoring nan. - - @par Semantic: - - @code - T r = maxnummag(a0,a1); - @endcode - - is similar to: - - @code - T r = isnan(a0) ? a1 : (isnan(a1) ? a0 : maxmag(a0, a1)); - @endcode - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::maxnummag_, maxnummag, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/minmag.hpp b/inst/include/boost/simd/ieee/functions/minmag.hpp deleted file mode 100644 index 32dadaa..0000000 --- a/inst/include/boost/simd/ieee/functions/minmag.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_MINMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_MINMAG_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief minmag generic tag - - Represents the minmag function in generic contexts. - - @par Models: - Hierarchy - **/ - struct minmag_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_minmag_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_minmag_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_minmag_; - } - /*! - Returns the input value which have the least absolute value. - - @par Semantic: - - @code - T r = minmag(a0,a1); - @endcode - - is similar to: - - @code - T r = abs(a0) < abs(a1) ? a0 : abs(a1) < abs(a0) ? a1 : min(a0, a1); - @endcode - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minmag_, minmag, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/minnum.hpp b/inst/include/boost/simd/ieee/functions/minnum.hpp deleted file mode 100644 index 72bd115..0000000 --- a/inst/include/boost/simd/ieee/functions/minnum.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_MINNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_MINNUM_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief minnum generic tag - - Represents the minnum function in generic contexts. - - @par Models: - Hierarchy - **/ - struct minnum_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_minnum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_minnum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_minnum_; - } - /*! - Returns the minimum value, ignoring nans. - - @par Semantic: - - @code - T r = minnum(a0,a1); - @endcode - - is similar to: - - @code - T r = T r = (is_nan(a0) ? a1 : (isnan(a1) ? a0 : min(a0, a1));; - @endcode - - @par Alias: - @c fmin - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minnum_, minnum, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minnum_, fmin, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/minnummag.hpp b/inst/include/boost/simd/ieee/functions/minnummag.hpp deleted file mode 100644 index 8b10129..0000000 --- a/inst/include/boost/simd/ieee/functions/minnummag.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_MINNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_MINNUMMAG_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief minnummag generic tag - - Represents the minnummag function in generic contexts. - - @par Models: - Hierarchy - **/ - struct minnummag_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_minnummag_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_minnummag_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_minnummag_; - } - /*! - Returns the input value which have the least absolute value, ignoring nan. - - @par Semantic: - - @code - T r = minnummag(a0,a1); - @endcode - - is similar to: - - @code - T r = isnan(a0) ? a1 : (isnan(a1) ? a0 : minmag(a0, a1));; - @endcode - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minnummag_, minnummag, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/modf.hpp b/inst/include/boost/simd/ieee/functions/modf.hpp deleted file mode 100644 index db9cf6f..0000000 --- a/inst/include/boost/simd/ieee/functions/modf.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_MODF_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_MODF_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief modf generic tag - - Represents the modf function in generic contexts. - - @par Models: - Hierarchy - **/ - struct modf_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_modf_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_modf_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_modf_; - } - /*! - Returns the integer and the fractionnal part of the input - - @par Semantic: - - @code - tie(t, f) = modf(x); - @endcode - - is similar to: - - @code - T t = trunc(x); - T r = frac(x); - @endcode - - @param a0 Value to decompose - - @return A pair containing the integer and fractionnal part of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::modf_, modf, 1) - - /*! - Computes the integer and the fractionnal part of the input - - @par Semantic: - - @code - f = modf(x, t); - @endcode - - is similar to: - - @code - T t = trunc(x); - T f = frac(x); - @endcode - - @param a0 Value to decompose - @param a1 L-Value that will receive the fractionnal part of a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::modf_, modf,(A0 const&)(A1&),2) - /*! - Computes the integer and the fractionnal part of the input - - @par Semantic: - - @code - modf(x, t, f); - @endcode - - is similar to: - - @code - T t = trunc(x); - T f = frac(x); - @endcode - - @param a0 Value to decompose - @param a1 L-Value that will receive the fractionnal part of @c a0 - @param a2 L-Value that will receive the integer part of @c a0 - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::modf_, modf,(A0 const&)(A1&)(A1&),2) - - -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/negate.hpp b/inst/include/boost/simd/ieee/functions/negate.hpp deleted file mode 100644 index 416c84e..0000000 --- a/inst/include/boost/simd/ieee/functions/negate.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_NEGATE_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief negate generic tag - - Represents the negate function in generic contexts. - - @par Models: - Hierarchy - **/ - struct negate_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_negate_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_negate_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_negate_; - } - /*! - Retuns the first element negated is the the scond is less than 0 - - @par Semantic: - - @code - T r = negate(a0,a1); - @endcode - - is similar to: - - @code - T r = a0*sign(a1); - @endcode - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::negate_, negate, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/negatenz.hpp b/inst/include/boost/simd/ieee/functions/negatenz.hpp deleted file mode 100644 index d7e796b..0000000 --- a/inst/include/boost/simd/ieee/functions/negatenz.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_NEGATENZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_NEGATENZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief negatenz generic tag - - Represents the negatenz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct negatenz_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_negatenz_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_negatenz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_negatenz_; - } - /*! - Returns a0 multiplied by the signnz of a1 - The result is unspecified if a1 is NaN - - @par Semantic: - - @code - T r = negatenz(a0,a1); - @endcode - - is similar to: - - @code - T r = a0*signnz(a1) - @endcode - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::negatenz_, negatenz, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/next.hpp b/inst/include/boost/simd/ieee/functions/next.hpp deleted file mode 100644 index e1ca0bb..0000000 --- a/inst/include/boost/simd/ieee/functions/next.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_NEXT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_NEXT_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief next generic tag - - Represents the next function in generic contexts. - - @par Models: - Hierarchy - **/ - struct next_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_next_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_next_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_next_; - } - /*! - Returns the smallest element strictly greater than the parameter - - @par Semantic: - - @code - T r = next(a0); - @endcode - - computes the smallest value strictly greater than a0 in type T - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::next_, next, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/nextafter.hpp b/inst/include/boost/simd/ieee/functions/nextafter.hpp deleted file mode 100644 index 32566b1..0000000 --- a/inst/include/boost/simd/ieee/functions/nextafter.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_NEXTAFTER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_NEXTAFTER_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief nextafter generic tag - - Represents the nextafter function in generic contexts. - - @par Models: - Hierarchy - **/ - struct nextafter_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_nextafter_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_nextafter_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_nextafter_; - } - /*! - Returns the next element in the a1 direction. - \par - rg if a1 is greater than a0 this is next(a0) - rg if a1 is equal to a0 this is a0 - rg if a1 is less than a0 this is prev(a0) - - @par Semantic: - - @code - T r = nextafter(x, y); - @endcode - - is similar to: - - @code - if (y > x) r = next(a0); - else if (y == x) r = a0; - else if (y < x) r = prev(a0); - @endcode - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::nextafter_, nextafter, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/nextpow2.hpp b/inst/include/boost/simd/ieee/functions/nextpow2.hpp deleted file mode 100644 index e02140a..0000000 --- a/inst/include/boost/simd/ieee/functions/nextpow2.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_NEXTPOW2_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_NEXTPOW2_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief nextpow2 generic tag - - Represents the nextpow2 function in generic contexts. - - @par Models: - Hierarchy - **/ - struct nextpow2_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_nextpow2_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_nextpow2_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_nextpow2_; - } - /*! - Returns the least n such that abs(x) is less or equal to \f$2^n\f$ - - @par Semantic: - - @code - T r = nextpow2(a0); - @endcode - - is similar to: - - @code - T n = ceil(log2(abs(x)x)); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::nextpow2_, nextpow2, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/predecessor.hpp b/inst/include/boost/simd/ieee/functions/predecessor.hpp deleted file mode 100644 index f4738ca..0000000 --- a/inst/include/boost/simd/ieee/functions/predecessor.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_PREDECESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_PREDECESSOR_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief predecessor generic tag - - Represents the predecessor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct predecessor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_predecessor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_predecessor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_predecessor_; - } - /*! - With one parameter it is equivalent to \c prev - It is in the type \c A0, the greatest \c A0 elementwise strictly less than \c a0. - \par - With two parameters, the second is an integer value \c n - and the result is equivalent to applying \c prev \c abs(n) times to \c a0. - - @par Semantic: - - @code - T r = predecessor(x); - @endcode - - computes the greatest value strictly less than x in its type - - @param a0 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::predecessor_, predecessor, 1) - /*! - Returns the n-th greatest element strictly less than the parameter - - @par Semantic: - - @code - T r = predecessor(x,n); - @endcode - - computes the @c n-th greatest value strictly less than x in its type. - n must be positive or null. - For integer it saturate at Valmin, for floating point numbers Minf - strict predecessors are Nan - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::predecessor_, predecessor, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/prev.hpp b/inst/include/boost/simd/ieee/functions/prev.hpp deleted file mode 100644 index 9ea47d5..0000000 --- a/inst/include/boost/simd/ieee/functions/prev.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_PREV_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_PREV_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief prev generic tag - - Represents the prev function in generic contexts. - - @par Models: - Hierarchy - **/ - struct prev_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_prev_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_prev_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_prev_; - } - /*! - in the type A0 of a0, the greatest A0 strictly less than a0 - - @par Semantic: - - @code - T r = prev(a0); - @endcode - - computes the greatest value strictly less than a0 in type T - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::prev_, prev, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/safe_max.hpp b/inst/include/boost/simd/ieee/functions/safe_max.hpp deleted file mode 100644 index 523a9b9..0000000 --- a/inst/include/boost/simd/ieee/functions/safe_max.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SAFE_MAX_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SAFE_MAX_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief safe_max generic tag - - Represents the safe_max function in generic contexts. - - @par Models: - Hierarchy - **/ - struct safe_max_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_safe_max_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_safe_max_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_safe_max_; - } - /*! - Returns a safe_max relative to the input, i.e. a - value which will not overflow when multiplied by the input. - - @par Semantic: - - @code - T r = safe_max(a0); - @endcode - - is similar to: - - @code - T r = x ? Sqrtvalmax()/abs(x) : Inf(); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::safe_max_, safe_max, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/safe_min.hpp b/inst/include/boost/simd/ieee/functions/safe_min.hpp deleted file mode 100644 index 40188ce..0000000 --- a/inst/include/boost/simd/ieee/functions/safe_min.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SAFE_MIN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SAFE_MIN_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief safe_min generic tag - - Represents the safe_min function in generic contexts. - - @par Models: - Hierarchy - **/ - struct safe_min_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_safe_min_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_safe_min_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_safe_min_; - } - /*! - Returns a safe mininimal value relative to the input, i.e. a - value which will not underflow when divided by the input. - - @par Semantic: - - @code - T r = safe_min(x); - @endcode - - is similar to: - - @code - T r = x ? Sqrtsmallestposval()*abs(x); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::safe_min_, safe_min, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/saturate.hpp b/inst/include/boost/simd/ieee/functions/saturate.hpp deleted file mode 100644 index 1fc9f24..0000000 --- a/inst/include/boost/simd/ieee/functions/saturate.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SATURATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SATURATE_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief saturate generic tag - - Represents the saturate function in generic contexts. - - @par Models: - Hierarchy - **/ - struct saturate_ : ext::elementwise_ - { - /// @brief parent Hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_saturate_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_saturate_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_saturate_; - } - - /*! - - Saturate a value of type @c T with the limit values of type @c S. - - @par Semantic: - - @code - T r = saturate(x, as_()) - @endcode - - is similar to: - - @code - if (a0 > Inf()) r = T(Inf()); - else if (a0 < Minf()) r = T(Minf()); - else r = a0; - @endcode - - @par Note: - Note that the functor is only valid if conceptually the type S is included in type T - (or the contrary but this case leads to identity) - - @param a0 Value to saturate - @param a1 Type specifier of the saturation limit - - @return The input value saturated on limit of the type specifier - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::saturate_, saturate, 2) - - /*! - Returns the saturated value of the first input in the template parameter type, - but in the same type as the input. - - @par Semantic: - - @code - T r = saturate(x) - @endcode - - is similar to: - - @code - if (a0 > Inf()) r = T(Inf()); - else if (a0 < Minf()) r = T(Minf()); - else r = a0; - @endcode - - @param a0 - - @return a value of same type as the inputs - **/ - template BOOST_FORCEINLINE - typename boost::dispatch::meta:: - call< tag::saturate_( A0 const& - , boost::dispatch::meta::as_ - ) - >::type - saturate(A0 const& a0) - { - typename boost::dispatch::make_functor::type callee; - return callee(a0,boost::dispatch::meta::as_()); - } -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/saturate_at.hpp b/inst/include/boost/simd/ieee/functions/saturate_at.hpp deleted file mode 100644 index 0e9da48..0000000 --- a/inst/include/boost/simd/ieee/functions/saturate_at.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SATURATE_AT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SATURATE_AT_HPP_INCLUDED - -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief eps generic tag - - Represents the saturate_at function in generic contexts. - - @par Models: - Hierarchy - **/ - template - struct saturate_at_ : ext::elementwise_< saturate_at_ > - { - /// @brief Parent hierarchy - typedef ext::elementwise_< saturate_at_ > parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_HEADER( dispatching( ext::adl_helper(), *(saturate_at_*)0, static_cast(args)... ) ) - { - return dispatching( ext::adl_helper(), saturate_at_(), static_cast(args)... ); - } - }; - } - /*! - Returns the saturated value of the first input relative to the symmetric - interval defined by the template parameter which has to be the tag of - a constant. - - @par Semantic: - - @code - T r = saturate (x) - @endcode - - is similar to: - - @code - if (a0 > Tag()) r = Tag(); - else if (a0 < -Tag()) r = -Tag() ; - else r = a0; - @endcode - - @param a0 - - @return a value of same type as the inputs - **/ - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::saturate_at_ - , saturate_at - , (A1 const&) - , 2 - ) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/sbits.hpp b/inst/include/boost/simd/ieee/functions/sbits.hpp deleted file mode 100644 index 5c0345c..0000000 --- a/inst/include/boost/simd/ieee/functions/sbits.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SBITS_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief sbits generic tag - - Represents the sbits function in generic contexts. - - @par Models: - Hierarchy - **/ - struct sbits_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sbits_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sbits_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sbits_; - } - /*! - Returns signed integer value which has the same bits of the input - - @par Semantic: - - @code - T r = sbits(x); - @endcode - - is similar to: - - @code - T r = bitwise_cast>(x); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sbits_, sbits, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/bitfloating.hpp b/inst/include/boost/simd/ieee/functions/scalar/bitfloating.hpp deleted file mode 100644 index 2f52f41..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/bitfloating.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_BITFLOATING_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_BITFLOATING_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitfloating_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0 >= Zero() ? - bitwise_cast(a0) : - bitwise_cast(Signmask()-a0); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is unsigned -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT ( bitfloating_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef typename dispatch::meta::as_floating::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::bitwise_cast(a0); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/bitinteger.hpp b/inst/include/boost/simd/ieee/functions/scalar/bitinteger.hpp deleted file mode 100644 index 4ef013e..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/bitinteger.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_BITINTEGER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_BITINTEGER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitinteger_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_positive(a0) ? - bitwise_cast(a0) : - Signmask()-bitwise_cast(a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/bitofsign.hpp b/inst/include/boost/simd/ieee/functions/scalar/bitofsign.hpp deleted file mode 100644 index b142d16..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/bitofsign.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_BITOFSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_BITOFSIGN_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitofsign_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::b_and(a0, boost::simd::Signmask()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitofsign_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::b_and(a0, boost::simd::Mzero()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/copysign.hpp b/inst/include/boost/simd/ieee/functions/scalar/copysign.hpp deleted file mode 100644 index 9b92bf6..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/copysign.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_COPYSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_COPYSIGN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( copysign_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::abss(a0)*boost::simd::signnz(a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( copysign_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - (scalar_< double_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - #ifdef BOOST_SIMD_HAS_COPYSIGN - return ::copysign(a0, a1); - // _copysign appears to be bogus for a1 = -0 in old MSVCRT - #elif defined(BOOST_SIMD_HAS__COPYSIGN) && !defined(__MSVCRT__) - return ::_copysign(a0, a1); - #else - return boost::math::copysign(a0, a1); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( copysign_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - (scalar_< single_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - #ifdef BOOST_SIMD_HAS_COPYSIGNF - return ::copysignf(a0, a1); - #elif defined(BOOST_SIMD_HAS__COPYSIGNF) - return ::_copysignf(a0, a1); - #else - return boost::math::copysign(a0, a1); - #endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/eps.hpp b/inst/include/boost/simd/ieee/functions/scalar/eps.hpp deleted file mode 100644 index b48d465..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/eps.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_EPS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_EPS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( eps_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const &)const - { - return One(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( eps_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef std::numeric_limits lim; - const A0 a = boost::simd::abs(a0); - if (is_not_finite(a)) - { - return Nan(); - } - else if (a < lim::min()) - { - return Mindenormal(); - } - else - { -// return boost::simd::fast_ldexp(One(), exponent(a)-lim::digits+1); - typedef typename dispatch::meta::as_integer::type int_type; - int_type e1 = exponent(a)-lim::digits+1; - return bitwise_cast(bitwise_cast(One())+(e1 << Nbmantissabits())); - } - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/exponent.hpp b/inst/include/boost/simd/ieee/functions/scalar/exponent.hpp deleted file mode 100644 index a61a1a0..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/exponent.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_EXPONENT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_EXPONENT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( exponent_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE result_type operator()(A0) const - { - return Zero(); - } - }; - -#ifdef BOOST_SIMD_HAS_ILOGB - BOOST_DISPATCH_IMPLEMENT ( exponent_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - if (is_invalid(a0) || is_eqz(a0)) return Zero(); - return ::ilogb(a0); - } - }; -#endif - -#ifdef BOOST_SIMD_HAS_ILOGBF - BOOST_DISPATCH_IMPLEMENT ( exponent_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - if (is_invalid(a0) || is_eqz(a0)) return Zero(); - return ::ilogbf(a0); - } - }; -#endif - - BOOST_DISPATCH_IMPLEMENT ( exponent_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - if (is_invalid(a0) || is_eqz(a0)) return Zero(); - const int nmb = int(Nbmantissabits()); - const result_type x = shri(exponentbits(a0), nmb); - return x-if_else_zero(a0, Maxexponent()); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/exponentbits.hpp b/inst/include/boost/simd/ieee/functions/scalar/exponentbits.hpp deleted file mode 100644 index e27aabe..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/exponentbits.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_EXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_EXPONENTBITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( exponentbits_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return b_and((2*Maxexponent()+1)<(), a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/fast_frexp.hpp b/inst/include/boost/simd/ieee/functions/scalar/fast_frexp.hpp deleted file mode 100644 index 5ab9fb2..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/fast_frexp.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_FAST_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_FAST_FREXP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( fast_frexp_, tag::cpu_ - , (A0)(A2) - , ( boost::is_same - < typename dispatch::meta:: - as_integer::type - , A2 - > - ) - , (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A2 & a2) const - { - A0 a1; - fast_frexp(a0, a1, a2); - return a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( fast_frexp_, tag::cpu_ - , (A0)(A1) - , ( boost::is_same - < typename dispatch::meta:: - as_integer::type - , A1 - > - ) - , (scalar_< floating_ >) - (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 & r0,A1 & r1) const - { - typedef typename meta::scalar_of::type s_type; - - r1 = simd::bitwise_cast(b_and(Mask1frexp(), a0)); - A0 x = b_andnot(a0, Mask1frexp()); - r1 = shr(r1,Nbmantissabits()) - Maxexponentm1(); - r0 = b_or(x,Mask2frexp()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_frexp_, tag::cpu_ - , (A0) - , (scalar_ < floating_ > ) - ) - { - typedef typename dispatch::meta::as_integer::type exponent; - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - A0 first; - exponent second; - boost::simd::fast_frexp(a0, first, second); - return result_type(first, second); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/fast_ldexp.hpp b/inst/include/boost/simd/ieee/functions/scalar/fast_ldexp.hpp deleted file mode 100644 index 71849d5..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/fast_ldexp.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_FAST_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_FAST_LDEXP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_ldexp_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return (a1>=0)?(a0<>a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_ldexp_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >)(scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename meta::scalar_of::type sA0; - typedef typename dispatch::meta::as_integer::type iA0; - iA0 ik = a1+Maxexponent(); - ik = shl(ik, Nbmantissabits()); - return a0*bitwise_cast(ik); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/frac.hpp b/inst/include/boost/simd/ieee/functions/scalar/frac.hpp deleted file mode 100644 index c29581a..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/frac.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_FRAC_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_FRAC_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( frac_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const &)const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( frac_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0-boost::simd::trunc(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/frexp.hpp b/inst/include/boost/simd/ieee/functions/scalar/frexp.hpp deleted file mode 100644 index fe8e062..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/frexp.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_FREXP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_DENORMALS -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( frexp_ - , tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >) - (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0,A0 & r0,A1& r1) const - { - if (a0 == 0 || is_invalid(a0)) - { - r0 = a0; - r1 = Zero(); - } - else - { - typedef typename dispatch::meta::as_integer::type int_type; - r1 = simd::bitwise_cast(b_and(Mask1frexp(), a0)); // extract exp. -#ifndef BOOST_SIMD_NO_DENORMALS - A1 t = Zero(); - if(is_eqz(r1)) // denormal - { - a0 *= Twotonmb(); - r1 = simd::bitwise_cast(b_and(Mask1frexp(), a0)); // extract exp. again - t = Nbmantissabits(); - } -#endif - A0 x = b_andnot(a0, Mask1frexp()); // clear exp. in a0 - r1 = shri(r1,Nbmantissabits())- Maxexponentm1(); // compute exp. - if (r1 > Limitexponent()) - { - r1 = 0; - r0 = a0; - return; - } - r0 = b_or(x,Mask2frexp()); // insert exp.+1 in x -#ifndef BOOST_SIMD_NO_DENORMALS - r1 -= t; -#endif - } - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/ilogb.hpp b/inst/include/boost/simd/ieee/functions/scalar/ilogb.hpp deleted file mode 100644 index 0ca8d6b..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/ilogb.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_ILOGB_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ilogb_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename boost::dispatch::meta::as_floating::type type; - return boost::simd::ilogb(type(a0)); - } - }; - -#ifdef BOOST_SIMD_HAS_ILOGB - BOOST_DISPATCH_IMPLEMENT ( ilogb_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_gtz(a0)? ::ilogb(a0) : Zero(); - } - }; -#endif - -#ifdef BOOST_SIMD_HAS_ILOGBF - BOOST_DISPATCH_IMPLEMENT ( ilogb_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_gtz(a0)? ::ilogbf(a0) : Zero(); - } - }; -#endif - - BOOST_DISPATCH_IMPLEMENT ( ilogb_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_gtz(a0)? boost::simd::exponent(a0) : Zero(); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/ldexp.hpp b/inst/include/boost/simd/ieee/functions/scalar/ldexp.hpp deleted file mode 100644 index c947046..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/ldexp.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_LDEXP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_DENORMALS -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ldexp_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return (a1>0)?(a0<>a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ldexp_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - typedef typename dispatch::meta::as_integer::type iA0; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - iA0 e = a1; - A0 f = One(); -#ifndef BOOST_SIMD_NO_DENORMALS - if (BOOST_UNLIKELY((e < meta::constant_value::value))) - { - e -= Minexponent(); - f = Smallestposval(); - } -#endif - iA0 b = (e == Limitexponent()); - f += A0(b); - e -= b; - e += Maxexponent(); - e = shl(e, Nbmantissabits()); - return a0*bitwise_cast(e)*f; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/mantissa.hpp b/inst/include/boost/simd/ieee/functions/scalar/mantissa.hpp deleted file mode 100644 index 0b89dd6..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/mantissa.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MANTISSA_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MANTISSA_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_INVALIDS -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mantissa_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mantissa_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - if(!a0) return a0; - #ifndef BOOST_SIMD_NO_INVALIDS - if(is_invalid(a0)) return a0; - #endif - return b_or(b_and(a0,Mantissamask()),One()); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/maxmag.hpp b/inst/include/boost/simd/ieee/functions/scalar/maxmag.hpp deleted file mode 100644 index 0164840..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/maxmag.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MAXMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MAXMAG_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( maxmag_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 aa0 = abs(a0); - A0 aa1 = abs(a1); - return aa0 > aa1 ? a0 : aa1 > aa0 ? a1 : max(a0, a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/maxnum.hpp b/inst/include/boost/simd/ieee/functions/scalar/maxnum.hpp deleted file mode 100644 index bb7badc..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/maxnum.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MAXNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MAXNUM_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( maxnum_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return boost::simd::max(a0, a1); } - }; - - BOOST_DISPATCH_IMPLEMENT ( maxnum_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (is_nan(a0)) return a1; - else return boost::simd::max(a1, a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/maxnummag.hpp b/inst/include/boost/simd/ieee/functions/scalar/maxnummag.hpp deleted file mode 100644 index 48ebf7a..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/maxnummag.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MAXNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MAXNUMMAG_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( maxnummag_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return maxmag(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( maxnummag_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (is_nan(a0)) - return a1; - return maxmag(a1, a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/minmag.hpp b/inst/include/boost/simd/ieee/functions/scalar/minmag.hpp deleted file mode 100644 index 525cfed..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/minmag.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MINMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MINMAG_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minmag_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 aa0 = abs(a0); - A0 aa1 = abs(a1); - return aa0 < aa1 ? a0 : aa1 < aa0 ? a1 : min(a0, a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/minnum.hpp b/inst/include/boost/simd/ieee/functions/scalar/minnum.hpp deleted file mode 100644 index a582a1a..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/minnum.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MINNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MINNUM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minnum_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::min(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minnum_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (is_nan(a0)) return a1; - else return boost::simd::min(a1, a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/minnummag.hpp b/inst/include/boost/simd/ieee/functions/scalar/minnummag.hpp deleted file mode 100644 index 27e9991..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/minnummag.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MINNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MINNUMMAG_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minnummag_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return minmag(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minnummag_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - if (is_nan(a0)) - return a1; - return minmag(a1, a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/modf.hpp b/inst/include/boost/simd/ieee/functions/scalar/modf.hpp deleted file mode 100644 index ff47176..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/modf.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MODF_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_MODF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( modf_, tag::cpu_ - , (A0) - , (scalar_ < arithmetic_ > ) - (scalar_ < arithmetic_ > ) - (scalar_ < arithmetic_ > ) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 & frac,A0 & ent) const - { - ent = boost::simd::trunc(a0); - frac = a0 - ent; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( modf_, tag::cpu_ - , (A0) - , (scalar_ < arithmetic_ > ) - (scalar_ < arithmetic_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE A0 operator()(A0 const& a0,A0 & ent) const - { - result_type frac; - boost::simd::modf(a0,frac,ent); - return frac; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( modf_, tag::cpu_ - , (A0) - , (scalar_ < arithmetic_ > ) - ) - { - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - A0 first, second; - boost::simd::modf(a0, first, second); - return result_type(first, second); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/negate.hpp b/inst/include/boost/simd/ieee/functions/scalar/negate.hpp deleted file mode 100644 index aa3b38d..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/negate.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_NEGATE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( negate_, tag::cpu_ - , (A0) - , (scalar_< signed_ >) - (scalar_< signed_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0*sign(a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( negate_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return bool(is_nez(a1))*a0; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/next.hpp b/inst/include/boost/simd/ieee/functions/scalar/next.hpp deleted file mode 100644 index deeaa9a..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/next.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_NEXT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_NEXT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( next_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return inc(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( next_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::nextafter(a0, boost::simd::Inf()); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/nextafter.hpp b/inst/include/boost/simd/ieee/functions/scalar/nextafter.hpp deleted file mode 100644 index 99c5b07..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/nextafter.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_NEXTAFTER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_NEXTAFTER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// workaround for boost.math bug #5823 -namespace boost { namespace simd { namespace details -{ - template - BOOST_FORCEINLINE T nextafter(T a0, T a1) - { - if(a0 > a1 && a0 == Inf()) - return Valmax(); - if(a0 < a1 && a0 == Minf()) - return Valmin(); - - using namespace boost::math::policies; - typedef policy< - domain_error, - pole_error, - overflow_error, - evaluation_error, - rounding_error - > c_policy; - - return boost::math::nextafter(a0, a1, c_policy()); - } -} - -namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nextafter_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0+sign(a1-a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nextafter_, tag::cpu_ - , (A0) - , (scalar_< double_ >)(scalar_< double_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - #ifdef BOOST_SIMD_HAS_NEXTAFTER - return ::nextafter(a0, a1); - #elif defined(BOOST_SIMD_HAS__NEXTAFTER) - return ::_nextafter(a0, a1); - #else - return details::nextafter(a0, a1); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nextafter_, tag::cpu_ - , (A0) - , (scalar_< single_ >)(scalar_< single_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - #ifdef BOOST_SIMD_HAS_NEXTAFTERF - return ::nextafterf(a0, a1); - #elif defined(BOOST_SIMD_HAS__NEXTAFTERF) - return ::_nextafterf(a0, a1); - #else - return details::nextafter(a0, a1); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nextafter_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >)(scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a1 == a0) ? a0 : (a1 > a0) ? oneplus(a0) : minusone(a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/nextpow2.hpp b/inst/include/boost/simd/ieee/functions/scalar/nextpow2.hpp deleted file mode 100644 index 2ed986e..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/nextpow2.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_NEXTPOW2_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_NEXTPOW2_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nextpow2_, tag::cpu_ - , (A0) - , (scalar_ < arithmetic_ > ) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::nextpow2(tofloat(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nextpow2_, tag::cpu_ - , (A0) - , (scalar_ < floating_ > ) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - A0 m; - result_type p; - boost::simd::frexp(boost::simd::abs(a0), m, p); - return (m == Half()) ? minusone(p) : p; - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/predecessor.hpp b/inst/include/boost/simd/ieee/functions/scalar/predecessor.hpp deleted file mode 100644 index 735ecea..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/predecessor.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_PREDECESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_PREDECESSOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( predecessor_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - BOOST_ASSERT_MSG(is_gez(a1), "predecessor rank must be non negative"); - if (Valmin()+a1 > a0) return Valmin(); - return a0-a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( predecessor_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return minusone(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( predecessor_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type itype; - BOOST_ASSERT_MSG(is_gez(a1), "predecessor rank must be non negative"); - if (is_nan(a0)) return a0; - return bitfloating(subs(bitinteger(a0), itype(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( predecessor_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - if (is_nan(a0)) return a0; - return bitfloating(minusone(bitinteger(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/prev.hpp b/inst/include/boost/simd/ieee/functions/scalar/prev.hpp deleted file mode 100644 index 764f31a..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/prev.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_PREV_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_PREV_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( prev_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return dec(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( prev_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return nextafter(a0, Minf()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/sbits.hpp b/inst/include/boost/simd/ieee/functions/scalar/sbits.hpp deleted file mode 100644 index 7463385..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/sbits.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_SBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_SBITS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sbits_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::bitwise_cast(a0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/sign.hpp b/inst/include/boost/simd/ieee/functions/scalar/sign.hpp deleted file mode 100644 index 5183d66..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/sign.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_SIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_SIGN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_NANS -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sign_, tag::cpu_ - , (A0) - , (scalar_< signed_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_one_else_zero(is_gtz(a0))-if_one_else_zero(is_ltz(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sign_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return !!a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sign_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - A0 r = bool(is_gtz(a0))-bool(is_ltz(a0)); - #ifdef BOOST_SIMD_NO_NANS - return r; - #else - return is_nan(a0) ? a0 : r; - #endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/signnz.hpp b/inst/include/boost/simd/ieee/functions/scalar/signnz.hpp deleted file mode 100644 index 59116af..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/signnz.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_SIGNNZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_SIGNNZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( signnz_, tag::cpu_ - , (A0) - , (scalar_< signed_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return (a0>>(sizeof(A0)*8-2)) | 1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( signnz_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return One(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( signnz_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - #ifndef BOOST_SIMD_NO_NANS - return is_nan(a0) ? a0 : b_or(One(), b_and(Signmask(), a0)); - #else - return b_or(One(), b_and(Signmask(), a0)); - #endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/successor.hpp b/inst/include/boost/simd/ieee/functions/scalar/successor.hpp deleted file mode 100644 index c1a0903..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/successor.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_SUCCESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_SUCCESSOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( successor_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return oneplus(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( successor_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - if (is_nan(a0)) return a0; - return bitfloating(oneplus(bitinteger(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( successor_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - BOOST_ASSERT_MSG(is_gez(a1), "predecessor rank must be non negative"); - if (Valmax()-a1 < a0) return Valmax(); - return a0+a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( successor_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(is_gez(a1), "predecessor rank must be non negative"); - typedef typename dispatch::meta::as_integer::type itype; - if (is_nan(a0)) return a0; - return bitfloating(adds(bitinteger(a0), itype(a1))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/ulp.hpp b/inst/include/boost/simd/ieee/functions/scalar/ulp.hpp deleted file mode 100644 index 5221f0d..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/ulp.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_ULP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_ULP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ulp_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const &)const - { - return One(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ulp_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type int_type; - if (is_eqz(a0)) return Mindenormal(); - if (is_invalid(a0)) return Nan(); - const A0 x = boost::simd::abs(a0); - int_type aa = bitwise_cast(x); - int_type bb = aa; - --bb; - ++aa; - return boost::simd::min(x-bitwise_cast(bb), bitwise_cast(aa)-x); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/scalar/ulpdist.hpp b/inst/include/boost/simd/ieee/functions/scalar/ulpdist.hpp deleted file mode 100644 index 1f8b83f..0000000 --- a/inst/include/boost/simd/ieee/functions/scalar/ulpdist.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_ULPDIST_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SCALAR_ULPDIST_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ulpdist_, tag::cpu_ - , (A0) - , (scalar_< int_ >) - (scalar_< int_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0>a1) ? subs(a0,a1) : subs(a1,a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ulpdist_, tag::cpu_ - , (A0) - , (scalar_< uint_ >) - (scalar_< uint_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return dist(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ulpdist_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_integer::type itype; - - if (a0 == a1) return Zero(); - if (is_nan(a0)&&is_nan(a1)) return Zero(); - - itype e1, e2; - - A0 m1 = boost::simd::frexp(a0, e1); - A0 m2 = boost::simd::frexp(a1, e2); - - itype expo = -boost::simd::max(e1, e2); - - A0 e = (e1 == e2) ? boost::simd::abs(m1-m2) - : boost::simd::abs( boost::simd::ldexp(a0, expo) - - boost::simd::ldexp(a1, expo) - ); - return e/Eps(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/sign.hpp b/inst/include/boost/simd/ieee/functions/sign.hpp deleted file mode 100644 index 9977f57..0000000 --- a/inst/include/boost/simd/ieee/functions/sign.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIGN_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief sign generic tag - - Represents the sign function in generic contexts. - - @par Models: - Hierarchy - **/ - struct sign_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sign_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sign_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sign_; - } - /*! - Returns the sign of a0. I.e. -1, 0 or 1, according - a0 is less than zero, zero or greater than zero. - For floating sign of nan is nan - - @par Semantic: - - @code - T r = sign(x); - @endcode - - is similar to: - - @code - T r = (x > 0) ? T(1) : ((x < 0) ? T(-1) : ((x == 0) ? 0 : Nan())); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sign_, sign, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/signnz.hpp b/inst/include/boost/simd/ieee/functions/signnz.hpp deleted file mode 100644 index e8b2e77..0000000 --- a/inst/include/boost/simd/ieee/functions/signnz.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIGNNZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIGNNZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief signnz generic tag - - Represents the signnz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct signnz_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_signnz_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_signnz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_signnz_; - } - /*! - Returns the sign of a0. I.e. -1 or 1, according - a0 is negative or positive. - - This function never returns zero (zero is considered positive for integers, - for floating point numbers the bit of sign is taken into account and so - we always have signnz(-z) == -signnz(z)). - - @par Semantic: - - @code - T r = signnz(a0); - @endcode - - is similar to: - - @code - T r = is_nan(x) ? Nan() : (is_negative(x) ? T(-1) : T(1)); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::signnz_, signnz, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/bitfloating.hpp b/inst/include/boost/simd/ieee/functions/simd/common/bitfloating.hpp deleted file mode 100644 index ed95206..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/bitfloating.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_BITFLOATING_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_BITFLOATING_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitfloating_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_floating::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_floating::type type; - type r; - A0 s = bitwise_cast(Signmask()); - r = bitwise_cast(select(is_gez(a0) , a0, s-a0)); - return r; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitfloating_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_floating::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_floating::type type; - return simd::bitwise_cast(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/bitinteger.hpp b/inst/include/boost/simd/ieee/functions/simd/common/bitinteger.hpp deleted file mode 100644 index 309dfbb..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/bitinteger.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_BITINTEGER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_BITINTEGER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitinteger_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type a00 = simd::bitwise_cast(a0); - return select(boost::simd::is_positive(a0), a00, Signmask()-a00 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitinteger_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return simd::bitwise_cast(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/bitofsign.hpp b/inst/include/boost/simd/ieee/functions/simd/common/bitofsign.hpp deleted file mode 100644 index 9be89f0..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/bitofsign.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_BITOFSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_BITOFSIGN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitofsign_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return b_and(a0, boost::simd::Signmask()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitofsign_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(const A0&)const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitofsign_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return b_and(a0, boost::simd::Mzero()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/copysign.hpp b/inst/include/boost/simd/ieee/functions/simd/common/copysign.hpp deleted file mode 100644 index 28aed7a..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/copysign.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_COPYSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_COPYSIGN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( copysign_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::abss(a0)*boost::simd::signnz(a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( copysign_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_or(bitofsign(a1), boost::simd::abs(a0)); - } - }; - -} } } -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/details/ulp.hpp b/inst/include/boost/simd/ieee/functions/simd/common/details/ulp.hpp deleted file mode 100644 index 9979690..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/details/ulp.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_DETAILS_ULP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_DETAILS_ULP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost{ namespace simd{ namespace details { - - template - inline A0 ulp(A0 const& a0) - { - A0 xp = boost::simd::predecessor(a0); - A0 xs = boost::simd::successor(a0); - return if_allbits_else( is_equal(a0, Inf()) - , boost::simd::min(a0-xp,xs-a0) - ); - } - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/eps.hpp b/inst/include/boost/simd/ieee/functions/simd/common/eps.hpp deleted file mode 100644 index cba8e78..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/eps.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_EPS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_EPS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( eps_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(const A0&)const - { - return One(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( eps_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type int_type; - typedef typename dispatch::meta::scalar_of::type sA0; - result_type a = boost::simd::abs(a0); - int_type e1 = exponent(a)-Nbmantissabits(); - result_type e = bitwise_cast(bitwise_cast(One())+(shl(e1,Nbmantissabits()))); - return seladd(is_invalid(a), - select(boost::simd::is_less(a, Smallestposval()), - Mindenormal(), e), - Nan()); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/exponent.hpp b/inst/include/boost/simd/ieee/functions/simd/common/exponent.hpp deleted file mode 100644 index 502d9a8..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/exponent.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_EXPONENT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_EXPONENT_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_INVALIDS -#include -#include -#endif - -#if defined(__INTEL_COMPILER) && defined(BOOST_SIMD_HAS_AVX_SUPPORT) && !defined(BOOST_SIMD_HAS_AVX2_SUPPORT) -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( exponent_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( exponent_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type s_type; - const int nmb= int(Nbmantissabits()); - result_type x = shri(exponentbits(a0), nmb); - - // workaround for ICC 14.0.3, tested on AVX - #if defined(__INTEL_COMPILER) && defined(BOOST_SIMD_HAS_AVX_SUPPORT) && !defined(BOOST_SIMD_HAS_AVX2_SUPPORT) - x = x - if_else(a0, Maxexponent(), Zero()); - #else - x = selsub(a0, x, Maxexponent()); - #endif - - #ifndef BOOST_SIMD_NO_INVALIDS - return if_zero_else( is_invalid(a0), x ); - #else - return x; - #endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/exponentbits.hpp b/inst/include/boost/simd/ieee/functions/simd/common/exponentbits.hpp deleted file mode 100644 index 2c4bd02..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/exponentbits.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_EXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_EXPONENTBITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( exponentbits_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type s_type; - typedef typename meta::scalar_of::type sint_type; - const sint_type me = Maxexponent(); - const sint_type nmb= Nbmantissabits(); - const result_type Mask = splat((2*me+1)< -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( fast_frexp_ - , tag::cpu_ - , (A0)(A1)(X)(Y) - , ( boost::is_same - < typename dispatch::meta - ::as_integer::type - , A1 - > - ) - , ((simd_< floating_, X>)) - ((simd_< floating_, X>)) - ((simd_< integer_, Y>)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 & r0,A1 & r1) const - { - typedef typename dispatch::meta::as_integer::type int_type; - typedef typename meta::scalar_of::type s_type; - - r1 = simd::bitwise_cast(b_and(Mask1frexp(), a0)); - A0 x = b_andnot(a0, Mask1frexp()); - r1 = shr(r1,Nbmantissabits()) - Maxexponentm1(); - r0 = b_or(x,Mask2frexp()); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( fast_frexp_, tag::cpu_ - , (A0)(A1)(X)(Y) - , ( boost::is_same - < typename dispatch::meta - ::as_integer::type - , A1 - > - ) - , ((simd_< floating_, X>)) - ((simd_< integer_, Y>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE A0 operator()(A0 const& a0,A1 & a2) const - { - A0 a1; - boost::simd::fast_frexp(a0, a1, a2); - return a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_frexp_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type exponent; - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - A0 first; - exponent second; - boost::simd::fast_frexp(a0, first, second); - return result_type(first, second); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/fast_ldexp.hpp b/inst/include/boost/simd/ieee/functions/simd/common/fast_ldexp.hpp deleted file mode 100644 index 527802d..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/fast_ldexp.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_FAST_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_FAST_LDEXP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( fast_ldexp_, tag::cpu_,(A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return rshl(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF (fast_ldexp_, tag::cpu_, - (A0)(A1)(X)(Y), - (boost::mpl::equal_to< boost::simd::meta::cardinal_of, - boost::simd::meta::cardinal_of - > - ), - ((simd_,X>)) - ((simd_,Y>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename meta::scalar_of::type sA0; - A1 ik = a1+Maxexponent(); - ik = shl(ik, Nbmantissabits()); - return a0*bitwise_cast(ik); - } - }; - - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/frac.hpp b/inst/include/boost/simd/ieee/functions/simd/common/frac.hpp deleted file mode 100644 index 4bdc9c1..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/frac.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_FRAC_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_FRAC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( frac_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(const A0&)const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( frac_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return if_nan_else(is_invalid(a0), a0-boost::simd::trunc(a0)); - } - }; -} } } -#endif - diff --git a/inst/include/boost/simd/ieee/functions/simd/common/frexp.hpp b/inst/include/boost/simd/ieee/functions/simd/common/frexp.hpp deleted file mode 100644 index 424596d..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/frexp.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_FREXP_HPP_INCLUDED - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_DENORMALS -#include -#include -#include -#include -#include -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( frexp_ - , tag::cpu_, (A0)(A1)(A2)(X)(Y) - , ( boost::mpl::and_ - < boost::is_same - , boost::is_same - < typename dispatch::meta - ::as_integer::type - , A2 - > - > - ) - , ((simd_< floating_, X>)) - ((simd_< floating_, X>)) - ((simd_< integer_, Y>)) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 & r0, A2 & r1) const - { - typedef typename meta::as_logical::type bA0; - typedef typename dispatch::meta::as_integer::type int_type; - typedef typename meta::as_logical::type bint_type; - typedef typename meta::scalar_of::type s_type; - - -#ifndef BOOST_SIMD_NO_DENORMALS - bA0 test = logical_and(lt(simd::abs(a0), Smallestposval()), is_nez(a0)); - A0 aa0 = if_else(test, Twotonmb()*a0, a0); - A2 t = if_else_zero(test,Nbmantissabits()); -#else - A0 aa0 = a0; -#endif - r1 = simd::bitwise_cast(b_and(aa0, Mask1frexp())); //extract exp. - A0 x = b_andnot(aa0, Mask1frexp()); - r1 = shri(r1,Nbmantissabits()) - Maxexponentm1(); - r0 = b_or(x,Mask2frexp()); - - bA0 test0 = is_nez(aa0); - bint_type test1 = gt(r1,Limitexponent()); - - r1 = if_else_zero(logical_notand(test1, test0), r1); -#ifndef BOOST_SIMD_NO_DENORMALS - r1 -= t ; -#endif - r0 = if_else_zero(test0, seladd(test1,r0,aa0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/ilogb.hpp b/inst/include/boost/simd/ieee/functions/simd/common/ilogb.hpp deleted file mode 100644 index 693e595..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/ilogb.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_ILOGB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ilogb_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::as_integer::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_else_zero(is_gtz(a0), exponent(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/ldexp.hpp b/inst/include/boost/simd/ieee/functions/simd/common/ldexp.hpp deleted file mode 100644 index 5d53191..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/ldexp.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_LDEXP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_DENORMALS -#include -#include -#include -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( ldexp_, tag::cpu_,(A0)(A1)(X) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - (generic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return rshl(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( ldexp_, tag::cpu_,(A0)(A1)(X)(Y) - , (boost::mpl::equal_to < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_,X>)) - ((simd_,Y>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type iA0; - typedef typename meta::as_logical::type bA0; - - iA0 e = a1; - A0 f = One(); -#ifndef BOOST_SIMD_NO_DENORMALS - bA0 denormal = lt(e, Minexponent()); - e = selsub(denormal, e, Minexponent()); - f = if_else(denormal, Smallestposval(), One()); -#endif - bA0 test = eq(e, Limitexponent()); - f = seladd(test, f, One()); - e = selsub(test, e, One()); - e += Maxexponent(); - e = shl(e, Nbmantissabits()); - return a0*bitwise_cast(e)*f; - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/mantissa.hpp b/inst/include/boost/simd/ieee/functions/simd/common/mantissa.hpp deleted file mode 100644 index 5ada268..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/mantissa.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MANTISSA_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MANTISSA_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_INVALIDS -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mantissa_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mantissa_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - A0 r = b_or(b_and(a0,Mantissamask()),One()); - #ifndef BOOST_SIMD_NO_INVALIDS - return if_else(logical_or(is_invalid(a0),is_eqz(a0)),a0,r); - #else - return if_else(is_eqz(a0),a0,r); - #endif - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/maxmag.hpp b/inst/include/boost/simd/ieee/functions/simd/common/maxmag.hpp deleted file mode 100644 index 0e9427c..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/maxmag.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MAXMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MAXMAG_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( maxmag_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 aa0 = abs(a0); - A0 aa1 = abs(a1); - return if_else( aa0 > aa1, a0, if_else( aa1 > aa0, a1, max(a0, a1) ) ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/maxnum.hpp b/inst/include/boost/simd/ieee/functions/simd/common/maxnum.hpp deleted file mode 100644 index c91e181..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/maxnum.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MAXNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MAXNUM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( maxnum_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::max(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( maxnum_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_logical::type lA0; - const lA0 cond = is_nan(a0); - const A0 a = if_else(cond,a0,a1); - const A0 b = if_else(cond,a1,a0); - return boost::simd::max(a, b); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/maxnummag.hpp b/inst/include/boost/simd/ieee/functions/simd/common/maxnummag.hpp deleted file mode 100644 index 2eb8edb..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/maxnummag.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MAXNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MAXNUMMAG_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( maxnummag_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return maxmag(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( maxnummag_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_logical::type lA0; - const lA0 cond = is_nan(a0); - const A0 a = if_else(cond,a0,a1); - const A0 b = if_else(cond,a1,a0); - return maxmag(a, b); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/minmag.hpp b/inst/include/boost/simd/ieee/functions/simd/common/minmag.hpp deleted file mode 100644 index cd5ec2f..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/minmag.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MINMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MINMAG_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minmag_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 aa0 = abs(a0); - A0 aa1 = abs(a1); - return if_else( aa0 < aa1, a0, if_else( aa1 < aa0, a1, min(a0, a1) ) ); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/minnum.hpp b/inst/include/boost/simd/ieee/functions/simd/common/minnum.hpp deleted file mode 100644 index ebd7917..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/minnum.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MINNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MINNUM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minnum_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::min(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minnum_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_logical::type lA0; - const lA0 cond = is_nan(a0); - const A0 a = if_else(cond,a0,a1); - const A0 b = if_else(cond,a1,a0); - return boost::simd::min(a, b); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/minnummag.hpp b/inst/include/boost/simd/ieee/functions/simd/common/minnummag.hpp deleted file mode 100644 index b6b0599..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/minnummag.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MINNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MINNUMMAG_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minnummag_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return minmag(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minnummag_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_logical::type lA0; - const lA0 cond = is_nan(a0); - const A0 a = if_else(cond,a0,a1); - const A0 b = if_else(cond,a1,a0); - return minmag(a, b); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/modf.hpp b/inst/include/boost/simd/ieee/functions/simd/common/modf.hpp deleted file mode 100644 index 8577bec..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/modf.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MODF_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_MODF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( modf_, tag::cpu_ - , (A0)(X) - , ((simd_< arithmetic_, X>)) - ((simd_< arithmetic_, X>)) - ((simd_< arithmetic_, X>)) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 & frac,A0 & ent) const - { - ent = boost::simd::trunc(a0); - frac = a0-ent; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( modf_, tag::cpu_ - , (A0)(X) - , ((simd_< arithmetic_, X>)) - ((simd_< arithmetic_, X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 & ent) const - { - result_type frac; - boost::simd::modf(a0,frac,ent); - return frac; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( modf_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef std::pair result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - A0 first, second; - boost::simd::modf(a0, first, second); - return result_type(first, second); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/negate.hpp b/inst/include/boost/simd/ieee/functions/simd/common/negate.hpp deleted file mode 100644 index 081ae36..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/negate.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_NEGATE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( negate_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0*sign(a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( negate_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return if_else_zero(is_nez(a1), a0); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/next.hpp b/inst/include/boost/simd/ieee/functions/simd/common/next.hpp deleted file mode 100644 index 6b36602..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/next.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_NEXT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_NEXT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( next_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return inc(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( next_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return select(eq(a0, Inf()), a0, bitfloating(inc(bitinteger(a0)))); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/nextafter.hpp b/inst/include/boost/simd/ieee/functions/simd/common/nextafter.hpp deleted file mode 100644 index 8a518c0..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/nextafter.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_NEXTAFTER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_NEXTAFTER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nextafter_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return select(boost::simd::is_equal(a0,a1), - a0, - select(gt(a1,a0),oneplus(a0),minusone(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nextafter_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return select(lt(a0, a1), next(a0), select(eq(a0, a1), a0, prev(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/nextpow2.hpp b/inst/include/boost/simd/ieee/functions/simd/common/nextpow2.hpp deleted file mode 100644 index cab021c..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/nextpow2.hpp +++ /dev/null @@ -1,124 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_NEXTPOW2_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_NEXTPOW2_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nextpow2_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type utype; - return bitwise_cast(nextpow2(bitwise_cast(abs(a0)))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nextpow2_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_floating::type rtype; - typedef typename dispatch::meta::as_integer::type itype; - rtype m; - itype p; - frexp(tofloat(a0), m, p); - return bitwise_cast(seladd(boost::simd::is_equal(m, Half()), p, Mone())); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nextpow2_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type stype; - typedef typename dispatch::meta::upgrade::type itype; - typedef simd::native ivtype; - ivtype a0l, a0h; - split(a0, a0l, a0h); - return bitwise_cast(group(nextpow2(a0l),nextpow2(a0h))); - } - }; -} } } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is uint8_t -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nextpow2_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type stype; - typedef typename dispatch::meta::upgrade::type itype; - typedef simd::native ivtype; - ivtype a0l, a0h; - split(a0, a0l, a0h); - return simd::bitwise_cast(group(nextpow2(a0l),nextpow2(a0h))); - } - }; -} } } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nextpow2_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - A0 m; - result_type p; - boost::simd::frexp(abs(a0), m, p); - return seladd(boost::simd::is_equal(m, Half()), p, Mone()); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/predecessor.hpp b/inst/include/boost/simd/ieee/functions/simd/common/predecessor.hpp deleted file mode 100644 index aac6e7c..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/predecessor.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_PREDECESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_PREDECESSOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( predecessor_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return seladd(neq(a0, Valmin()), a0, Mone()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( predecessor_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_nan_else(is_nan(a0), bitfloating(minusone(bitinteger(a0)))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( predecessor_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - BOOST_ASSERT_MSG(assert_all(is_gez(a1)), "predecessor rank must be non negative"); - return selsub( le(Valmin()+a1, a0), a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( predecessor_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_all(is_gez(a1)), "predecessor rank must be non negative"); - return if_nan_else(is_nan(a0), bitfloating(subs(bitinteger(a0), a1))); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/prev.hpp b/inst/include/boost/simd/ieee/functions/simd/common/prev.hpp deleted file mode 100644 index 1397827..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/prev.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_PREV_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_PREV_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( prev_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return dec(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( prev_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return if_nan_else(is_nan(a0), -boost::simd::next(-a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/sbits.hpp b/inst/include/boost/simd/ieee/functions/simd/common/sbits.hpp deleted file mode 100644 index ae9b249..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/sbits.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_SBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_SBITS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sbits_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return simd::bitwise_cast(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/sign.hpp b/inst/include/boost/simd/ieee/functions/simd/common/sign.hpp deleted file mode 100644 index 0a8449c..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/sign.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_SIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_SIGN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sign_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return if_one_else_zero(is_gtz(a0))-if_one_else_zero(is_ltz(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sign_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return if_one_else_zero(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sign_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - A0 r = if_one_else_zero(is_gtz(a0))-if_one_else_zero(is_ltz(a0)); - #ifdef BOOST_SIMD_NO_NANS - return r; - #else - return if_allbits_else(is_nan(a0), r); - #endif - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/signnz.hpp b/inst/include/boost/simd/ieee/functions/simd/common/signnz.hpp deleted file mode 100644 index bce8eac..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/signnz.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_SIGNNZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_SIGNNZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_NANS -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( signnz_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sA0; - return b_or(shrai(a0, (sizeof(sA0)*8-2)), One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( signnz_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return One(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( signnz_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - #ifndef BOOST_SIMD_NO_NANS - return if_nan_else(is_nan(a0), b_or(One(), b_and(Signmask(), a0))); - #else - return b_or(One(), b_and(Signmask(), a0)); - #endif - ; - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/successor.hpp b/inst/include/boost/simd/ieee/functions/simd/common/successor.hpp deleted file mode 100644 index 5749cb6..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/successor.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_SUCCESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_SUCCESSOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( successor_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return seladd(neq(a0, Valmax()), a0, One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( successor_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return if_nan_else(is_nan(a0), bitfloating(oneplus(bitinteger(a0)))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( successor_, tag::cpu_ - , (A0)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - BOOST_ASSERT_MSG(assert_all(is_gez(a1)), "predecessor rank must be non negative"); - return if_else( boost::simd::gt(Valmax()-a1, a0), - a0+a1, - Valmax()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( successor_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_all(is_gez(a1)), "predecessor rank must be non negative"); - return if_nan_else(is_nan(a0), bitfloating(adds(bitinteger(a0), a1))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/ulp.hpp b/inst/include/boost/simd/ieee/functions/simd/common/ulp.hpp deleted file mode 100644 index fb9e3f1..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/ulp.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_ULP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_ULP_HPP_INCLUDED -#include - -#include -#include -#include - -#if defined(BOOST_SIMD_NO_DENORMALS) -#include -#include -#include -#include -#include -#include -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ulp_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(const A0&)const - { - return One(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ulp_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - const A0 x = boost::simd::abs(a0); - - #if !defined(BOOST_SIMD_NO_DENORMALS) - - return details::ulp(x); - - #else - - typedef typename dispatch::meta::as_integer::type in_t; - const in_t n = simd::Nbmantissabits(); - - return if_else( is_eqz(x) - , Mindenormal() - , if_else ( x < simd::Smallestposval() - , simd::ldexp ( details::ulp(simd::ldexp(x,n)) - , -n - ) - , details::ulp(x) - ) - ); - #endif - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/common/ulpdist.hpp b/inst/include/boost/simd/ieee/functions/simd/common/ulpdist.hpp deleted file mode 100644 index da1ec03..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/common/ulpdist.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_ULPDIST_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_COMMON_ULPDIST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ulpdist_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_integer::type itype; - itype e1, e2; - - A0 m1 = boost::simd::frexp(a0, e1); - A0 m2 = boost::simd::frexp(a1, e2); - - itype expo = -boost::simd::max(e1, e2); - - A0 e = select ( boost::simd::is_equal(e1, e2) - , boost::simd::abs(m1-m2) - , boost::simd::abs( boost::simd::ldexp(a0, expo) - - boost::simd::ldexp(a1, expo) - ) - ); - - return if_zero_else ( logical_or( logical_and(is_nan(a0), is_nan(a1)) - , boost::simd::is_equal(a0, a1) - ) - , e/Eps() - ); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/sse/sse2/ilogb.hpp b/inst/include/boost/simd/ieee/functions/simd/sse/sse2/ilogb.hpp deleted file mode 100644 index c37a010..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/sse/sse2/ilogb.hpp +++ /dev/null @@ -1,185 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_SSE_SSE2_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_SSE_SSE2_ILOGB_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define MKN(N) simd::bitwise_cast - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (ilogb_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_integer::type vtype; - static const A0 z = Zero(); - vtype tmp = ilogb(simd::bitwise_cast(a0)); - return seladd(is_gtz(a0), z, simd::bitwise_cast(tmp)); - } - }; - - BOOST_DISPATCH_IMPLEMENT (ilogb_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef A0 vtype8; - static const vtype8& o = One(); - static const vtype8 mask = boost::simd::integral_constant(); - vtype8 n = a0; - vtype8 i = o; - n = b_and(MKN(8)(_mm_srli_epi16(n, 1)), mask); - i = seladd(is_nez(n), i, o); - n = b_and(MKN(8)(_mm_srli_epi16(n, 1)), mask); - i = seladd(is_nez(n), i, o); - n = b_and(MKN(8)(_mm_srli_epi16(n, 1)), mask); - i = seladd(is_nez(n), i, o); - n = b_and(MKN(8)(_mm_srli_epi16(n, 1)), mask); - i = seladd(is_nez(n), i, o); - n = b_and(MKN(8)(_mm_srli_epi16(n, 1)), mask); - i = seladd(is_nez(n), i, o); - n = b_and(MKN(8)(_mm_srli_epi16(n, 1)), mask); - i = seladd(is_nez(n), i, o); - n = b_and(MKN(8)(_mm_srli_epi16(n, 1)), mask); - i = seladd(is_nez(n), i, o); - return i-o; - } - }; - - BOOST_DISPATCH_IMPLEMENT (ilogb_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename A0::extension_type cat; - typedef A0 vtype32; - typedef simd::native vtype8; - static const vtype8& z = Zero(); - static const vtype8& o = One(); - static const vtype32 mask = boost::simd::integral_constant(); - vtype8 i = if_else(is_eqz(MKN(8)(a0)), z, o); - vtype8 n = MKN(8)(b_and(MKN(32)(_mm_srli_epi16(a0, 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(32)(_mm_srli_epi16(MKN(32)(n), 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(32)(_mm_srli_epi16(MKN(32)(n), 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(32)(_mm_srli_epi16(MKN(32)(n), 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(32)(_mm_srli_epi16(MKN(32)(n), 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(32)(_mm_srli_epi16(MKN(32)(n), 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(32)(_mm_srli_epi16(MKN(32)(n), 1)), mask)); - i = seladd(is_nez(n), i, o); - static const vtype32 mask1 = boost::simd::integral_constant(); - static const vtype32 mask2 = boost::simd::integral_constant(); - static const vtype32 mask3 = boost::simd::integral_constant(); - static const vtype32 mask4 = boost::simd::integral_constant(); - static const vtype32 huit = boost::simd::integral_constant(); - static const vtype32 seize = boost::simd::integral_constant(); - static const vtype32 v4 = boost::simd::integral_constant(); - vtype32 yy = b_and(MKN(32)(i), mask4); - vtype32 zz = b_and(MKN(32)(i), mask3); - vtype32 tt = b_and(MKN(32)(i), mask2); - vtype32 uu = b_and(MKN(32)(i), mask1); - vtype32 xx = if_else(is_nez(yy), MKN(32)(_mm_srli_epi32(yy,24))+v4, - if_else(is_nez(zz), MKN(32)(_mm_srli_epi32(zz,16))+seize, - if_else(is_nez(tt), MKN(32)(_mm_srli_epi32(tt,8))+huit, - uu))); - return MKN(32)(is_nez(MKN(8)(xx))&(MKN(8)(xx)-o)); - } - }; - - BOOST_DISPATCH_IMPLEMENT (ilogb_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename A0::extension_type cat; - typedef simd::native vtype64; - return simd::bitwise_cast(exponent(tofloat(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT (ilogb_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::as_integer::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef A0 vtype16; - typedef typename A0::extension_type cat; - typedef simd::native vtype8; - static const vtype8& z = Zero(); - static const vtype8& o = One(); - static const vtype16 mask = boost::simd::integral_constant (); - vtype8 i = if_else(is_eqz(MKN(8)(a0)), z, o); - vtype8 n = MKN(8)(b_and(MKN(16)(_mm_srli_epi16(a0, 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(16)(_mm_srli_epi16(n, 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(16)(_mm_srli_epi16(n, 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(16)(_mm_srli_epi16(n, 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(16)(_mm_srli_epi16(n, 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(16)(_mm_srli_epi16(n, 1)), mask)); - i = seladd(is_nez(n), i, o); - n = MKN(8)(b_and(MKN(16)(_mm_srli_epi16(n, 1)), mask)); - i = seladd(is_nez(n), i, o); - static const vtype16 mask1 = boost::simd::integral_constant(); - static const vtype16 mask2 = boost::simd::integral_constant(); - static const vtype16 huit = boost::simd::integral_constant(); - vtype16 yy = b_and(MKN(16)(i), mask2); - vtype16 zz = b_and(MKN(16)(i), mask1); - vtype16 xx = if_else(is_nez(yy), MKN(16)(_mm_srli_epi16(yy, 8))+huit, zz); - return MKN(16)(is_nez(MKN(8)(xx))&(MKN(8)(xx)-o)); - } - }; -} } } - -#undef MKN - -#endif -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/sse/ssse3/negate.hpp b/inst/include/boost/simd/ieee/functions/simd/sse/ssse3/negate.hpp deleted file mode 100644 index 94c6a6a..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/sse/ssse3/negate.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_SSE_SSSE3_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_SSE_SSSE3_NEGATE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (negate_, boost::simd::tag::ssse3_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return _mm_sign_epi32(a0, a1); } - }; - - BOOST_DISPATCH_IMPLEMENT (negate_, boost::simd::tag::ssse3_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return _mm_sign_epi16(a0, a1); } - }; - - BOOST_DISPATCH_IMPLEMENT (negate_, boost::simd::tag::ssse3_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return _mm_sign_epi8(a0, a1); } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/ieee/functions/simd/sse/ssse3/sign.hpp b/inst/include/boost/simd/ieee/functions/simd/sse/ssse3/sign.hpp deleted file mode 100644 index d0ee8c8..0000000 --- a/inst/include/boost/simd/ieee/functions/simd/sse/ssse3/sign.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SIMD_SSE_SSSE3_SIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SIMD_SSE_SSSE3_SIGN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (sign_, boost::simd::tag::ssse3_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return _mm_sign_epi32(One(), a0); } - }; - - BOOST_DISPATCH_IMPLEMENT (sign_, boost::simd::tag::ssse3_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return _mm_sign_epi16(One(), a0); } - }; - - BOOST_DISPATCH_IMPLEMENT (sign_, boost::simd::tag::ssse3_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return _mm_sign_epi8(One(), a0); } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/ieee/functions/successor.hpp b/inst/include/boost/simd/ieee/functions/successor.hpp deleted file mode 100644 index 6330367..0000000 --- a/inst/include/boost/simd/ieee/functions/successor.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_SUCCESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_SUCCESSOR_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief successor generic tag - - Represents the successor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct successor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_successor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_successor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_successor_; - } - /*! - Returns the least element strictly greater than the parameter - - @par Semantic: - - @code - T r = successor(x); - @endcode - - computes the least value strictly greater than x in its type - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::successor_, successor, 1) - /*! - Returns the n-th least element strictly greater than the parameter - - @par Semantic: - - @code - T r = successor(x,n); - @endcode - - computes the @c n-th least value strictly greater than x in its type - - @param a0 - - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::successor_, successor, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/ulp.hpp b/inst/include/boost/simd/ieee/functions/ulp.hpp deleted file mode 100644 index 161211d..0000000 --- a/inst/include/boost/simd/ieee/functions/ulp.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_ULP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_ULP_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ulp generic tag - - Represents the ulp function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ulp_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ulp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ulp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ulp_; - } - /*! - Returns the distance to the nearest (distinct) element of the same type. - - @par Semantic: - - @code - T r = ulp(x); - @endcode - - is similar to: - - @code - T r = min(x-pred(x), next(x)-x)/Eps(); - @endcode - - @param a0 - - @return a value of same type as the input - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ulp_, ulp, 1) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/functions/ulpdist.hpp b/inst/include/boost/simd/ieee/functions/ulpdist.hpp deleted file mode 100644 index 56ae786..0000000 --- a/inst/include/boost/simd/ieee/functions/ulpdist.hpp +++ /dev/null @@ -1,116 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_IEEE_FUNCTIONS_ULPDIST_HPP_INCLUDED -#define BOOST_SIMD_IEEE_FUNCTIONS_ULPDIST_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief ulpdist generic tag - - Represents the ulpdist function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ulpdist_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ulpdist_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ulpdist_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ulpdist_; - } - /*! - Returns ulp distance of the two values. - - @par Semantic: - - @code - T r = ulpdist(a0,a1); - @endcode - - is similar to: - - @code - T r = abs(x-y)/Eps(); - @endcode - - @par Note: - - If the common type is integer it is the same as @c dist - - If the common type is floating point the ulpdist is is computed, - by the above described method. - - It is often difficult to answer to the following question: "are - these two floating computations results similar enough?". The - ulpdist is a way to answer which is tuned for relative errors - estimations and peculiarly adapted to cope with the limited bits - accuracy of floating point representations. - - The method is the following: - - - Properly normalize the two numbers by the same factor in a way - that the largest of the two numbers exponents will be brought to - zero - - -Return the absolute difference of these normalized numbers - divided by the rounding error Eps - - The roundind error is the ulp (unit in the last place) value, i.e. the - floating number, the exponent of which is 0 and the mantissa is all zeros - but a 1 in the last digit (it is not hard coded that way however). - This means \f$2^-23\f$ for float and \f$2^-52\f$ for double. - - \arg For instance if two floating numbers (of same type) have an ulpdist of - zero that means that their floating representation are identical. - - \arg Generally equality up to 0.5 ulp is the best that one can wish beyond - strict equality. - - @par Examples: - - \arg Typically if a double is compared to the float representation of - its floating conversion (they are exceptions as for fully representable - reals) the ulpdist will be around 2^26.5 (~10^8) - - The ulpdist is also roughly equivalent to the number of representable - floating points values between two given floating points values. - - \arg @c ulpdist(1.0,1+Eps\())==0.5 - \arg @c ulpdist(1.0,1+Eps\()/2)==0.0 - \arg @c ulpdist(1.0,1-Eps\()/2)==0.25 - \arg @c ulpdist(1.0,1-Eps\())==0.5 - \arg @c ulpdist(double(Pi\()),Pi\())==9.84293e+07 - - @see @funcref{ulp}, @funcref{Eps}, @funcref{eps} - @param a0 - @param a1 - - @return a value of same type as the inputs - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::ulpdist_, ulpdist, 2) -} } - -#endif diff --git a/inst/include/boost/simd/ieee/ieee.hpp b/inst/include/boost/simd/ieee/ieee.hpp deleted file mode 100644 index c95aa7f..0000000 --- a/inst/include/boost/simd/ieee/ieee.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_IEEE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_IEEE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/bitfloating.hpp b/inst/include/boost/simd/ieee/include/functions/bitfloating.hpp deleted file mode 100644 index f8adadf..0000000 --- a/inst/include/boost/simd/ieee/include/functions/bitfloating.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_BITFLOATING_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_BITFLOATING_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/bitinteger.hpp b/inst/include/boost/simd/ieee/include/functions/bitinteger.hpp deleted file mode 100644 index 70bb105..0000000 --- a/inst/include/boost/simd/ieee/include/functions/bitinteger.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_BITINTEGER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_BITINTEGER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/bitofsign.hpp b/inst/include/boost/simd/ieee/include/functions/bitofsign.hpp deleted file mode 100644 index ddd220e..0000000 --- a/inst/include/boost/simd/ieee/include/functions/bitofsign.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_BITOFSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_BITOFSIGN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/copysign.hpp b/inst/include/boost/simd/ieee/include/functions/copysign.hpp deleted file mode 100644 index 8164850..0000000 --- a/inst/include/boost/simd/ieee/include/functions/copysign.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_COPYSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_COPYSIGN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/eps.hpp b/inst/include/boost/simd/ieee/include/functions/eps.hpp deleted file mode 100644 index 8c62ec0..0000000 --- a/inst/include/boost/simd/ieee/include/functions/eps.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_EPS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_EPS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/exponent.hpp b/inst/include/boost/simd/ieee/include/functions/exponent.hpp deleted file mode 100644 index 2a7be63..0000000 --- a/inst/include/boost/simd/ieee/include/functions/exponent.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_EXPONENT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_EXPONENT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/exponentbits.hpp b/inst/include/boost/simd/ieee/include/functions/exponentbits.hpp deleted file mode 100644 index 7c22604..0000000 --- a/inst/include/boost/simd/ieee/include/functions/exponentbits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_EXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_EXPONENTBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/fast_frexp.hpp b/inst/include/boost/simd/ieee/include/functions/fast_frexp.hpp deleted file mode 100644 index 0a2116c..0000000 --- a/inst/include/boost/simd/ieee/include/functions/fast_frexp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_FAST_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_FAST_FREXP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/fast_ldexp.hpp b/inst/include/boost/simd/ieee/include/functions/fast_ldexp.hpp deleted file mode 100644 index 801aa0b..0000000 --- a/inst/include/boost/simd/ieee/include/functions/fast_ldexp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_FAST_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_FAST_LDEXP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/frac.hpp b/inst/include/boost/simd/ieee/include/functions/frac.hpp deleted file mode 100644 index cd95dcd..0000000 --- a/inst/include/boost/simd/ieee/include/functions/frac.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_FRAC_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_FRAC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/frexp.hpp b/inst/include/boost/simd/ieee/include/functions/frexp.hpp deleted file mode 100644 index 7486e8e..0000000 --- a/inst/include/boost/simd/ieee/include/functions/frexp.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_FREXP_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/ilogb.hpp b/inst/include/boost/simd/ieee/include/functions/ilogb.hpp deleted file mode 100644 index 914fe3f..0000000 --- a/inst/include/boost/simd/ieee/include/functions/ilogb.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_ILOGB_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/ldexp.hpp b/inst/include/boost/simd/ieee/include/functions/ldexp.hpp deleted file mode 100644 index df53886..0000000 --- a/inst/include/boost/simd/ieee/include/functions/ldexp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_LDEXP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/mantissa.hpp b/inst/include/boost/simd/ieee/include/functions/mantissa.hpp deleted file mode 100644 index 32b55fb..0000000 --- a/inst/include/boost/simd/ieee/include/functions/mantissa.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MANTISSA_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MANTISSA_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/maxmag.hpp b/inst/include/boost/simd/ieee/include/functions/maxmag.hpp deleted file mode 100644 index cf4e01d..0000000 --- a/inst/include/boost/simd/ieee/include/functions/maxmag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MAXMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MAXMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/maxnum.hpp b/inst/include/boost/simd/ieee/include/functions/maxnum.hpp deleted file mode 100644 index be646aa..0000000 --- a/inst/include/boost/simd/ieee/include/functions/maxnum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MAXNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MAXNUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/maxnummag.hpp b/inst/include/boost/simd/ieee/include/functions/maxnummag.hpp deleted file mode 100644 index f613b2c..0000000 --- a/inst/include/boost/simd/ieee/include/functions/maxnummag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MAXNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MAXNUMMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/minmag.hpp b/inst/include/boost/simd/ieee/include/functions/minmag.hpp deleted file mode 100644 index 728fe77..0000000 --- a/inst/include/boost/simd/ieee/include/functions/minmag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MINMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MINMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/minnum.hpp b/inst/include/boost/simd/ieee/include/functions/minnum.hpp deleted file mode 100644 index 83bacb3..0000000 --- a/inst/include/boost/simd/ieee/include/functions/minnum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MINNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MINNUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/minnummag.hpp b/inst/include/boost/simd/ieee/include/functions/minnummag.hpp deleted file mode 100644 index 7edba02..0000000 --- a/inst/include/boost/simd/ieee/include/functions/minnummag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MINNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MINNUMMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/modf.hpp b/inst/include/boost/simd/ieee/include/functions/modf.hpp deleted file mode 100644 index ab410e4..0000000 --- a/inst/include/boost/simd/ieee/include/functions/modf.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MODF_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_MODF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/negate.hpp b/inst/include/boost/simd/ieee/include/functions/negate.hpp deleted file mode 100644 index 1180086..0000000 --- a/inst/include/boost/simd/ieee/include/functions/negate.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEGATE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/negatenz.hpp b/inst/include/boost/simd/ieee/include/functions/negatenz.hpp deleted file mode 100644 index 5654bff..0000000 --- a/inst/include/boost/simd/ieee/include/functions/negatenz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEGATENZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEGATENZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/next.hpp b/inst/include/boost/simd/ieee/include/functions/next.hpp deleted file mode 100644 index c94c611..0000000 --- a/inst/include/boost/simd/ieee/include/functions/next.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEXT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEXT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/nextafter.hpp b/inst/include/boost/simd/ieee/include/functions/nextafter.hpp deleted file mode 100644 index 5f0d6cb..0000000 --- a/inst/include/boost/simd/ieee/include/functions/nextafter.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEXTAFTER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEXTAFTER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/nextpow2.hpp b/inst/include/boost/simd/ieee/include/functions/nextpow2.hpp deleted file mode 100644 index bb913e0..0000000 --- a/inst/include/boost/simd/ieee/include/functions/nextpow2.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEXTPOW2_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_NEXTPOW2_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/predecessor.hpp b/inst/include/boost/simd/ieee/include/functions/predecessor.hpp deleted file mode 100644 index 2f5430a..0000000 --- a/inst/include/boost/simd/ieee/include/functions/predecessor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_PREDECESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_PREDECESSOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/prev.hpp b/inst/include/boost/simd/ieee/include/functions/prev.hpp deleted file mode 100644 index 1edb01e..0000000 --- a/inst/include/boost/simd/ieee/include/functions/prev.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_PREV_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_PREV_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/safe_max.hpp b/inst/include/boost/simd/ieee/include/functions/safe_max.hpp deleted file mode 100644 index 7455eaf..0000000 --- a/inst/include/boost/simd/ieee/include/functions/safe_max.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SAFE_MAX_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SAFE_MAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/safe_min.hpp b/inst/include/boost/simd/ieee/include/functions/safe_min.hpp deleted file mode 100644 index 209a842..0000000 --- a/inst/include/boost/simd/ieee/include/functions/safe_min.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SAFE_MIN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SAFE_MIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/saturate.hpp b/inst/include/boost/simd/ieee/include/functions/saturate.hpp deleted file mode 100644 index 21c3f3f..0000000 --- a/inst/include/boost/simd/ieee/include/functions/saturate.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SATURATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SATURATE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/saturate_at.hpp b/inst/include/boost/simd/ieee/include/functions/saturate_at.hpp deleted file mode 100644 index 1e84ed2..0000000 --- a/inst/include/boost/simd/ieee/include/functions/saturate_at.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SATURATE_AT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SATURATE_AT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/sbits.hpp b/inst/include/boost/simd/ieee/include/functions/sbits.hpp deleted file mode 100644 index 9807588..0000000 --- a/inst/include/boost/simd/ieee/include/functions/sbits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/bitfloating.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/bitfloating.hpp deleted file mode 100644 index 9e6f2f7..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/bitfloating.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_BITFLOATING_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_BITFLOATING_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/bitinteger.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/bitinteger.hpp deleted file mode 100644 index 77da73a..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/bitinteger.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_BITINTEGER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_BITINTEGER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/bitofsign.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/bitofsign.hpp deleted file mode 100644 index eb556fe..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/bitofsign.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_BITOFSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_BITOFSIGN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/copysign.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/copysign.hpp deleted file mode 100644 index 642ebda..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/copysign.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_COPYSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_COPYSIGN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/eps.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/eps.hpp deleted file mode 100644 index d2a67af..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/eps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_EPS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_EPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/exponent.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/exponent.hpp deleted file mode 100644 index 2a73712..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/exponent.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_EXPONENT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_EXPONENT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/exponentbits.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/exponentbits.hpp deleted file mode 100644 index e1620f6..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/exponentbits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_EXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_EXPONENTBITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/fast_frexp.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/fast_frexp.hpp deleted file mode 100644 index d07141b..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/fast_frexp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_FAST_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_FAST_FREXP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/fast_ldexp.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/fast_ldexp.hpp deleted file mode 100644 index ec890eb..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/fast_ldexp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_FAST_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_FAST_LDEXP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/frac.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/frac.hpp deleted file mode 100644 index 118e9a1..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/frac.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_FRAC_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_FRAC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/frexp.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/frexp.hpp deleted file mode 100644 index a924405..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/frexp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_FREXP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/ilogb.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/ilogb.hpp deleted file mode 100644 index b5f09b0..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/ilogb.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_ILOGB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/ldexp.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/ldexp.hpp deleted file mode 100644 index 993e3b1..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/ldexp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_LDEXP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/mantissa.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/mantissa.hpp deleted file mode 100644 index 426e8d7..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/mantissa.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MANTISSA_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MANTISSA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/maxmag.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/maxmag.hpp deleted file mode 100644 index 1867dee..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/maxmag.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MAXMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MAXMAG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/maxnum.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/maxnum.hpp deleted file mode 100644 index bea3a8b..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/maxnum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MAXNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MAXNUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/maxnummag.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/maxnummag.hpp deleted file mode 100644 index bec9731..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/maxnummag.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MAXNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MAXNUMMAG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/minmag.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/minmag.hpp deleted file mode 100644 index 6b9ee8a..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/minmag.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MINMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MINMAG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/minnum.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/minnum.hpp deleted file mode 100644 index 87b0033..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/minnum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MINNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MINNUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/minnummag.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/minnummag.hpp deleted file mode 100644 index 9b6c613..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/minnummag.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MINNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MINNUMMAG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/modf.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/modf.hpp deleted file mode 100644 index 138f267..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/modf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MODF_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_MODF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/negate.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/negate.hpp deleted file mode 100644 index a65ea91..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/negate.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEGATE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/negatenz.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/negatenz.hpp deleted file mode 100644 index 0d492b9..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/negatenz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEGATENZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEGATENZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/next.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/next.hpp deleted file mode 100644 index 3062f41..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/next.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEXT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEXT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/nextafter.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/nextafter.hpp deleted file mode 100644 index cefd86b..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/nextafter.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEXTAFTER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEXTAFTER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/nextpow2.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/nextpow2.hpp deleted file mode 100644 index 2c238b9..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/nextpow2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEXTPOW2_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_NEXTPOW2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/predecessor.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/predecessor.hpp deleted file mode 100644 index c278749..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/predecessor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_PREDECESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_PREDECESSOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/prev.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/prev.hpp deleted file mode 100644 index 83c5911..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/prev.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_PREV_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_PREV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/safe_max.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/safe_max.hpp deleted file mode 100644 index e6262f5..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/safe_max.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SAFE_MAX_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SAFE_MAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/safe_min.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/safe_min.hpp deleted file mode 100644 index ebaa0bb..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/safe_min.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SAFE_MIN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SAFE_MIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/saturate.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/saturate.hpp deleted file mode 100644 index 9c7402a..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/saturate.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SATURATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SATURATE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/saturate_at.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/saturate_at.hpp deleted file mode 100644 index 34dbebd..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/saturate_at.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SATURATE_AT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SATURATE_AT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/sbits.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/sbits.hpp deleted file mode 100644 index 6bd9178..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/sbits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SBITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/sign.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/sign.hpp deleted file mode 100644 index 464616d..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/sign.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SIGN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/signnz.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/signnz.hpp deleted file mode 100644 index e39c354..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/signnz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SIGNNZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SIGNNZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/successor.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/successor.hpp deleted file mode 100644 index b2e1145..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/successor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SUCCESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_SUCCESSOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/ulp.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/ulp.hpp deleted file mode 100644 index 58ebf56..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/ulp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_ULP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_ULP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/scalar/ulpdist.hpp b/inst/include/boost/simd/ieee/include/functions/scalar/ulpdist.hpp deleted file mode 100644 index 51ed08e..0000000 --- a/inst/include/boost/simd/ieee/include/functions/scalar/ulpdist.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_ULPDIST_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SCALAR_ULPDIST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/sign.hpp b/inst/include/boost/simd/ieee/include/functions/sign.hpp deleted file mode 100644 index 5b4f60b..0000000 --- a/inst/include/boost/simd/ieee/include/functions/sign.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIGN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/signnz.hpp b/inst/include/boost/simd/ieee/include/functions/signnz.hpp deleted file mode 100644 index 9974e24..0000000 --- a/inst/include/boost/simd/ieee/include/functions/signnz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIGNNZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIGNNZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/bitfloating.hpp b/inst/include/boost/simd/ieee/include/functions/simd/bitfloating.hpp deleted file mode 100644 index 05bf87b..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/bitfloating.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_BITFLOATING_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_BITFLOATING_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/bitinteger.hpp b/inst/include/boost/simd/ieee/include/functions/simd/bitinteger.hpp deleted file mode 100644 index c9154d7..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/bitinteger.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_BITINTEGER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_BITINTEGER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/bitofsign.hpp b/inst/include/boost/simd/ieee/include/functions/simd/bitofsign.hpp deleted file mode 100644 index acb79dd..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/bitofsign.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_BITOFSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_BITOFSIGN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/copysign.hpp b/inst/include/boost/simd/ieee/include/functions/simd/copysign.hpp deleted file mode 100644 index 228a43d..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/copysign.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_COPYSIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_COPYSIGN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/eps.hpp b/inst/include/boost/simd/ieee/include/functions/simd/eps.hpp deleted file mode 100644 index b11ef3c..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/eps.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_EPS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_EPS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/exponent.hpp b/inst/include/boost/simd/ieee/include/functions/simd/exponent.hpp deleted file mode 100644 index c3234a7..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/exponent.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_EXPONENT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_EXPONENT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/exponentbits.hpp b/inst/include/boost/simd/ieee/include/functions/simd/exponentbits.hpp deleted file mode 100644 index 833c43a..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/exponentbits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_EXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_EXPONENTBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/fast_frexp.hpp b/inst/include/boost/simd/ieee/include/functions/simd/fast_frexp.hpp deleted file mode 100644 index f0e793c..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/fast_frexp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_FAST_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_FAST_FREXP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/fast_ldexp.hpp b/inst/include/boost/simd/ieee/include/functions/simd/fast_ldexp.hpp deleted file mode 100644 index 6b07aa8..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/fast_ldexp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_FAST_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_FAST_LDEXP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/frac.hpp b/inst/include/boost/simd/ieee/include/functions/simd/frac.hpp deleted file mode 100644 index 4273c75..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/frac.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_FRAC_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_FRAC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/frexp.hpp b/inst/include/boost/simd/ieee/include/functions/simd/frexp.hpp deleted file mode 100644 index 32aff7d..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/frexp.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_FREXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_FREXP_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/ilogb.hpp b/inst/include/boost/simd/ieee/include/functions/simd/ilogb.hpp deleted file mode 100644 index 66826db..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/ilogb.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_ILOGB_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/ldexp.hpp b/inst/include/boost/simd/ieee/include/functions/simd/ldexp.hpp deleted file mode 100644 index 4a98eda..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/ldexp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_LDEXP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/mantissa.hpp b/inst/include/boost/simd/ieee/include/functions/simd/mantissa.hpp deleted file mode 100644 index 72977f2..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/mantissa.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MANTISSA_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MANTISSA_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/maxmag.hpp b/inst/include/boost/simd/ieee/include/functions/simd/maxmag.hpp deleted file mode 100644 index f38e785..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/maxmag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MAXMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MAXMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/maxnum.hpp b/inst/include/boost/simd/ieee/include/functions/simd/maxnum.hpp deleted file mode 100644 index e539ec6..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/maxnum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MAXNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MAXNUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/maxnummag.hpp b/inst/include/boost/simd/ieee/include/functions/simd/maxnummag.hpp deleted file mode 100644 index 46c4b42..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/maxnummag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MAXNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MAXNUMMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/minmag.hpp b/inst/include/boost/simd/ieee/include/functions/simd/minmag.hpp deleted file mode 100644 index 768d034..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/minmag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MINMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MINMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/minnum.hpp b/inst/include/boost/simd/ieee/include/functions/simd/minnum.hpp deleted file mode 100644 index 8fec9a9..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/minnum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MINNUM_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MINNUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/minnummag.hpp b/inst/include/boost/simd/ieee/include/functions/simd/minnummag.hpp deleted file mode 100644 index f5027b5..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/minnummag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MINNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MINNUMMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/modf.hpp b/inst/include/boost/simd/ieee/include/functions/simd/modf.hpp deleted file mode 100644 index 90b12e0..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/modf.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MODF_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_MODF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/negate.hpp b/inst/include/boost/simd/ieee/include/functions/simd/negate.hpp deleted file mode 100644 index c1430f2..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/negate.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEGATE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/negatenz.hpp b/inst/include/boost/simd/ieee/include/functions/simd/negatenz.hpp deleted file mode 100644 index 8bb1d31..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/negatenz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEGATENZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEGATENZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/next.hpp b/inst/include/boost/simd/ieee/include/functions/simd/next.hpp deleted file mode 100644 index 00ef07b..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/next.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEXT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEXT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/nextafter.hpp b/inst/include/boost/simd/ieee/include/functions/simd/nextafter.hpp deleted file mode 100644 index 0532fac..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/nextafter.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEXTAFTER_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEXTAFTER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/nextpow2.hpp b/inst/include/boost/simd/ieee/include/functions/simd/nextpow2.hpp deleted file mode 100644 index 72f75d4..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/nextpow2.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEXTPOW2_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_NEXTPOW2_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/predecessor.hpp b/inst/include/boost/simd/ieee/include/functions/simd/predecessor.hpp deleted file mode 100644 index 7fff18a..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/predecessor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_PREDECESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_PREDECESSOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/prev.hpp b/inst/include/boost/simd/ieee/include/functions/simd/prev.hpp deleted file mode 100644 index 82a56de..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/prev.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_PREV_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_PREV_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/safe_max.hpp b/inst/include/boost/simd/ieee/include/functions/simd/safe_max.hpp deleted file mode 100644 index 41f498d..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/safe_max.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SAFE_MAX_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SAFE_MAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/safe_min.hpp b/inst/include/boost/simd/ieee/include/functions/simd/safe_min.hpp deleted file mode 100644 index 869250c..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/safe_min.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SAFE_MIN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SAFE_MIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/saturate.hpp b/inst/include/boost/simd/ieee/include/functions/simd/saturate.hpp deleted file mode 100644 index 255c9ce..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/saturate.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SATURATE_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SATURATE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/saturate_at.hpp b/inst/include/boost/simd/ieee/include/functions/simd/saturate_at.hpp deleted file mode 100644 index 1bd6354..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/saturate_at.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SATURATE_AT_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SATURATE_AT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/sbits.hpp b/inst/include/boost/simd/ieee/include/functions/simd/sbits.hpp deleted file mode 100644 index 4facd2a..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/sbits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SBITS_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/sign.hpp b/inst/include/boost/simd/ieee/include/functions/simd/sign.hpp deleted file mode 100644 index cdb1841..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/sign.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SIGN_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SIGN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/signnz.hpp b/inst/include/boost/simd/ieee/include/functions/simd/signnz.hpp deleted file mode 100644 index e833906..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/signnz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SIGNNZ_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SIGNNZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/successor.hpp b/inst/include/boost/simd/ieee/include/functions/simd/successor.hpp deleted file mode 100644 index 0b47922..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/successor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SUCCESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_SUCCESSOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/ulp.hpp b/inst/include/boost/simd/ieee/include/functions/simd/ulp.hpp deleted file mode 100644 index 84c9e13..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/ulp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_ULP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_ULP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/simd/ulpdist.hpp b/inst/include/boost/simd/ieee/include/functions/simd/ulpdist.hpp deleted file mode 100644 index 11dcc30..0000000 --- a/inst/include/boost/simd/ieee/include/functions/simd/ulpdist.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_ULPDIST_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SIMD_ULPDIST_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/successor.hpp b/inst/include/boost/simd/ieee/include/functions/successor.hpp deleted file mode 100644 index 6ffb895..0000000 --- a/inst/include/boost/simd/ieee/include/functions/successor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SUCCESSOR_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_SUCCESSOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/ulp.hpp b/inst/include/boost/simd/ieee/include/functions/ulp.hpp deleted file mode 100644 index 1062593..0000000 --- a/inst/include/boost/simd/ieee/include/functions/ulp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_ULP_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_ULP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/ieee/include/functions/ulpdist.hpp b/inst/include/boost/simd/ieee/include/functions/ulpdist.hpp deleted file mode 100644 index 194c4ce..0000000 --- a/inst/include/boost/simd/ieee/include/functions/ulpdist.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_ULPDIST_HPP_INCLUDED -#define BOOST_SIMD_IEEE_INCLUDE_FUNCTIONS_ULPDIST_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/allbits.hpp b/inst/include/boost/simd/include/constants/allbits.hpp deleted file mode 100644 index d3b9b8f..0000000 --- a/inst/include/boost/simd/include/constants/allbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ALLBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/bitincrement.hpp b/inst/include/boost/simd/include/constants/bitincrement.hpp deleted file mode 100644 index b8d12e9..0000000 --- a/inst/include/boost/simd/include/constants/bitincrement.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_BITINCREMENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_BITINCREMENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/c180.hpp b/inst/include/boost/simd/include/constants/c180.hpp deleted file mode 100644 index 09481a0..0000000 --- a/inst/include/boost/simd/include/constants/c180.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_C180_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_C180_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/cgold.hpp b/inst/include/boost/simd/include/constants/cgold.hpp deleted file mode 100644 index 5cdb764..0000000 --- a/inst/include/boost/simd/include/constants/cgold.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_CGOLD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_CGOLD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/digits.hpp b/inst/include/boost/simd/include/constants/digits.hpp deleted file mode 100644 index d4ca43b..0000000 --- a/inst/include/boost/simd/include/constants/digits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_DIGITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_DIGITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/eight.hpp b/inst/include/boost/simd/include/constants/eight.hpp deleted file mode 100644 index b488104..0000000 --- a/inst/include/boost/simd/include/constants/eight.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_EIGHT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_EIGHT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/eleven.hpp b/inst/include/boost/simd/include/constants/eleven.hpp deleted file mode 100644 index 657170e..0000000 --- a/inst/include/boost/simd/include/constants/eleven.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ELEVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ELEVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/eps.hpp b/inst/include/boost/simd/include/constants/eps.hpp deleted file mode 100644 index f2dfeed..0000000 --- a/inst/include/boost/simd/include/constants/eps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_EPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_EPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/eps_related.hpp b/inst/include/boost/simd/include/constants/eps_related.hpp deleted file mode 100644 index bea284e..0000000 --- a/inst/include/boost/simd/include/constants/eps_related.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_EPS_RELATED_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_EPS_RELATED_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fact_10.hpp b/inst/include/boost/simd/include/constants/fact_10.hpp deleted file mode 100644 index 001cc97..0000000 --- a/inst/include/boost/simd/include/constants/fact_10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FACT_10_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FACT_10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fact_11.hpp b/inst/include/boost/simd/include/constants/fact_11.hpp deleted file mode 100644 index 9819d18..0000000 --- a/inst/include/boost/simd/include/constants/fact_11.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FACT_11_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FACT_11_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fact_12.hpp b/inst/include/boost/simd/include/constants/fact_12.hpp deleted file mode 100644 index 676702a..0000000 --- a/inst/include/boost/simd/include/constants/fact_12.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FACT_12_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FACT_12_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fact_4.hpp b/inst/include/boost/simd/include/constants/fact_4.hpp deleted file mode 100644 index 6ea0160..0000000 --- a/inst/include/boost/simd/include/constants/fact_4.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FACT_4_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FACT_4_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fact_5.hpp b/inst/include/boost/simd/include/constants/fact_5.hpp deleted file mode 100644 index 1180f81..0000000 --- a/inst/include/boost/simd/include/constants/fact_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FACT_5_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FACT_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fact_6.hpp b/inst/include/boost/simd/include/constants/fact_6.hpp deleted file mode 100644 index df2dd24..0000000 --- a/inst/include/boost/simd/include/constants/fact_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FACT_6_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FACT_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fact_7.hpp b/inst/include/boost/simd/include/constants/fact_7.hpp deleted file mode 100644 index bc02306..0000000 --- a/inst/include/boost/simd/include/constants/fact_7.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FACT_7_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FACT_7_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fact_8.hpp b/inst/include/boost/simd/include/constants/fact_8.hpp deleted file mode 100644 index a64b4fc..0000000 --- a/inst/include/boost/simd/include/constants/fact_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FACT_8_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FACT_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fact_9.hpp b/inst/include/boost/simd/include/constants/fact_9.hpp deleted file mode 100644 index db50955..0000000 --- a/inst/include/boost/simd/include/constants/fact_9.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FACT_9_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FACT_9_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/false.hpp b/inst/include/boost/simd/include/constants/false.hpp deleted file mode 100644 index 0118cbb..0000000 --- a/inst/include/boost/simd/include/constants/false.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FALSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FALSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fifteen.hpp b/inst/include/boost/simd/include/constants/fifteen.hpp deleted file mode 100644 index 9cbaa33..0000000 --- a/inst/include/boost/simd/include/constants/fifteen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FIFTEEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FIFTEEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/five.hpp b/inst/include/boost/simd/include/constants/five.hpp deleted file mode 100644 index 6feeb01..0000000 --- a/inst/include/boost/simd/include/constants/five.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fiveo_8.hpp b/inst/include/boost/simd/include/constants/fiveo_8.hpp deleted file mode 100644 index be3b920..0000000 --- a/inst/include/boost/simd/include/constants/fiveo_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FIVEO_8_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FIVEO_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/four.hpp b/inst/include/boost/simd/include/constants/four.hpp deleted file mode 100644 index 65465cf..0000000 --- a/inst/include/boost/simd/include/constants/four.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FOUR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FOUR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/fourthrooteps.hpp b/inst/include/boost/simd/include/constants/fourthrooteps.hpp deleted file mode 100644 index 797f62b..0000000 --- a/inst/include/boost/simd/include/constants/fourthrooteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/gold.hpp b/inst/include/boost/simd/include/constants/gold.hpp deleted file mode 100644 index a728184..0000000 --- a/inst/include/boost/simd/include/constants/gold.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_GOLD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_GOLD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/goldbar.hpp b/inst/include/boost/simd/include/constants/goldbar.hpp deleted file mode 100644 index 7a7b235..0000000 --- a/inst/include/boost/simd/include/constants/goldbar.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_GOLDBAR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_GOLDBAR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/greatestnoninteger.hpp b/inst/include/boost/simd/include/constants/greatestnoninteger.hpp deleted file mode 100644 index ae9ea5d..0000000 --- a/inst/include/boost/simd/include/constants/greatestnoninteger.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/half.hpp b/inst/include/boost/simd/include/constants/half.hpp deleted file mode 100644 index a4fdad7..0000000 --- a/inst/include/boost/simd/include/constants/half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_HALF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/halfeps.hpp b/inst/include/boost/simd/include/constants/halfeps.hpp deleted file mode 100644 index 32b4c05..0000000 --- a/inst/include/boost/simd/include/constants/halfeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_HALFEPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_HALFEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/hundred.hpp b/inst/include/boost/simd/include/constants/hundred.hpp deleted file mode 100644 index a8c76c7..0000000 --- a/inst/include/boost/simd/include/constants/hundred.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_HUNDRED_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_HUNDRED_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/ieee.hpp b/inst/include/boost/simd/include/constants/ieee.hpp deleted file mode 100644 index d2bd893..0000000 --- a/inst/include/boost/simd/include/constants/ieee.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_IEEE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_IEEE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/inf.hpp b/inst/include/boost/simd/include/constants/inf.hpp deleted file mode 100644 index f212ea6..0000000 --- a/inst/include/boost/simd/include/constants/inf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_INF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_INF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/infinites.hpp b/inst/include/boost/simd/include/constants/infinites.hpp deleted file mode 100644 index e734278..0000000 --- a/inst/include/boost/simd/include/constants/infinites.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_INFINITES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_INFINITES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/int_splat.hpp b/inst/include/boost/simd/include/constants/int_splat.hpp deleted file mode 100644 index 27103b9..0000000 --- a/inst/include/boost/simd/include/constants/int_splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_INT_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_INT_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/ldexpmask.hpp b/inst/include/boost/simd/include/constants/ldexpmask.hpp deleted file mode 100644 index de8475b..0000000 --- a/inst/include/boost/simd/include/constants/ldexpmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_LDEXPMASK_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_LDEXPMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/limitexponent.hpp b/inst/include/boost/simd/include/constants/limitexponent.hpp deleted file mode 100644 index 2ecc04b..0000000 --- a/inst/include/boost/simd/include/constants/limitexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/log10_pi.hpp b/inst/include/boost/simd/include/constants/log10_pi.hpp deleted file mode 100644 index 2993f97..0000000 --- a/inst/include/boost/simd/include/constants/log10_pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_LOG10_PI_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_LOG10_PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/logeps.hpp b/inst/include/boost/simd/include/constants/logeps.hpp deleted file mode 100644 index e5ca40a..0000000 --- a/inst/include/boost/simd/include/constants/logeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_LOGEPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_LOGEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/logpi.hpp b/inst/include/boost/simd/include/constants/logpi.hpp deleted file mode 100644 index da22faa..0000000 --- a/inst/include/boost/simd/include/constants/logpi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_LOGPI_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_LOGPI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/logsqrt2pi.hpp b/inst/include/boost/simd/include/constants/logsqrt2pi.hpp deleted file mode 100644 index d5274cc..0000000 --- a/inst/include/boost/simd/include/constants/logsqrt2pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mantissamask.hpp b/inst/include/boost/simd/include/constants/mantissamask.hpp deleted file mode 100644 index 60cd49e..0000000 --- a/inst/include/boost/simd/include/constants/mantissamask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MANTISSAMASK_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MANTISSAMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mask1frexp.hpp b/inst/include/boost/simd/include/constants/mask1frexp.hpp deleted file mode 100644 index 1424a8e..0000000 --- a/inst/include/boost/simd/include/constants/mask1frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MASK1FREXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MASK1FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mask2frexp.hpp b/inst/include/boost/simd/include/constants/mask2frexp.hpp deleted file mode 100644 index 18c650c..0000000 --- a/inst/include/boost/simd/include/constants/mask2frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MASK2FREXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MASK2FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/maxexponent.hpp b/inst/include/boost/simd/include/constants/maxexponent.hpp deleted file mode 100644 index 8ad7982..0000000 --- a/inst/include/boost/simd/include/constants/maxexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MAXEXPONENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MAXEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/maxexponentm1.hpp b/inst/include/boost/simd/include/constants/maxexponentm1.hpp deleted file mode 100644 index bb79b56..0000000 --- a/inst/include/boost/simd/include/constants/maxexponentm1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/maxflint.hpp b/inst/include/boost/simd/include/constants/maxflint.hpp deleted file mode 100644 index 42454aa..0000000 --- a/inst/include/boost/simd/include/constants/maxflint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MAXFLINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MAXFLINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/maxgammaln.hpp b/inst/include/boost/simd/include/constants/maxgammaln.hpp deleted file mode 100644 index 7a87ea4..0000000 --- a/inst/include/boost/simd/include/constants/maxgammaln.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MAXGAMMALN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MAXGAMMALN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/maxinit.hpp b/inst/include/boost/simd/include/constants/maxinit.hpp deleted file mode 100644 index 8600232..0000000 --- a/inst/include/boost/simd/include/constants/maxinit.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MAXINIT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MAXINIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/maxleftshift.hpp b/inst/include/boost/simd/include/constants/maxleftshift.hpp deleted file mode 100644 index a85a57f..0000000 --- a/inst/include/boost/simd/include/constants/maxleftshift.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/meight.hpp b/inst/include/boost/simd/include/constants/meight.hpp deleted file mode 100644 index 36848c4..0000000 --- a/inst/include/boost/simd/include/constants/meight.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MEIGHT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MEIGHT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mfive.hpp b/inst/include/boost/simd/include/constants/mfive.hpp deleted file mode 100644 index 5076196..0000000 --- a/inst/include/boost/simd/include/constants/mfive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MFIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MFIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mfour.hpp b/inst/include/boost/simd/include/constants/mfour.hpp deleted file mode 100644 index 68f318b..0000000 --- a/inst/include/boost/simd/include/constants/mfour.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MFOUR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MFOUR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mhalf.hpp b/inst/include/boost/simd/include/constants/mhalf.hpp deleted file mode 100644 index 1859594..0000000 --- a/inst/include/boost/simd/include/constants/mhalf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MHALF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MHALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mindenormal.hpp b/inst/include/boost/simd/include/constants/mindenormal.hpp deleted file mode 100644 index 24a56f6..0000000 --- a/inst/include/boost/simd/include/constants/mindenormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MINDENORMAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MINDENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/minexponent.hpp b/inst/include/boost/simd/include/constants/minexponent.hpp deleted file mode 100644 index 5fc8710..0000000 --- a/inst/include/boost/simd/include/constants/minexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MINEXPONENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MINEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/minf.hpp b/inst/include/boost/simd/include/constants/minf.hpp deleted file mode 100644 index eeaaf5e..0000000 --- a/inst/include/boost/simd/include/constants/minf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MINF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MINF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mlogeps2.hpp b/inst/include/boost/simd/include/constants/mlogeps2.hpp deleted file mode 100644 index edfadff..0000000 --- a/inst/include/boost/simd/include/constants/mlogeps2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MLOGEPS2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MLOGEPS2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mnine.hpp b/inst/include/boost/simd/include/constants/mnine.hpp deleted file mode 100644 index 42320cc..0000000 --- a/inst/include/boost/simd/include/constants/mnine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MNINE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MNINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mone.hpp b/inst/include/boost/simd/include/constants/mone.hpp deleted file mode 100644 index e8a884e..0000000 --- a/inst/include/boost/simd/include/constants/mone.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/moneo_6.hpp b/inst/include/boost/simd/include/constants/moneo_6.hpp deleted file mode 100644 index 28dc462..0000000 --- a/inst/include/boost/simd/include/constants/moneo_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MONEO_6_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MONEO_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mseven.hpp b/inst/include/boost/simd/include/constants/mseven.hpp deleted file mode 100644 index 4641400..0000000 --- a/inst/include/boost/simd/include/constants/mseven.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MSEVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MSEVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/msix.hpp b/inst/include/boost/simd/include/constants/msix.hpp deleted file mode 100644 index dbc1184..0000000 --- a/inst/include/boost/simd/include/constants/msix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MSIX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MSIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mten.hpp b/inst/include/boost/simd/include/constants/mten.hpp deleted file mode 100644 index 71191a3..0000000 --- a/inst/include/boost/simd/include/constants/mten.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MTEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MTEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mthree.hpp b/inst/include/boost/simd/include/constants/mthree.hpp deleted file mode 100644 index c5e344e..0000000 --- a/inst/include/boost/simd/include/constants/mthree.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MTHREE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MTHREE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mtwo.hpp b/inst/include/boost/simd/include/constants/mtwo.hpp deleted file mode 100644 index 69fa244..0000000 --- a/inst/include/boost/simd/include/constants/mtwo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MTWO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MTWO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/mzero.hpp b/inst/include/boost/simd/include/constants/mzero.hpp deleted file mode 100644 index 6573dde..0000000 --- a/inst/include/boost/simd/include/constants/mzero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_MZERO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_MZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/nan.hpp b/inst/include/boost/simd/include/constants/nan.hpp deleted file mode 100644 index e9a28f5..0000000 --- a/inst/include/boost/simd/include/constants/nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_NAN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/nbdigits.hpp b/inst/include/boost/simd/include/constants/nbdigits.hpp deleted file mode 100644 index cc47be3..0000000 --- a/inst/include/boost/simd/include/constants/nbdigits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_NBDIGITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_NBDIGITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/nbexponentbits.hpp b/inst/include/boost/simd/include/constants/nbexponentbits.hpp deleted file mode 100644 index a6dee03..0000000 --- a/inst/include/boost/simd/include/constants/nbexponentbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/nbmantissabits.hpp b/inst/include/boost/simd/include/constants/nbmantissabits.hpp deleted file mode 100644 index 1f97c2a..0000000 --- a/inst/include/boost/simd/include/constants/nbmantissabits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/nine.hpp b/inst/include/boost/simd/include/constants/nine.hpp deleted file mode 100644 index 037375c..0000000 --- a/inst/include/boost/simd/include/constants/nine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_NINE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_NINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/one.hpp b/inst/include/boost/simd/include/constants/one.hpp deleted file mode 100644 index 984bb71..0000000 --- a/inst/include/boost/simd/include/constants/one.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_10.hpp b/inst/include/boost/simd/include/constants/oneo_10.hpp deleted file mode 100644 index 8e33bf5..0000000 --- a/inst/include/boost/simd/include/constants/oneo_10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_10_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_12.hpp b/inst/include/boost/simd/include/constants/oneo_12.hpp deleted file mode 100644 index 7ad0291..0000000 --- a/inst/include/boost/simd/include/constants/oneo_12.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_12_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_12_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_120.hpp b/inst/include/boost/simd/include/constants/oneo_120.hpp deleted file mode 100644 index 6b81288..0000000 --- a/inst/include/boost/simd/include/constants/oneo_120.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_120_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_120_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_15.hpp b/inst/include/boost/simd/include/constants/oneo_15.hpp deleted file mode 100644 index f893f23..0000000 --- a/inst/include/boost/simd/include/constants/oneo_15.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_15_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_15_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_16.hpp b/inst/include/boost/simd/include/constants/oneo_16.hpp deleted file mode 100644 index 21186e6..0000000 --- a/inst/include/boost/simd/include/constants/oneo_16.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_16_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_16_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_180.hpp b/inst/include/boost/simd/include/constants/oneo_180.hpp deleted file mode 100644 index 5b13fad..0000000 --- a/inst/include/boost/simd/include/constants/oneo_180.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_180_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_180_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_5.hpp b/inst/include/boost/simd/include/constants/oneo_5.hpp deleted file mode 100644 index 20512b6..0000000 --- a/inst/include/boost/simd/include/constants/oneo_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_5_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_6.hpp b/inst/include/boost/simd/include/constants/oneo_6.hpp deleted file mode 100644 index e5e2609..0000000 --- a/inst/include/boost/simd/include/constants/oneo_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_6_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_7.hpp b/inst/include/boost/simd/include/constants/oneo_7.hpp deleted file mode 100644 index 895dbff..0000000 --- a/inst/include/boost/simd/include/constants/oneo_7.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_7_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_7_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_8.hpp b/inst/include/boost/simd/include/constants/oneo_8.hpp deleted file mode 100644 index a7e58c9..0000000 --- a/inst/include/boost/simd/include/constants/oneo_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_8_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneo_9.hpp b/inst/include/boost/simd/include/constants/oneo_9.hpp deleted file mode 100644 index 9430177..0000000 --- a/inst/include/boost/simd/include/constants/oneo_9.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_9_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEO_9_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneosqrt5.hpp b/inst/include/boost/simd/include/constants/oneosqrt5.hpp deleted file mode 100644 index 1c42720..0000000 --- a/inst/include/boost/simd/include/constants/oneosqrt5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEOSQRT5_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEOSQRT5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneosqrteps.hpp b/inst/include/boost/simd/include/constants/oneosqrteps.hpp deleted file mode 100644 index 070ca78..0000000 --- a/inst/include/boost/simd/include/constants/oneosqrteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/oneotwoeps.hpp b/inst/include/boost/simd/include/constants/oneotwoeps.hpp deleted file mode 100644 index 6d951fb..0000000 --- a/inst/include/boost/simd/include/constants/oneotwoeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/pi.hpp b/inst/include/boost/simd/include/constants/pi.hpp deleted file mode 100644 index f94643b..0000000 --- a/inst/include/boost/simd/include/constants/pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_PI_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/pio_2.hpp b/inst/include/boost/simd/include/constants/pio_2.hpp deleted file mode 100644 index 1babea3..0000000 --- a/inst/include/boost/simd/include/constants/pio_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_PIO_2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_PIO_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/properties.hpp b/inst/include/boost/simd/include/constants/properties.hpp deleted file mode 100644 index 9ec0360..0000000 --- a/inst/include/boost/simd/include/constants/properties.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_PROPERTIES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_PROPERTIES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/quarter.hpp b/inst/include/boost/simd/include/constants/quarter.hpp deleted file mode 100644 index 9a5e653..0000000 --- a/inst/include/boost/simd/include/constants/quarter.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_QUARTER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_QUARTER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/real.hpp b/inst/include/boost/simd/include/constants/real.hpp deleted file mode 100644 index 2f93633..0000000 --- a/inst/include/boost/simd/include/constants/real.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_REAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_REAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/real_splat.hpp b/inst/include/boost/simd/include/constants/real_splat.hpp deleted file mode 100644 index eb5358e..0000000 --- a/inst/include/boost/simd/include/constants/real_splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_REAL_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_REAL_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/seven.hpp b/inst/include/boost/simd/include/constants/seven.hpp deleted file mode 100644 index 28d5ce4..0000000 --- a/inst/include/boost/simd/include/constants/seven.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SEVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SEVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/signmask.hpp b/inst/include/boost/simd/include/constants/signmask.hpp deleted file mode 100644 index fd881a7..0000000 --- a/inst/include/boost/simd/include/constants/signmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SIGNMASK_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SIGNMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/six.hpp b/inst/include/boost/simd/include/constants/six.hpp deleted file mode 100644 index 0c8d10c..0000000 --- a/inst/include/boost/simd/include/constants/six.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SIX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/sixteen.hpp b/inst/include/boost/simd/include/constants/sixteen.hpp deleted file mode 100644 index 7275b4d..0000000 --- a/inst/include/boost/simd/include/constants/sixteen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SIXTEEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SIXTEEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/smallestposval.hpp b/inst/include/boost/simd/include/constants/smallestposval.hpp deleted file mode 100644 index 8e292f9..0000000 --- a/inst/include/boost/simd/include/constants/smallestposval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/splitfactor.hpp b/inst/include/boost/simd/include/constants/splitfactor.hpp deleted file mode 100644 index 9d6973d..0000000 --- a/inst/include/boost/simd/include/constants/splitfactor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SPLITFACTOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SPLITFACTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/sqrt_1o_5.hpp b/inst/include/boost/simd/include/constants/sqrt_1o_5.hpp deleted file mode 100644 index 1336b6f..0000000 --- a/inst/include/boost/simd/include/constants/sqrt_1o_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SQRT_1O_5_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SQRT_1O_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/sqrt_2.hpp b/inst/include/boost/simd/include/constants/sqrt_2.hpp deleted file mode 100644 index 6d701ce..0000000 --- a/inst/include/boost/simd/include/constants/sqrt_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SQRT_2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SQRT_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/sqrt_2o_2.hpp b/inst/include/boost/simd/include/constants/sqrt_2o_2.hpp deleted file mode 100644 index 38b4f2c..0000000 --- a/inst/include/boost/simd/include/constants/sqrt_2o_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SQRT_2O_2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SQRT_2O_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/sqrt_2o_3.hpp b/inst/include/boost/simd/include/constants/sqrt_2o_3.hpp deleted file mode 100644 index 3806d03..0000000 --- a/inst/include/boost/simd/include/constants/sqrt_2o_3.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SQRT_2O_3_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SQRT_2O_3_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/sqrteps.hpp b/inst/include/boost/simd/include/constants/sqrteps.hpp deleted file mode 100644 index 366f74d..0000000 --- a/inst/include/boost/simd/include/constants/sqrteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SQRTEPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SQRTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/sqrtsmallestposval.hpp b/inst/include/boost/simd/include/constants/sqrtsmallestposval.hpp deleted file mode 100644 index 538193f..0000000 --- a/inst/include/boost/simd/include/constants/sqrtsmallestposval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/sqrtvalmax.hpp b/inst/include/boost/simd/include/constants/sqrtvalmax.hpp deleted file mode 100644 index 9e3be62..0000000 --- a/inst/include/boost/simd/include/constants/sqrtvalmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_SQRTVALMAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_SQRTVALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/ten.hpp b/inst/include/boost/simd/include/constants/ten.hpp deleted file mode 100644 index 288d923..0000000 --- a/inst/include/boost/simd/include/constants/ten.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/third.hpp b/inst/include/boost/simd/include/constants/third.hpp deleted file mode 100644 index c175ebe..0000000 --- a/inst/include/boost/simd/include/constants/third.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_THIRD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_THIRD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/thirdrooteps.hpp b/inst/include/boost/simd/include/constants/thirdrooteps.hpp deleted file mode 100644 index 3c1c93c..0000000 --- a/inst/include/boost/simd/include/constants/thirdrooteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/thousand.hpp b/inst/include/boost/simd/include/constants/thousand.hpp deleted file mode 100644 index ddca612..0000000 --- a/inst/include/boost/simd/include/constants/thousand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_THOUSAND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_THOUSAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/three.hpp b/inst/include/boost/simd/include/constants/three.hpp deleted file mode 100644 index d921c9a..0000000 --- a/inst/include/boost/simd/include/constants/three.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_THREE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_THREE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/threeeps.hpp b/inst/include/boost/simd/include/constants/threeeps.hpp deleted file mode 100644 index 0c393cf..0000000 --- a/inst/include/boost/simd/include/constants/threeeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_THREEEPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_THREEEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/true.hpp b/inst/include/boost/simd/include/constants/true.hpp deleted file mode 100644 index efa94f0..0000000 --- a/inst/include/boost/simd/include/constants/true.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TRUE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TRUE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/true_false.hpp b/inst/include/boost/simd/include/constants/true_false.hpp deleted file mode 100644 index 84c839d..0000000 --- a/inst/include/boost/simd/include/constants/true_false.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TRUE_FALSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TRUE_FALSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/twelve.hpp b/inst/include/boost/simd/include/constants/twelve.hpp deleted file mode 100644 index 201c88b..0000000 --- a/inst/include/boost/simd/include/constants/twelve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TWELVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TWELVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/twenty.hpp b/inst/include/boost/simd/include/constants/twenty.hpp deleted file mode 100644 index 911caf2..0000000 --- a/inst/include/boost/simd/include/constants/twenty.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TWENTY_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TWENTY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/two.hpp b/inst/include/boost/simd/include/constants/two.hpp deleted file mode 100644 index a17445e..0000000 --- a/inst/include/boost/simd/include/constants/two.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TWO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TWO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/twoofive.hpp b/inst/include/boost/simd/include/constants/twoofive.hpp deleted file mode 100644 index ea662ff..0000000 --- a/inst/include/boost/simd/include/constants/twoofive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TWOOFIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TWOOFIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/twothird.hpp b/inst/include/boost/simd/include/constants/twothird.hpp deleted file mode 100644 index c58b8c4..0000000 --- a/inst/include/boost/simd/include/constants/twothird.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TWOTHIRD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TWOTHIRD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/twoto31.hpp b/inst/include/boost/simd/include/constants/twoto31.hpp deleted file mode 100644 index 2cd5608..0000000 --- a/inst/include/boost/simd/include/constants/twoto31.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TWOTO31_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TWOTO31_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/twotom10.hpp b/inst/include/boost/simd/include/constants/twotom10.hpp deleted file mode 100644 index 5a41ee2..0000000 --- a/inst/include/boost/simd/include/constants/twotom10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TWOTOM10_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TWOTOM10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/twotonmb.hpp b/inst/include/boost/simd/include/constants/twotonmb.hpp deleted file mode 100644 index 99b506b..0000000 --- a/inst/include/boost/simd/include/constants/twotonmb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_TWOTONMB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_TWOTONMB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/valmax.hpp b/inst/include/boost/simd/include/constants/valmax.hpp deleted file mode 100644 index 490d8c9..0000000 --- a/inst/include/boost/simd/include/constants/valmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_VALMAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_VALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/valmin.hpp b/inst/include/boost/simd/include/constants/valmin.hpp deleted file mode 100644 index f4cfeb8..0000000 --- a/inst/include/boost/simd/include/constants/valmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_VALMIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_VALMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/constants/zero.hpp b/inst/include/boost/simd/include/constants/zero.hpp deleted file mode 100644 index cfcc667..0000000 --- a/inst/include/boost/simd/include/constants/zero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_CONSTANTS_ZERO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_CONSTANTS_ZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/abs.hpp b/inst/include/boost/simd/include/functions/abs.hpp deleted file mode 100644 index aa3e6e1..0000000 --- a/inst/include/boost/simd/include/functions/abs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ABS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ABS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/abss.hpp b/inst/include/boost/simd/include/functions/abss.hpp deleted file mode 100644 index 1b569d6..0000000 --- a/inst/include/boost/simd/include/functions/abss.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ABSS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ABSS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/adds.hpp b/inst/include/boost/simd/include/functions/adds.hpp deleted file mode 100644 index dfd23bd..0000000 --- a/inst/include/boost/simd/include/functions/adds.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ADDS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ADDS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/aligned_load.hpp b/inst/include/boost/simd/include/functions/aligned_load.hpp deleted file mode 100644 index 530390a..0000000 --- a/inst/include/boost/simd/include/functions/aligned_load.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/aligned_store.hpp b/inst/include/boost/simd/include/functions/aligned_store.hpp deleted file mode 100644 index 2740de6..0000000 --- a/inst/include/boost/simd/include/functions/aligned_store.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/all.hpp b/inst/include/boost/simd/include/functions/all.hpp deleted file mode 100644 index b1b84ba..0000000 --- a/inst/include/boost/simd/include/functions/all.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ALL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ALL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/all_reduce.hpp b/inst/include/boost/simd/include/functions/all_reduce.hpp deleted file mode 100644 index 0089d83..0000000 --- a/inst/include/boost/simd/include/functions/all_reduce.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ALL_REDUCE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/amul.hpp b/inst/include/boost/simd/include/functions/amul.hpp deleted file mode 100644 index 09d0008..0000000 --- a/inst/include/boost/simd/include/functions/amul.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_AMUL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_AMUL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/any.hpp b/inst/include/boost/simd/include/functions/any.hpp deleted file mode 100644 index af10f21..0000000 --- a/inst/include/boost/simd/include/functions/any.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ANY_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ANY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/arg.hpp b/inst/include/boost/simd/include/functions/arg.hpp deleted file mode 100644 index 9687c9b..0000000 --- a/inst/include/boost/simd/include/functions/arg.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ARG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ARG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/assign.hpp b/inst/include/boost/simd/include/functions/assign.hpp deleted file mode 100644 index c8d2011..0000000 --- a/inst/include/boost/simd/include/functions/assign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ASSIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ASSIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/average.hpp b/inst/include/boost/simd/include/functions/average.hpp deleted file mode 100644 index 5dbdc8b..0000000 --- a/inst/include/boost/simd/include/functions/average.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_AVERAGE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_AVERAGE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitfloating.hpp b/inst/include/boost/simd/include/functions/bitfloating.hpp deleted file mode 100644 index a02108f..0000000 --- a/inst/include/boost/simd/include/functions/bitfloating.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITFLOATING_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITFLOATING_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitget.hpp b/inst/include/boost/simd/include/functions/bitget.hpp deleted file mode 100644 index d21855d..0000000 --- a/inst/include/boost/simd/include/functions/bitget.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITGET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITGET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitinteger.hpp b/inst/include/boost/simd/include/functions/bitinteger.hpp deleted file mode 100644 index 8e03bd8..0000000 --- a/inst/include/boost/simd/include/functions/bitinteger.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITINTEGER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITINTEGER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitofsign.hpp b/inst/include/boost/simd/include/functions/bitofsign.hpp deleted file mode 100644 index c67ce05..0000000 --- a/inst/include/boost/simd/include/functions/bitofsign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITOFSIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITOFSIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bits.hpp b/inst/include/boost/simd/include/functions/bits.hpp deleted file mode 100644 index bd1a03b..0000000 --- a/inst/include/boost/simd/include/functions/bits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitset.hpp b/inst/include/boost/simd/include/functions/bitset.hpp deleted file mode 100644 index 5ec9904..0000000 --- a/inst/include/boost/simd/include/functions/bitset.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITSET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITSET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitwise_and.hpp b/inst/include/boost/simd/include/functions/bitwise_and.hpp deleted file mode 100644 index 42c4706..0000000 --- a/inst/include/boost/simd/include/functions/bitwise_and.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_AND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitwise_andnot.hpp b/inst/include/boost/simd/include/functions/bitwise_andnot.hpp deleted file mode 100644 index 8996ed1..0000000 --- a/inst/include/boost/simd/include/functions/bitwise_andnot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitwise_cast.hpp b/inst/include/boost/simd/include/functions/bitwise_cast.hpp deleted file mode 100644 index e2d997b..0000000 --- a/inst/include/boost/simd/include/functions/bitwise_cast.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitwise_notand.hpp b/inst/include/boost/simd/include/functions/bitwise_notand.hpp deleted file mode 100644 index deb17c6..0000000 --- a/inst/include/boost/simd/include/functions/bitwise_notand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitwise_notor.hpp b/inst/include/boost/simd/include/functions/bitwise_notor.hpp deleted file mode 100644 index 469059d..0000000 --- a/inst/include/boost/simd/include/functions/bitwise_notor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitwise_or.hpp b/inst/include/boost/simd/include/functions/bitwise_or.hpp deleted file mode 100644 index 90471c2..0000000 --- a/inst/include/boost/simd/include/functions/bitwise_or.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_OR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitwise_ornot.hpp b/inst/include/boost/simd/include/functions/bitwise_ornot.hpp deleted file mode 100644 index 953f3db..0000000 --- a/inst/include/boost/simd/include/functions/bitwise_ornot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitwise_select.hpp b/inst/include/boost/simd/include/functions/bitwise_select.hpp deleted file mode 100644 index 3f4d1f2..0000000 --- a/inst/include/boost/simd/include/functions/bitwise_select.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/bitwise_xor.hpp b/inst/include/boost/simd/include/functions/bitwise_xor.hpp deleted file mode 100644 index 6b61c5d..0000000 --- a/inst/include/boost/simd/include/functions/bitwise_xor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/broadcast.hpp b/inst/include/boost/simd/include/functions/broadcast.hpp deleted file mode 100644 index 2cd139b..0000000 --- a/inst/include/boost/simd/include/functions/broadcast.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_BROADCAST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ceil.hpp b/inst/include/boost/simd/include/functions/ceil.hpp deleted file mode 100644 index a4f0297..0000000 --- a/inst/include/boost/simd/include/functions/ceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_CEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_CEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/clz.hpp b/inst/include/boost/simd/include/functions/clz.hpp deleted file mode 100644 index 31a7b59..0000000 --- a/inst/include/boost/simd/include/functions/clz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_CLZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_CLZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/combine.hpp b/inst/include/boost/simd/include/functions/combine.hpp deleted file mode 100644 index 8dba478..0000000 --- a/inst/include/boost/simd/include/functions/combine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COMBINE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COMBINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/comma.hpp b/inst/include/boost/simd/include/functions/comma.hpp deleted file mode 100644 index 366bcc2..0000000 --- a/inst/include/boost/simd/include/functions/comma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COMMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COMMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/compare_equal.hpp b/inst/include/boost/simd/include/functions/compare_equal.hpp deleted file mode 100644 index 30be002..0000000 --- a/inst/include/boost/simd/include/functions/compare_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/compare_greater.hpp b/inst/include/boost/simd/include/functions/compare_greater.hpp deleted file mode 100644 index 23178e3..0000000 --- a/inst/include/boost/simd/include/functions/compare_greater.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/compare_greater_equal.hpp b/inst/include/boost/simd/include/functions/compare_greater_equal.hpp deleted file mode 100644 index 614dec8..0000000 --- a/inst/include/boost/simd/include/functions/compare_greater_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/compare_less.hpp b/inst/include/boost/simd/include/functions/compare_less.hpp deleted file mode 100644 index 1391688..0000000 --- a/inst/include/boost/simd/include/functions/compare_less.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/compare_less_equal.hpp b/inst/include/boost/simd/include/functions/compare_less_equal.hpp deleted file mode 100644 index eecbacb..0000000 --- a/inst/include/boost/simd/include/functions/compare_less_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/compare_not_equal.hpp b/inst/include/boost/simd/include/functions/compare_not_equal.hpp deleted file mode 100644 index 397ac6f..0000000 --- a/inst/include/boost/simd/include/functions/compare_not_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/complement.hpp b/inst/include/boost/simd/include/functions/complement.hpp deleted file mode 100644 index 3bca2b5..0000000 --- a/inst/include/boost/simd/include/functions/complement.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COMPLEMENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/conj.hpp b/inst/include/boost/simd/include/functions/conj.hpp deleted file mode 100644 index 4ff849f..0000000 --- a/inst/include/boost/simd/include/functions/conj.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_CONJ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_CONJ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/copysign.hpp b/inst/include/boost/simd/include/functions/copysign.hpp deleted file mode 100644 index 519943e..0000000 --- a/inst/include/boost/simd/include/functions/copysign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_COPYSIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_COPYSIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/correct_fma.hpp b/inst/include/boost/simd/include/functions/correct_fma.hpp deleted file mode 100644 index a4ff0c5..0000000 --- a/inst/include/boost/simd/include/functions/correct_fma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ctz.hpp b/inst/include/boost/simd/include/functions/ctz.hpp deleted file mode 100644 index 57a953f..0000000 --- a/inst/include/boost/simd/include/functions/ctz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_CTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_CTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/cummax.hpp b/inst/include/boost/simd/include/functions/cummax.hpp deleted file mode 100644 index fe5f7c4..0000000 --- a/inst/include/boost/simd/include/functions/cummax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_CUMMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/cummin.hpp b/inst/include/boost/simd/include/functions/cummin.hpp deleted file mode 100644 index 873ae56..0000000 --- a/inst/include/boost/simd/include/functions/cummin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_CUMMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/cumprod.hpp b/inst/include/boost/simd/include/functions/cumprod.hpp deleted file mode 100644 index 85bc569..0000000 --- a/inst/include/boost/simd/include/functions/cumprod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_CUMPROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/cumsum.hpp b/inst/include/boost/simd/include/functions/cumsum.hpp deleted file mode 100644 index c796fc6..0000000 --- a/inst/include/boost/simd/include/functions/cumsum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_CUMSUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/dec.hpp b/inst/include/boost/simd/include/functions/dec.hpp deleted file mode 100644 index ca76c2d..0000000 --- a/inst/include/boost/simd/include/functions/dec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DEC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DEC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/deinterleave_first.hpp b/inst/include/boost/simd/include/functions/deinterleave_first.hpp deleted file mode 100644 index d885be8..0000000 --- a/inst/include/boost/simd/include/functions/deinterleave_first.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DEINTERLEAVE_FIRST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/deinterleave_second.hpp b/inst/include/boost/simd/include/functions/deinterleave_second.hpp deleted file mode 100644 index 27d9838..0000000 --- a/inst/include/boost/simd/include/functions/deinterleave_second.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DEINTERLEAVE_SECOND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/dist.hpp b/inst/include/boost/simd/include/functions/dist.hpp deleted file mode 100644 index 0fcf6ef..0000000 --- a/inst/include/boost/simd/include/functions/dist.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DIST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DIST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/divceil.hpp b/inst/include/boost/simd/include/functions/divceil.hpp deleted file mode 100644 index e00c0e2..0000000 --- a/inst/include/boost/simd/include/functions/divceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DIVCEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/divfix.hpp b/inst/include/boost/simd/include/functions/divfix.hpp deleted file mode 100644 index c683939..0000000 --- a/inst/include/boost/simd/include/functions/divfix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DIVFIX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DIVFIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/divfloor.hpp b/inst/include/boost/simd/include/functions/divfloor.hpp deleted file mode 100644 index dfde8aa..0000000 --- a/inst/include/boost/simd/include/functions/divfloor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DIVFLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/divides.hpp b/inst/include/boost/simd/include/functions/divides.hpp deleted file mode 100644 index 6bc54df..0000000 --- a/inst/include/boost/simd/include/functions/divides.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DIVIDES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/divround.hpp b/inst/include/boost/simd/include/functions/divround.hpp deleted file mode 100644 index 19dad03..0000000 --- a/inst/include/boost/simd/include/functions/divround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DIVROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DIVROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/divround2even.hpp b/inst/include/boost/simd/include/functions/divround2even.hpp deleted file mode 100644 index 64211d7..0000000 --- a/inst/include/boost/simd/include/functions/divround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/divs.hpp b/inst/include/boost/simd/include/functions/divs.hpp deleted file mode 100644 index cf46c3c..0000000 --- a/inst/include/boost/simd/include/functions/divs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DIVS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DIVS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/dot.hpp b/inst/include/boost/simd/include/functions/dot.hpp deleted file mode 100644 index b54c6af..0000000 --- a/inst/include/boost/simd/include/functions/dot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_DOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_DOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/enumerate.hpp b/inst/include/boost/simd/include/functions/enumerate.hpp deleted file mode 100644 index f3256e1..0000000 --- a/inst/include/boost/simd/include/functions/enumerate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ENUMERATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/eps.hpp b/inst/include/boost/simd/include/functions/eps.hpp deleted file mode 100644 index ad849fa..0000000 --- a/inst/include/boost/simd/include/functions/eps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_EPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_EPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/eq.hpp b/inst/include/boost/simd/include/functions/eq.hpp deleted file mode 100644 index 22e4eaf..0000000 --- a/inst/include/boost/simd/include/functions/eq.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_EQ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_EQ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/evaluate.hpp b/inst/include/boost/simd/include/functions/evaluate.hpp deleted file mode 100644 index 2404268..0000000 --- a/inst/include/boost/simd/include/functions/evaluate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_EVALUATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_EVALUATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/exponent.hpp b/inst/include/boost/simd/include/functions/exponent.hpp deleted file mode 100644 index 80424c5..0000000 --- a/inst/include/boost/simd/include/functions/exponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_EXPONENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_EXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/exponentbits.hpp b/inst/include/boost/simd/include/functions/exponentbits.hpp deleted file mode 100644 index 159bca2..0000000 --- a/inst/include/boost/simd/include/functions/exponentbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_EXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_EXPONENTBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/extract.hpp b/inst/include/boost/simd/include/functions/extract.hpp deleted file mode 100644 index e1c8305..0000000 --- a/inst/include/boost/simd/include/functions/extract.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_EXTRACT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fam.hpp b/inst/include/boost/simd/include/functions/fam.hpp deleted file mode 100644 index fa0db98..0000000 --- a/inst/include/boost/simd/include/functions/fam.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_divides.hpp b/inst/include/boost/simd/include/functions/fast_divides.hpp deleted file mode 100644 index 17b6005..0000000 --- a/inst/include/boost/simd/include/functions/fast_divides.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_frexp.hpp b/inst/include/boost/simd/include/functions/fast_frexp.hpp deleted file mode 100644 index 4d20843..0000000 --- a/inst/include/boost/simd/include/functions/fast_frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_FREXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_hypot.hpp b/inst/include/boost/simd/include/functions/fast_hypot.hpp deleted file mode 100644 index 9729fcb..0000000 --- a/inst/include/boost/simd/include/functions/fast_hypot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_iround2even.hpp b/inst/include/boost/simd/include/functions/fast_iround2even.hpp deleted file mode 100644 index cd6f91b..0000000 --- a/inst/include/boost/simd/include/functions/fast_iround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_ldexp.hpp b/inst/include/boost/simd/include/functions/fast_ldexp.hpp deleted file mode 100644 index ed61ada..0000000 --- a/inst/include/boost/simd/include/functions/fast_ldexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_LDEXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_rec.hpp b/inst/include/boost/simd/include/functions/fast_rec.hpp deleted file mode 100644 index 9d2714f..0000000 --- a/inst/include/boost/simd/include/functions/fast_rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_rsqrt.hpp b/inst/include/boost/simd/include/functions/fast_rsqrt.hpp deleted file mode 100644 index 1491e42..0000000 --- a/inst/include/boost/simd/include/functions/fast_rsqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_sqrt.hpp b/inst/include/boost/simd/include/functions/fast_sqrt.hpp deleted file mode 100644 index 9af2040..0000000 --- a/inst/include/boost/simd/include/functions/fast_sqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_SQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_SQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_toint.hpp b/inst/include/boost/simd/include/functions/fast_toint.hpp deleted file mode 100644 index 1d3f8fc..0000000 --- a/inst/include/boost/simd/include/functions/fast_toint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_TOINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fast_trunc.hpp b/inst/include/boost/simd/include/functions/fast_trunc.hpp deleted file mode 100644 index aed84ef..0000000 --- a/inst/include/boost/simd/include/functions/fast_trunc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ffs.hpp b/inst/include/boost/simd/include/functions/ffs.hpp deleted file mode 100644 index 8de96c9..0000000 --- a/inst/include/boost/simd/include/functions/ffs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FFS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FFS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/firstbitset.hpp b/inst/include/boost/simd/include/functions/firstbitset.hpp deleted file mode 100644 index 5a1051b..0000000 --- a/inst/include/boost/simd/include/functions/firstbitset.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/firstbitunset.hpp b/inst/include/boost/simd/include/functions/firstbitunset.hpp deleted file mode 100644 index ede9290..0000000 --- a/inst/include/boost/simd/include/functions/firstbitunset.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/floor.hpp b/inst/include/boost/simd/include/functions/floor.hpp deleted file mode 100644 index 13967a8..0000000 --- a/inst/include/boost/simd/include/functions/floor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fma.hpp b/inst/include/boost/simd/include/functions/fma.hpp deleted file mode 100644 index 54d3bb5..0000000 --- a/inst/include/boost/simd/include/functions/fma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fms.hpp b/inst/include/boost/simd/include/functions/fms.hpp deleted file mode 100644 index 16bac1c..0000000 --- a/inst/include/boost/simd/include/functions/fms.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FMS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FMS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fnam.hpp b/inst/include/boost/simd/include/functions/fnam.hpp deleted file mode 100644 index 4151daa..0000000 --- a/inst/include/boost/simd/include/functions/fnam.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FNAM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FNAM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fnma.hpp b/inst/include/boost/simd/include/functions/fnma.hpp deleted file mode 100644 index c0a8ffd..0000000 --- a/inst/include/boost/simd/include/functions/fnma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FNMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FNMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fnms.hpp b/inst/include/boost/simd/include/functions/fnms.hpp deleted file mode 100644 index 7759190..0000000 --- a/inst/include/boost/simd/include/functions/fnms.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FNMS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FNMS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fnsm.hpp b/inst/include/boost/simd/include/functions/fnsm.hpp deleted file mode 100644 index cec218c..0000000 --- a/inst/include/boost/simd/include/functions/fnsm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FNSM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FNSM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/frac.hpp b/inst/include/boost/simd/include/functions/frac.hpp deleted file mode 100644 index c192fb6..0000000 --- a/inst/include/boost/simd/include/functions/frac.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FRAC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FRAC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/frexp.hpp b/inst/include/boost/simd/include/functions/frexp.hpp deleted file mode 100644 index 74af813..0000000 --- a/inst/include/boost/simd/include/functions/frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FREXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/fsm.hpp b/inst/include/boost/simd/include/functions/fsm.hpp deleted file mode 100644 index 2cfcff3..0000000 --- a/inst/include/boost/simd/include/functions/fsm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_FSM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_FSM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ge.hpp b/inst/include/boost/simd/include/functions/ge.hpp deleted file mode 100644 index 402f591..0000000 --- a/inst/include/boost/simd/include/functions/ge.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_GE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_GE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/genmask.hpp b/inst/include/boost/simd/include/functions/genmask.hpp deleted file mode 100644 index 7049f0f..0000000 --- a/inst/include/boost/simd/include/functions/genmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_GENMASK_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_GENMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/genmaskc.hpp b/inst/include/boost/simd/include/functions/genmaskc.hpp deleted file mode 100644 index 7a31f2d..0000000 --- a/inst/include/boost/simd/include/functions/genmaskc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_GENMASKC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_GENMASKC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/group.hpp b/inst/include/boost/simd/include/functions/group.hpp deleted file mode 100644 index adb76dd..0000000 --- a/inst/include/boost/simd/include/functions/group.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_GROUP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_GROUP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/groups.hpp b/inst/include/boost/simd/include/functions/groups.hpp deleted file mode 100644 index 3f88863..0000000 --- a/inst/include/boost/simd/include/functions/groups.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_GROUPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/gt.hpp b/inst/include/boost/simd/include/functions/gt.hpp deleted file mode 100644 index f7bd8ea..0000000 --- a/inst/include/boost/simd/include/functions/gt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_GT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_GT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/hi.hpp b/inst/include/boost/simd/include/functions/hi.hpp deleted file mode 100644 index 41b7f3e..0000000 --- a/inst/include/boost/simd/include/functions/hi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_HI_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_HI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/hmsb.hpp b/inst/include/boost/simd/include/functions/hmsb.hpp deleted file mode 100644 index 319b820..0000000 --- a/inst/include/boost/simd/include/functions/hmsb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_HMSB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_HMSB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/hypot.hpp b/inst/include/boost/simd/include/functions/hypot.hpp deleted file mode 100644 index 098b84a..0000000 --- a/inst/include/boost/simd/include/functions/hypot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_HYPOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/iceil.hpp b/inst/include/boost/simd/include/functions/iceil.hpp deleted file mode 100644 index 9927452..0000000 --- a/inst/include/boost/simd/include/functions/iceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ICEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ICEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/idivceil.hpp b/inst/include/boost/simd/include/functions/idivceil.hpp deleted file mode 100644 index 537a212..0000000 --- a/inst/include/boost/simd/include/functions/idivceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVCEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/idivfix.hpp b/inst/include/boost/simd/include/functions/idivfix.hpp deleted file mode 100644 index 742a1f1..0000000 --- a/inst/include/boost/simd/include/functions/idivfix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVFIX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVFIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/idivfloor.hpp b/inst/include/boost/simd/include/functions/idivfloor.hpp deleted file mode 100644 index 61a862d..0000000 --- a/inst/include/boost/simd/include/functions/idivfloor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/idivround.hpp b/inst/include/boost/simd/include/functions/idivround.hpp deleted file mode 100644 index 1890a38..0000000 --- a/inst/include/boost/simd/include/functions/idivround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/idivround2even.hpp b/inst/include/boost/simd/include/functions/idivround2even.hpp deleted file mode 100644 index 35cce20..0000000 --- a/inst/include/boost/simd/include/functions/idivround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/if_allbits_else.hpp b/inst/include/boost/simd/include/functions/if_allbits_else.hpp deleted file mode 100644 index a93fd04..0000000 --- a/inst/include/boost/simd/include/functions/if_allbits_else.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/if_else.hpp b/inst/include/boost/simd/include/functions/if_else.hpp deleted file mode 100644 index cede19b..0000000 --- a/inst/include/boost/simd/include/functions/if_else.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ELSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/if_else_allbits.hpp b/inst/include/boost/simd/include/functions/if_else_allbits.hpp deleted file mode 100644 index d8d8e0f..0000000 --- a/inst/include/boost/simd/include/functions/if_else_allbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/if_else_zero.hpp b/inst/include/boost/simd/include/functions/if_else_zero.hpp deleted file mode 100644 index 0fef510..0000000 --- a/inst/include/boost/simd/include/functions/if_else_zero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/if_one_else_zero.hpp b/inst/include/boost/simd/include/functions/if_one_else_zero.hpp deleted file mode 100644 index 6bedac3..0000000 --- a/inst/include/boost/simd/include/functions/if_one_else_zero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/if_zero_else.hpp b/inst/include/boost/simd/include/functions/if_zero_else.hpp deleted file mode 100644 index 3905730..0000000 --- a/inst/include/boost/simd/include/functions/if_zero_else.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/if_zero_else_one.hpp b/inst/include/boost/simd/include/functions/if_zero_else_one.hpp deleted file mode 100644 index 37a38e8..0000000 --- a/inst/include/boost/simd/include/functions/if_zero_else_one.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ifix.hpp b/inst/include/boost/simd/include/functions/ifix.hpp deleted file mode 100644 index 7e5e9d0..0000000 --- a/inst/include/boost/simd/include/functions/ifix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IFIX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IFIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ifloor.hpp b/inst/include/boost/simd/include/functions/ifloor.hpp deleted file mode 100644 index d178a55..0000000 --- a/inst/include/boost/simd/include/functions/ifloor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IFLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IFLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ifnotadd.hpp b/inst/include/boost/simd/include/functions/ifnotadd.hpp deleted file mode 100644 index 8cbe4ea..0000000 --- a/inst/include/boost/simd/include/functions/ifnotadd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IFNOTADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IFNOTADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ifnotdec.hpp b/inst/include/boost/simd/include/functions/ifnotdec.hpp deleted file mode 100644 index 54f935d..0000000 --- a/inst/include/boost/simd/include/functions/ifnotdec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IFNOTDEC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IFNOTDEC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ifnotinc.hpp b/inst/include/boost/simd/include/functions/ifnotinc.hpp deleted file mode 100644 index aabf068..0000000 --- a/inst/include/boost/simd/include/functions/ifnotinc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IFNOTINC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IFNOTINC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ifnotsub.hpp b/inst/include/boost/simd/include/functions/ifnotsub.hpp deleted file mode 100644 index b4567e0..0000000 --- a/inst/include/boost/simd/include/functions/ifnotsub.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IFNOTSUB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IFNOTSUB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ilog2.hpp b/inst/include/boost/simd/include/functions/ilog2.hpp deleted file mode 100644 index 7b59c2d..0000000 --- a/inst/include/boost/simd/include/functions/ilog2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ILOG2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ILOG2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ilogb.hpp b/inst/include/boost/simd/include/functions/ilogb.hpp deleted file mode 100644 index 746c26d..0000000 --- a/inst/include/boost/simd/include/functions/ilogb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ILOGB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/inbtrue.hpp b/inst/include/boost/simd/include/functions/inbtrue.hpp deleted file mode 100644 index 20f8e3d..0000000 --- a/inst/include/boost/simd/include/functions/inbtrue.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_INBTRUE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/inc.hpp b/inst/include/boost/simd/include/functions/inc.hpp deleted file mode 100644 index bf62e25..0000000 --- a/inst/include/boost/simd/include/functions/inc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_INC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_INC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/insert.hpp b/inst/include/boost/simd/include/functions/insert.hpp deleted file mode 100644 index b395e26..0000000 --- a/inst/include/boost/simd/include/functions/insert.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_INSERT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_INSERT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/interleave_even.hpp b/inst/include/boost/simd/include/functions/interleave_even.hpp deleted file mode 100644 index 471d129..0000000 --- a/inst/include/boost/simd/include/functions/interleave_even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_INTERLEAVE_EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/interleave_first.hpp b/inst/include/boost/simd/include/functions/interleave_first.hpp deleted file mode 100644 index 8d38fed..0000000 --- a/inst/include/boost/simd/include/functions/interleave_first.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_INTERLEAVE_FIRST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/interleave_odd.hpp b/inst/include/boost/simd/include/functions/interleave_odd.hpp deleted file mode 100644 index a54952f..0000000 --- a/inst/include/boost/simd/include/functions/interleave_odd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_INTERLEAVE_ODD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/interleave_second.hpp b/inst/include/boost/simd/include/functions/interleave_second.hpp deleted file mode 100644 index 1a7cd12..0000000 --- a/inst/include/boost/simd/include/functions/interleave_second.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_INTERLEAVE_SECOND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/iround.hpp b/inst/include/boost/simd/include/functions/iround.hpp deleted file mode 100644 index 5f387b9..0000000 --- a/inst/include/boost/simd/include/functions/iround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/iround2even.hpp b/inst/include/boost/simd/include/functions/iround2even.hpp deleted file mode 100644 index 9ec79a9..0000000 --- a/inst/include/boost/simd/include/functions/iround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_denormal.hpp b/inst/include/boost/simd/include/functions/is_denormal.hpp deleted file mode 100644 index 123e236..0000000 --- a/inst/include/boost/simd/include/functions/is_denormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_equal.hpp b/inst/include/boost/simd/include/functions/is_equal.hpp deleted file mode 100644 index c8ba0d7..0000000 --- a/inst/include/boost/simd/include/functions/is_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/include/functions/is_equal_with_equal_nans.hpp deleted file mode 100644 index ccc74cd..0000000 --- a/inst/include/boost/simd/include/functions/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_eqz.hpp b/inst/include/boost/simd/include/functions/is_eqz.hpp deleted file mode 100644 index 66f1314..0000000 --- a/inst/include/boost/simd/include/functions/is_eqz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_EQZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_even.hpp b/inst/include/boost/simd/include/functions/is_even.hpp deleted file mode 100644 index 5a85ae6..0000000 --- a/inst/include/boost/simd/include/functions/is_even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_false.hpp b/inst/include/boost/simd/include/functions/is_false.hpp deleted file mode 100644 index 91c1089..0000000 --- a/inst/include/boost/simd/include/functions/is_false.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_FALSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_FALSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_finite.hpp b/inst/include/boost/simd/include/functions/is_finite.hpp deleted file mode 100644 index 2de7cf9..0000000 --- a/inst/include/boost/simd/include/functions/is_finite.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_FINITE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_FINITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_flint.hpp b/inst/include/boost/simd/include/functions/is_flint.hpp deleted file mode 100644 index ede33fe..0000000 --- a/inst/include/boost/simd/include/functions/is_flint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_FLINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_FLINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_gez.hpp b/inst/include/boost/simd/include/functions/is_gez.hpp deleted file mode 100644 index fd459be..0000000 --- a/inst/include/boost/simd/include/functions/is_gez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_GEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_greater.hpp b/inst/include/boost/simd/include/functions/is_greater.hpp deleted file mode 100644 index 039780b..0000000 --- a/inst/include/boost/simd/include/functions/is_greater.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_GREATER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_greater_equal.hpp b/inst/include/boost/simd/include/functions/is_greater_equal.hpp deleted file mode 100644 index b115e55..0000000 --- a/inst/include/boost/simd/include/functions/is_greater_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_gtz.hpp b/inst/include/boost/simd/include/functions/is_gtz.hpp deleted file mode 100644 index b404fac..0000000 --- a/inst/include/boost/simd/include/functions/is_gtz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_GTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_imag.hpp b/inst/include/boost/simd/include/functions/is_imag.hpp deleted file mode 100644 index fb87e83..0000000 --- a/inst/include/boost/simd/include/functions/is_imag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_IMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_IMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_included.hpp b/inst/include/boost/simd/include/functions/is_included.hpp deleted file mode 100644 index 8bf2217..0000000 --- a/inst/include/boost/simd/include/functions/is_included.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_included_c.hpp b/inst/include/boost/simd/include/functions/is_included_c.hpp deleted file mode 100644 index 5d0c333..0000000 --- a/inst/include/boost/simd/include/functions/is_included_c.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_inf.hpp b/inst/include/boost/simd/include/functions/is_inf.hpp deleted file mode 100644 index 0761485..0000000 --- a/inst/include/boost/simd/include/functions/is_inf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_INF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_INF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_invalid.hpp b/inst/include/boost/simd/include/functions/is_invalid.hpp deleted file mode 100644 index 963d493..0000000 --- a/inst/include/boost/simd/include/functions/is_invalid.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_INVALID_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_INVALID_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_less.hpp b/inst/include/boost/simd/include/functions/is_less.hpp deleted file mode 100644 index a382639..0000000 --- a/inst/include/boost/simd/include/functions/is_less.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_LESS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_less_equal.hpp b/inst/include/boost/simd/include/functions/is_less_equal.hpp deleted file mode 100644 index 259d37d..0000000 --- a/inst/include/boost/simd/include/functions/is_less_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_lez.hpp b/inst/include/boost/simd/include/functions/is_lez.hpp deleted file mode 100644 index f361021..0000000 --- a/inst/include/boost/simd/include/functions/is_lez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_LEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_ltz.hpp b/inst/include/boost/simd/include/functions/is_ltz.hpp deleted file mode 100644 index 8b29f7a..0000000 --- a/inst/include/boost/simd/include/functions/is_ltz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_LTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_nan.hpp b/inst/include/boost/simd/include/functions/is_nan.hpp deleted file mode 100644 index 4799293..0000000 --- a/inst/include/boost/simd/include/functions/is_nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NAN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_negative.hpp b/inst/include/boost/simd/include/functions/is_negative.hpp deleted file mode 100644 index 72f4573..0000000 --- a/inst/include/boost/simd/include/functions/is_negative.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_nez.hpp b/inst/include/boost/simd/include/functions/is_nez.hpp deleted file mode 100644 index 1f7bd0b..0000000 --- a/inst/include/boost/simd/include/functions/is_nez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_nge.hpp b/inst/include/boost/simd/include/functions/is_nge.hpp deleted file mode 100644 index b877084..0000000 --- a/inst/include/boost/simd/include/functions/is_nge.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NGE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NGE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_ngez.hpp b/inst/include/boost/simd/include/functions/is_ngez.hpp deleted file mode 100644 index b490d93..0000000 --- a/inst/include/boost/simd/include/functions/is_ngez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NGEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NGEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_ngt.hpp b/inst/include/boost/simd/include/functions/is_ngt.hpp deleted file mode 100644 index 5dbe7f2..0000000 --- a/inst/include/boost/simd/include/functions/is_ngt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NGT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NGT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_ngtz.hpp b/inst/include/boost/simd/include/functions/is_ngtz.hpp deleted file mode 100644 index c97da97..0000000 --- a/inst/include/boost/simd/include/functions/is_ngtz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NGTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NGTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_nle.hpp b/inst/include/boost/simd/include/functions/is_nle.hpp deleted file mode 100644 index b49a4b4..0000000 --- a/inst/include/boost/simd/include/functions/is_nle.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NLE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NLE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_nlez.hpp b/inst/include/boost/simd/include/functions/is_nlez.hpp deleted file mode 100644 index 2d428a2..0000000 --- a/inst/include/boost/simd/include/functions/is_nlez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NLEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NLEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_nlt.hpp b/inst/include/boost/simd/include/functions/is_nlt.hpp deleted file mode 100644 index 3e6aec0..0000000 --- a/inst/include/boost/simd/include/functions/is_nlt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NLT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NLT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_nltz.hpp b/inst/include/boost/simd/include/functions/is_nltz.hpp deleted file mode 100644 index f9deaa1..0000000 --- a/inst/include/boost/simd/include/functions/is_nltz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NLTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NLTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_denormal.hpp b/inst/include/boost/simd/include/functions/is_not_denormal.hpp deleted file mode 100644 index d29d3f8..0000000 --- a/inst/include/boost/simd/include/functions/is_not_denormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_equal.hpp b/inst/include/boost/simd/include/functions/is_not_equal.hpp deleted file mode 100644 index b165a3b..0000000 --- a/inst/include/boost/simd/include/functions/is_not_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/include/functions/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 5f36a54..0000000 --- a/inst/include/boost/simd/include/functions/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_finite.hpp b/inst/include/boost/simd/include/functions/is_not_finite.hpp deleted file mode 100644 index 273b805..0000000 --- a/inst/include/boost/simd/include/functions/is_not_finite.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_greater.hpp b/inst/include/boost/simd/include/functions/is_not_greater.hpp deleted file mode 100644 index 4d080b7..0000000 --- a/inst/include/boost/simd/include/functions/is_not_greater.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_greater_equal.hpp b/inst/include/boost/simd/include/functions/is_not_greater_equal.hpp deleted file mode 100644 index 2253fde..0000000 --- a/inst/include/boost/simd/include/functions/is_not_greater_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_imag.hpp b/inst/include/boost/simd/include/functions/is_not_imag.hpp deleted file mode 100644 index 6dddae0..0000000 --- a/inst/include/boost/simd/include/functions/is_not_imag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_infinite.hpp b/inst/include/boost/simd/include/functions/is_not_infinite.hpp deleted file mode 100644 index 57af754..0000000 --- a/inst/include/boost/simd/include/functions/is_not_infinite.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_less.hpp b/inst/include/boost/simd/include/functions/is_not_less.hpp deleted file mode 100644 index ae5faad..0000000 --- a/inst/include/boost/simd/include/functions/is_not_less.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_less_equal.hpp b/inst/include/boost/simd/include/functions/is_not_less_equal.hpp deleted file mode 100644 index c2a5260..0000000 --- a/inst/include/boost/simd/include/functions/is_not_less_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_nan.hpp b/inst/include/boost/simd/include/functions/is_not_nan.hpp deleted file mode 100644 index d09cbb9..0000000 --- a/inst/include/boost/simd/include/functions/is_not_nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_not_real.hpp b/inst/include/boost/simd/include/functions/is_not_real.hpp deleted file mode 100644 index d006d5d..0000000 --- a/inst/include/boost/simd/include/functions/is_not_real.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_odd.hpp b/inst/include/boost/simd/include/functions/is_odd.hpp deleted file mode 100644 index c6e50d9..0000000 --- a/inst/include/boost/simd/include/functions/is_odd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_ODD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_ODD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_ord.hpp b/inst/include/boost/simd/include/functions/is_ord.hpp deleted file mode 100644 index 05bc625..0000000 --- a/inst/include/boost/simd/include/functions/is_ord.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_ORD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_positive.hpp b/inst/include/boost/simd/include/functions/is_positive.hpp deleted file mode 100644 index 36b4008..0000000 --- a/inst/include/boost/simd/include/functions/is_positive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_real.hpp b/inst/include/boost/simd/include/functions/is_real.hpp deleted file mode 100644 index 2c67c73..0000000 --- a/inst/include/boost/simd/include/functions/is_real.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_REAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_REAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_simd_logical.hpp b/inst/include/boost/simd/include/functions/is_simd_logical.hpp deleted file mode 100644 index 6f3bb36..0000000 --- a/inst/include/boost/simd/include/functions/is_simd_logical.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_true.hpp b/inst/include/boost/simd/include/functions/is_true.hpp deleted file mode 100644 index 8de56a5..0000000 --- a/inst/include/boost/simd/include/functions/is_true.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_TRUE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_TRUE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/is_unord.hpp b/inst/include/boost/simd/include/functions/is_unord.hpp deleted file mode 100644 index 4e9cb7f..0000000 --- a/inst/include/boost/simd/include/functions/is_unord.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_IS_UNORD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/itrunc.hpp b/inst/include/boost/simd/include/functions/itrunc.hpp deleted file mode 100644 index 5d9cfa3..0000000 --- a/inst/include/boost/simd/include/functions/itrunc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ITRUNC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ITRUNC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ldexp.hpp b/inst/include/boost/simd/include/functions/ldexp.hpp deleted file mode 100644 index de5ae28..0000000 --- a/inst/include/boost/simd/include/functions/ldexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LDEXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ldiv.hpp b/inst/include/boost/simd/include/functions/ldiv.hpp deleted file mode 100644 index d912fc1..0000000 --- a/inst/include/boost/simd/include/functions/ldiv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LDIV_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LDIV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ldivide.hpp b/inst/include/boost/simd/include/functions/ldivide.hpp deleted file mode 100644 index 5882337..0000000 --- a/inst/include/boost/simd/include/functions/ldivide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LDIVIDE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LDIVIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/le.hpp b/inst/include/boost/simd/include/functions/le.hpp deleted file mode 100644 index fcae4b2..0000000 --- a/inst/include/boost/simd/include/functions/le.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/lo.hpp b/inst/include/boost/simd/include/functions/lo.hpp deleted file mode 100644 index 78d5d34..0000000 --- a/inst/include/boost/simd/include/functions/lo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/load.hpp b/inst/include/boost/simd/include/functions/load.hpp deleted file mode 100644 index 8db7ea3..0000000 --- a/inst/include/boost/simd/include/functions/load.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOAD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/logical_and.hpp b/inst/include/boost/simd/include/functions/logical_and.hpp deleted file mode 100644 index 62dfb12..0000000 --- a/inst/include/boost/simd/include/functions/logical_and.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/logical_andnot.hpp b/inst/include/boost/simd/include/functions/logical_andnot.hpp deleted file mode 100644 index 4dd785a..0000000 --- a/inst/include/boost/simd/include/functions/logical_andnot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/logical_not.hpp b/inst/include/boost/simd/include/functions/logical_not.hpp deleted file mode 100644 index eca964f..0000000 --- a/inst/include/boost/simd/include/functions/logical_not.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/logical_notand.hpp b/inst/include/boost/simd/include/functions/logical_notand.hpp deleted file mode 100644 index 0551139..0000000 --- a/inst/include/boost/simd/include/functions/logical_notand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/logical_notor.hpp b/inst/include/boost/simd/include/functions/logical_notor.hpp deleted file mode 100644 index 18462b7..0000000 --- a/inst/include/boost/simd/include/functions/logical_notor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/logical_or.hpp b/inst/include/boost/simd/include/functions/logical_or.hpp deleted file mode 100644 index 50327d0..0000000 --- a/inst/include/boost/simd/include/functions/logical_or.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/logical_ornot.hpp b/inst/include/boost/simd/include/functions/logical_ornot.hpp deleted file mode 100644 index aeacbf2..0000000 --- a/inst/include/boost/simd/include/functions/logical_ornot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/logical_xor.hpp b/inst/include/boost/simd/include/functions/logical_xor.hpp deleted file mode 100644 index 1d4ec96..0000000 --- a/inst/include/boost/simd/include/functions/logical_xor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/lookup.hpp b/inst/include/boost/simd/include/functions/lookup.hpp deleted file mode 100644 index 85ae68f..0000000 --- a/inst/include/boost/simd/include/functions/lookup.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LOOKUP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/lt.hpp b/inst/include/boost/simd/include/functions/lt.hpp deleted file mode 100644 index ab6f033..0000000 --- a/inst/include/boost/simd/include/functions/lt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_LT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_LT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/madd.hpp b/inst/include/boost/simd/include/functions/madd.hpp deleted file mode 100644 index eb1d0d5..0000000 --- a/inst/include/boost/simd/include/functions/madd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/majority.hpp b/inst/include/boost/simd/include/functions/majority.hpp deleted file mode 100644 index 21fb32a..0000000 --- a/inst/include/boost/simd/include/functions/majority.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MAJORITY_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MAJORITY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/make.hpp b/inst/include/boost/simd/include/functions/make.hpp deleted file mode 100644 index 34f26c6..0000000 --- a/inst/include/boost/simd/include/functions/make.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MAKE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MAKE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/mantissa.hpp b/inst/include/boost/simd/include/functions/mantissa.hpp deleted file mode 100644 index 98b6d95..0000000 --- a/inst/include/boost/simd/include/functions/mantissa.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MANTISSA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MANTISSA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/map.hpp b/inst/include/boost/simd/include/functions/map.hpp deleted file mode 100644 index 43313ff..0000000 --- a/inst/include/boost/simd/include/functions/map.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MAP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MAP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/mask2logical.hpp b/inst/include/boost/simd/include/functions/mask2logical.hpp deleted file mode 100644 index 8c2d32b..0000000 --- a/inst/include/boost/simd/include/functions/mask2logical.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/max.hpp b/inst/include/boost/simd/include/functions/max.hpp deleted file mode 100644 index 873df80..0000000 --- a/inst/include/boost/simd/include/functions/max.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/maximum.hpp b/inst/include/boost/simd/include/functions/maximum.hpp deleted file mode 100644 index 22ff886..0000000 --- a/inst/include/boost/simd/include/functions/maximum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MAXIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/maxmag.hpp b/inst/include/boost/simd/include/functions/maxmag.hpp deleted file mode 100644 index 24e8886..0000000 --- a/inst/include/boost/simd/include/functions/maxmag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MAXMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MAXMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/maxnum.hpp b/inst/include/boost/simd/include/functions/maxnum.hpp deleted file mode 100644 index 2ed6161..0000000 --- a/inst/include/boost/simd/include/functions/maxnum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MAXNUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MAXNUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/maxnummag.hpp b/inst/include/boost/simd/include/functions/maxnummag.hpp deleted file mode 100644 index ee9efb2..0000000 --- a/inst/include/boost/simd/include/functions/maxnummag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MAXNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MAXNUMMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/meanof.hpp b/inst/include/boost/simd/include/functions/meanof.hpp deleted file mode 100644 index a73d627..0000000 --- a/inst/include/boost/simd/include/functions/meanof.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MEANOF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MEANOF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/min.hpp b/inst/include/boost/simd/include/functions/min.hpp deleted file mode 100644 index b28d77f..0000000 --- a/inst/include/boost/simd/include/functions/min.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/minimum.hpp b/inst/include/boost/simd/include/functions/minimum.hpp deleted file mode 100644 index 5e4145a..0000000 --- a/inst/include/boost/simd/include/functions/minimum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MINIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/minmag.hpp b/inst/include/boost/simd/include/functions/minmag.hpp deleted file mode 100644 index 964d94b..0000000 --- a/inst/include/boost/simd/include/functions/minmag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MINMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MINMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/minmod.hpp b/inst/include/boost/simd/include/functions/minmod.hpp deleted file mode 100644 index 06b129e..0000000 --- a/inst/include/boost/simd/include/functions/minmod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MINMOD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MINMOD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/minnum.hpp b/inst/include/boost/simd/include/functions/minnum.hpp deleted file mode 100644 index 15bdd42..0000000 --- a/inst/include/boost/simd/include/functions/minnum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MINNUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MINNUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/minnummag.hpp b/inst/include/boost/simd/include/functions/minnummag.hpp deleted file mode 100644 index 28bd5cc..0000000 --- a/inst/include/boost/simd/include/functions/minnummag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MINNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MINNUMMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/minus.hpp b/inst/include/boost/simd/include/functions/minus.hpp deleted file mode 100644 index 4663e1d..0000000 --- a/inst/include/boost/simd/include/functions/minus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/minusone.hpp b/inst/include/boost/simd/include/functions/minusone.hpp deleted file mode 100644 index 0384fd1..0000000 --- a/inst/include/boost/simd/include/functions/minusone.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MINUSONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MINUSONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/mod.hpp b/inst/include/boost/simd/include/functions/mod.hpp deleted file mode 100644 index a66ff25..0000000 --- a/inst/include/boost/simd/include/functions/mod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MOD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MOD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/modf.hpp b/inst/include/boost/simd/include/functions/modf.hpp deleted file mode 100644 index 073334c..0000000 --- a/inst/include/boost/simd/include/functions/modf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MODF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MODF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/modulo.hpp b/inst/include/boost/simd/include/functions/modulo.hpp deleted file mode 100644 index 6cd9d04..0000000 --- a/inst/include/boost/simd/include/functions/modulo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MODULO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MODULO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/muls.hpp b/inst/include/boost/simd/include/functions/muls.hpp deleted file mode 100644 index ca7ffb6..0000000 --- a/inst/include/boost/simd/include/functions/muls.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MULS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MULS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/multiplies.hpp b/inst/include/boost/simd/include/functions/multiplies.hpp deleted file mode 100644 index bdaa3e5..0000000 --- a/inst/include/boost/simd/include/functions/multiplies.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_MULTIPLIES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/nbtrue.hpp b/inst/include/boost/simd/include/functions/nbtrue.hpp deleted file mode 100644 index 61032c0..0000000 --- a/inst/include/boost/simd/include/functions/nbtrue.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NBTRUE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ne.hpp b/inst/include/boost/simd/include/functions/ne.hpp deleted file mode 100644 index 5b8e70e..0000000 --- a/inst/include/boost/simd/include/functions/ne.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/negate.hpp b/inst/include/boost/simd/include/functions/negate.hpp deleted file mode 100644 index 8d95df4..0000000 --- a/inst/include/boost/simd/include/functions/negate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NEGATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/negatenz.hpp b/inst/include/boost/simd/include/functions/negatenz.hpp deleted file mode 100644 index 3fb1322..0000000 --- a/inst/include/boost/simd/include/functions/negatenz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NEGATENZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NEGATENZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/negif.hpp b/inst/include/boost/simd/include/functions/negif.hpp deleted file mode 100644 index 03230eb..0000000 --- a/inst/include/boost/simd/include/functions/negif.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NEGIF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NEGIF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/negifnot.hpp b/inst/include/boost/simd/include/functions/negifnot.hpp deleted file mode 100644 index 44cd60b..0000000 --- a/inst/include/boost/simd/include/functions/negifnot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NEGIFNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NEGIFNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/negs.hpp b/inst/include/boost/simd/include/functions/negs.hpp deleted file mode 100644 index af19593..0000000 --- a/inst/include/boost/simd/include/functions/negs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NEGS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NEGS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/next.hpp b/inst/include/boost/simd/include/functions/next.hpp deleted file mode 100644 index 10ea189..0000000 --- a/inst/include/boost/simd/include/functions/next.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NEXT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NEXT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/nextafter.hpp b/inst/include/boost/simd/include/functions/nextafter.hpp deleted file mode 100644 index 4cdaf02..0000000 --- a/inst/include/boost/simd/include/functions/nextafter.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NEXTAFTER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NEXTAFTER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/nextpow2.hpp b/inst/include/boost/simd/include/functions/nextpow2.hpp deleted file mode 100644 index a1c698b..0000000 --- a/inst/include/boost/simd/include/functions/nextpow2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NEXTPOW2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NEXTPOW2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/none.hpp b/inst/include/boost/simd/include/functions/none.hpp deleted file mode 100644 index 5a8c24e..0000000 --- a/inst/include/boost/simd/include/functions/none.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_NONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_NONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/oneminus.hpp b/inst/include/boost/simd/include/functions/oneminus.hpp deleted file mode 100644 index abbce96..0000000 --- a/inst/include/boost/simd/include/functions/oneminus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ONEMINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ONEMINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/oneplus.hpp b/inst/include/boost/simd/include/functions/oneplus.hpp deleted file mode 100644 index 4ec4e3e..0000000 --- a/inst/include/boost/simd/include/functions/oneplus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ONEPLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ONEPLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/optimize.hpp b/inst/include/boost/simd/include/functions/optimize.hpp deleted file mode 100644 index 7ab5a50..0000000 --- a/inst/include/boost/simd/include/functions/optimize.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_OPTIMIZE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_OPTIMIZE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/plus.hpp b/inst/include/boost/simd/include/functions/plus.hpp deleted file mode 100644 index 9cbbc73..0000000 --- a/inst/include/boost/simd/include/functions/plus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_PLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_PLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/popcnt.hpp b/inst/include/boost/simd/include/functions/popcnt.hpp deleted file mode 100644 index 2241d24..0000000 --- a/inst/include/boost/simd/include/functions/popcnt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_POPCNT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_POPCNT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/posmax.hpp b/inst/include/boost/simd/include/functions/posmax.hpp deleted file mode 100644 index 2a2a78e..0000000 --- a/inst/include/boost/simd/include/functions/posmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_POSMAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_POSMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/posmin.hpp b/inst/include/boost/simd/include/functions/posmin.hpp deleted file mode 100644 index 89d877b..0000000 --- a/inst/include/boost/simd/include/functions/posmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_POSMIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_POSMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/predecessor.hpp b/inst/include/boost/simd/include/functions/predecessor.hpp deleted file mode 100644 index 5ef0fa4..0000000 --- a/inst/include/boost/simd/include/functions/predecessor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_PREDECESSOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_PREDECESSOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/prev.hpp b/inst/include/boost/simd/include/functions/prev.hpp deleted file mode 100644 index 1ecd75a..0000000 --- a/inst/include/boost/simd/include/functions/prev.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_PREV_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_PREV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/prod.hpp b/inst/include/boost/simd/include/functions/prod.hpp deleted file mode 100644 index eb7c938..0000000 --- a/inst/include/boost/simd/include/functions/prod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_PROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_PROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/raw_rec.hpp b/inst/include/boost/simd/include/functions/raw_rec.hpp deleted file mode 100644 index 9e1dfcb..0000000 --- a/inst/include/boost/simd/include/functions/raw_rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_RAW_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/rdivide.hpp b/inst/include/boost/simd/include/functions/rdivide.hpp deleted file mode 100644 index b338867..0000000 --- a/inst/include/boost/simd/include/functions/rdivide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_RDIVIDE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_RDIVIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/rec.hpp b/inst/include/boost/simd/include/functions/rec.hpp deleted file mode 100644 index 5bd6de5..0000000 --- a/inst/include/boost/simd/include/functions/rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/refine_rec.hpp b/inst/include/boost/simd/include/functions/refine_rec.hpp deleted file mode 100644 index 7a7a4e4..0000000 --- a/inst/include/boost/simd/include/functions/refine_rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REFINE_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REFINE_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/rem.hpp b/inst/include/boost/simd/include/functions/rem.hpp deleted file mode 100644 index 7341ed9..0000000 --- a/inst/include/boost/simd/include/functions/rem.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/remainder.hpp b/inst/include/boost/simd/include/functions/remainder.hpp deleted file mode 100644 index 6819e83..0000000 --- a/inst/include/boost/simd/include/functions/remainder.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REMAINDER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REMAINDER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/remquo.hpp b/inst/include/boost/simd/include/functions/remquo.hpp deleted file mode 100644 index 5b41c9e..0000000 --- a/inst/include/boost/simd/include/functions/remquo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REMQUO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REMQUO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/remround.hpp b/inst/include/boost/simd/include/functions/remround.hpp deleted file mode 100644 index 1cfd419..0000000 --- a/inst/include/boost/simd/include/functions/remround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REMROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REMROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/repeat_lower_half.hpp b/inst/include/boost/simd/include/functions/repeat_lower_half.hpp deleted file mode 100644 index 5b77189..0000000 --- a/inst/include/boost/simd/include/functions/repeat_lower_half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REPEAT_LOWER_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/repeat_upper_half.hpp b/inst/include/boost/simd/include/functions/repeat_upper_half.hpp deleted file mode 100644 index 0d3bee6..0000000 --- a/inst/include/boost/simd/include/functions/repeat_upper_half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REPEAT_UPPER_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/reverse.hpp b/inst/include/boost/simd/include/functions/reverse.hpp deleted file mode 100644 index 5b1f1d0..0000000 --- a/inst/include/boost/simd/include/functions/reverse.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REVERSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/reversebits.hpp b/inst/include/boost/simd/include/functions/reversebits.hpp deleted file mode 100644 index 1826e87..0000000 --- a/inst/include/boost/simd/include/functions/reversebits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/rol.hpp b/inst/include/boost/simd/include/functions/rol.hpp deleted file mode 100644 index 58e7a17..0000000 --- a/inst/include/boost/simd/include/functions/rol.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ROL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ROL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ror.hpp b/inst/include/boost/simd/include/functions/ror.hpp deleted file mode 100644 index 1b19891..0000000 --- a/inst/include/boost/simd/include/functions/ror.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ROR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ROR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/round.hpp b/inst/include/boost/simd/include/functions/round.hpp deleted file mode 100644 index 1e7552d..0000000 --- a/inst/include/boost/simd/include/functions/round.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/round2even.hpp b/inst/include/boost/simd/include/functions/round2even.hpp deleted file mode 100644 index 86ca6d2..0000000 --- a/inst/include/boost/simd/include/functions/round2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/rrol.hpp b/inst/include/boost/simd/include/functions/rrol.hpp deleted file mode 100644 index 13425f3..0000000 --- a/inst/include/boost/simd/include/functions/rrol.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_RROL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_RROL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/rror.hpp b/inst/include/boost/simd/include/functions/rror.hpp deleted file mode 100644 index dccf290..0000000 --- a/inst/include/boost/simd/include/functions/rror.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_RROR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_RROR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/rshl.hpp b/inst/include/boost/simd/include/functions/rshl.hpp deleted file mode 100644 index 421023c..0000000 --- a/inst/include/boost/simd/include/functions/rshl.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_RSHL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_RSHL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/rshr.hpp b/inst/include/boost/simd/include/functions/rshr.hpp deleted file mode 100644 index 4e99767..0000000 --- a/inst/include/boost/simd/include/functions/rshr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_RSHR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_RSHR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/rsqrt.hpp b/inst/include/boost/simd/include/functions/rsqrt.hpp deleted file mode 100644 index 9d8131f..0000000 --- a/inst/include/boost/simd/include/functions/rsqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_RSQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/run.hpp b/inst/include/boost/simd/include/functions/run.hpp deleted file mode 100644 index fbdbf9f..0000000 --- a/inst/include/boost/simd/include/functions/run.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_RUN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_RUN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/safe_max.hpp b/inst/include/boost/simd/include/functions/safe_max.hpp deleted file mode 100644 index 7645edd..0000000 --- a/inst/include/boost/simd/include/functions/safe_max.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SAFE_MAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SAFE_MAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/safe_min.hpp b/inst/include/boost/simd/include/functions/safe_min.hpp deleted file mode 100644 index 9b7af93..0000000 --- a/inst/include/boost/simd/include/functions/safe_min.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SAFE_MIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SAFE_MIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/saturate.hpp b/inst/include/boost/simd/include/functions/saturate.hpp deleted file mode 100644 index a5c882e..0000000 --- a/inst/include/boost/simd/include/functions/saturate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SATURATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SATURATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/saturate_at.hpp b/inst/include/boost/simd/include/functions/saturate_at.hpp deleted file mode 100644 index f399857..0000000 --- a/inst/include/boost/simd/include/functions/saturate_at.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SATURATE_AT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SATURATE_AT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/sbits.hpp b/inst/include/boost/simd/include/functions/sbits.hpp deleted file mode 100644 index d05efd5..0000000 --- a/inst/include/boost/simd/include/functions/sbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/abs.hpp b/inst/include/boost/simd/include/functions/scalar/abs.hpp deleted file mode 100644 index 52d463c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/abs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ABS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ABS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/abss.hpp b/inst/include/boost/simd/include/functions/scalar/abss.hpp deleted file mode 100644 index b57b3a2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/abss.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ABSS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ABSS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/adds.hpp b/inst/include/boost/simd/include/functions/scalar/adds.hpp deleted file mode 100644 index 2508c8e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/adds.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ADDS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ADDS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/aligned_load.hpp b/inst/include/boost/simd/include/functions/scalar/aligned_load.hpp deleted file mode 100644 index bc02414..0000000 --- a/inst/include/boost/simd/include/functions/scalar/aligned_load.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_LOAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/aligned_store.hpp b/inst/include/boost/simd/include/functions/scalar/aligned_store.hpp deleted file mode 100644 index e8bc39d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/aligned_store.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_STORE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/all.hpp b/inst/include/boost/simd/include/functions/scalar/all.hpp deleted file mode 100644 index e542448..0000000 --- a/inst/include/boost/simd/include/functions/scalar/all.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ALL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ALL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/all_reduce.hpp b/inst/include/boost/simd/include/functions/scalar/all_reduce.hpp deleted file mode 100644 index de9dc4c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/all_reduce.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ALL_REDUCE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/any.hpp b/inst/include/boost/simd/include/functions/scalar/any.hpp deleted file mode 100644 index 66d6d01..0000000 --- a/inst/include/boost/simd/include/functions/scalar/any.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ANY_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ANY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/arg.hpp b/inst/include/boost/simd/include/functions/scalar/arg.hpp deleted file mode 100644 index d22769a..0000000 --- a/inst/include/boost/simd/include/functions/scalar/arg.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ARG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ARG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/assign.hpp b/inst/include/boost/simd/include/functions/scalar/assign.hpp deleted file mode 100644 index 5dd0a8d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/assign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ASSIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ASSIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/average.hpp b/inst/include/boost/simd/include/functions/scalar/average.hpp deleted file mode 100644 index 27bf53f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/average.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_AVERAGE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_AVERAGE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitfloating.hpp b/inst/include/boost/simd/include/functions/scalar/bitfloating.hpp deleted file mode 100644 index 77d39fd..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitfloating.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITFLOATING_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITFLOATING_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitget.hpp b/inst/include/boost/simd/include/functions/scalar/bitget.hpp deleted file mode 100644 index 63cde4f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitget.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITGET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITGET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitinteger.hpp b/inst/include/boost/simd/include/functions/scalar/bitinteger.hpp deleted file mode 100644 index ed99dd3..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitinteger.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITINTEGER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITINTEGER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitofsign.hpp b/inst/include/boost/simd/include/functions/scalar/bitofsign.hpp deleted file mode 100644 index 88d7694..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitofsign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITOFSIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITOFSIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bits.hpp b/inst/include/boost/simd/include/functions/scalar/bits.hpp deleted file mode 100644 index 32bb697..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitset.hpp b/inst/include/boost/simd/include/functions/scalar/bitset.hpp deleted file mode 100644 index ca32055..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitset.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITSET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITSET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitwise_and.hpp b/inst/include/boost/simd/include/functions/scalar/bitwise_and.hpp deleted file mode 100644 index 2bae7e1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitwise_and.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_AND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitwise_andnot.hpp b/inst/include/boost/simd/include/functions/scalar/bitwise_andnot.hpp deleted file mode 100644 index deeeebe..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitwise_andnot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ANDNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitwise_cast.hpp b/inst/include/boost/simd/include/functions/scalar/bitwise_cast.hpp deleted file mode 100644 index dd20c4e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitwise_cast.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_CAST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitwise_notand.hpp b/inst/include/boost/simd/include/functions/scalar/bitwise_notand.hpp deleted file mode 100644 index 39d7052..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitwise_notand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitwise_notor.hpp b/inst/include/boost/simd/include/functions/scalar/bitwise_notor.hpp deleted file mode 100644 index 51f9073..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitwise_notor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitwise_or.hpp b/inst/include/boost/simd/include/functions/scalar/bitwise_or.hpp deleted file mode 100644 index 7a7410b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitwise_or.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_OR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitwise_ornot.hpp b/inst/include/boost/simd/include/functions/scalar/bitwise_ornot.hpp deleted file mode 100644 index 1eeaf96..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitwise_ornot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ORNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitwise_select.hpp b/inst/include/boost/simd/include/functions/scalar/bitwise_select.hpp deleted file mode 100644 index 8920a9e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitwise_select.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_SELECT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_SELECT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/bitwise_xor.hpp b/inst/include/boost/simd/include/functions/scalar/bitwise_xor.hpp deleted file mode 100644 index 46c293a..0000000 --- a/inst/include/boost/simd/include/functions/scalar/bitwise_xor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BITWISE_XOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/broadcast.hpp b/inst/include/boost/simd/include/functions/scalar/broadcast.hpp deleted file mode 100644 index af17735..0000000 --- a/inst/include/boost/simd/include/functions/scalar/broadcast.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_BROADCAST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ceil.hpp b/inst/include/boost/simd/include/functions/scalar/ceil.hpp deleted file mode 100644 index dd15212..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/clz.hpp b/inst/include/boost/simd/include/functions/scalar/clz.hpp deleted file mode 100644 index c14acf7..0000000 --- a/inst/include/boost/simd/include/functions/scalar/clz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CLZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CLZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/combine.hpp b/inst/include/boost/simd/include/functions/scalar/combine.hpp deleted file mode 100644 index 28b2f65..0000000 --- a/inst/include/boost/simd/include/functions/scalar/combine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMBINE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMBINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/comma.hpp b/inst/include/boost/simd/include/functions/scalar/comma.hpp deleted file mode 100644 index bcc80d0..0000000 --- a/inst/include/boost/simd/include/functions/scalar/comma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/compare_equal.hpp b/inst/include/boost/simd/include/functions/scalar/compare_equal.hpp deleted file mode 100644 index 08f463a..0000000 --- a/inst/include/boost/simd/include/functions/scalar/compare_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/compare_greater.hpp b/inst/include/boost/simd/include/functions/scalar/compare_greater.hpp deleted file mode 100644 index daa0396..0000000 --- a/inst/include/boost/simd/include/functions/scalar/compare_greater.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/compare_greater_equal.hpp b/inst/include/boost/simd/include/functions/scalar/compare_greater_equal.hpp deleted file mode 100644 index 62a9ad9..0000000 --- a/inst/include/boost/simd/include/functions/scalar/compare_greater_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/compare_less.hpp b/inst/include/boost/simd/include/functions/scalar/compare_less.hpp deleted file mode 100644 index 5c6f05b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/compare_less.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/compare_less_equal.hpp b/inst/include/boost/simd/include/functions/scalar/compare_less_equal.hpp deleted file mode 100644 index e6c7b8b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/compare_less_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/compare_not_equal.hpp b/inst/include/boost/simd/include/functions/scalar/compare_not_equal.hpp deleted file mode 100644 index 3c8940f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/compare_not_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/complement.hpp b/inst/include/boost/simd/include/functions/scalar/complement.hpp deleted file mode 100644 index d93b61c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/complement.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COMPLEMENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/conj.hpp b/inst/include/boost/simd/include/functions/scalar/conj.hpp deleted file mode 100644 index ba8a3fa..0000000 --- a/inst/include/boost/simd/include/functions/scalar/conj.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CONJ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CONJ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/copysign.hpp b/inst/include/boost/simd/include/functions/scalar/copysign.hpp deleted file mode 100644 index dd78323..0000000 --- a/inst/include/boost/simd/include/functions/scalar/copysign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COPYSIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_COPYSIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/correct_fma.hpp b/inst/include/boost/simd/include/functions/scalar/correct_fma.hpp deleted file mode 100644 index 6b1d6c1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/correct_fma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CORRECT_FMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ctz.hpp b/inst/include/boost/simd/include/functions/scalar/ctz.hpp deleted file mode 100644 index e296470..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ctz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/cummax.hpp b/inst/include/boost/simd/include/functions/scalar/cummax.hpp deleted file mode 100644 index 67f9516..0000000 --- a/inst/include/boost/simd/include/functions/scalar/cummax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CUMMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/cummin.hpp b/inst/include/boost/simd/include/functions/scalar/cummin.hpp deleted file mode 100644 index 2cd043a..0000000 --- a/inst/include/boost/simd/include/functions/scalar/cummin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CUMMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/cumprod.hpp b/inst/include/boost/simd/include/functions/scalar/cumprod.hpp deleted file mode 100644 index 83ceb41..0000000 --- a/inst/include/boost/simd/include/functions/scalar/cumprod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CUMPROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/cumsum.hpp b/inst/include/boost/simd/include/functions/scalar/cumsum.hpp deleted file mode 100644 index a4a57ff..0000000 --- a/inst/include/boost/simd/include/functions/scalar/cumsum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_CUMSUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/dec.hpp b/inst/include/boost/simd/include/functions/scalar/dec.hpp deleted file mode 100644 index e80a757..0000000 --- a/inst/include/boost/simd/include/functions/scalar/dec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DEC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DEC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/deinterleave_first.hpp b/inst/include/boost/simd/include/functions/scalar/deinterleave_first.hpp deleted file mode 100644 index aec6f7f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/deinterleave_first.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DEINTERLEAVE_FIRST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/deinterleave_second.hpp b/inst/include/boost/simd/include/functions/scalar/deinterleave_second.hpp deleted file mode 100644 index ac6b1ae..0000000 --- a/inst/include/boost/simd/include/functions/scalar/deinterleave_second.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DEINTERLEAVE_SECOND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/dist.hpp b/inst/include/boost/simd/include/functions/scalar/dist.hpp deleted file mode 100644 index 0dd891a..0000000 --- a/inst/include/boost/simd/include/functions/scalar/dist.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/divceil.hpp b/inst/include/boost/simd/include/functions/scalar/divceil.hpp deleted file mode 100644 index 9333606..0000000 --- a/inst/include/boost/simd/include/functions/scalar/divceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVCEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/divfix.hpp b/inst/include/boost/simd/include/functions/scalar/divfix.hpp deleted file mode 100644 index d7c3438..0000000 --- a/inst/include/boost/simd/include/functions/scalar/divfix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVFIX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVFIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/divfloor.hpp b/inst/include/boost/simd/include/functions/scalar/divfloor.hpp deleted file mode 100644 index 814bbc5..0000000 --- a/inst/include/boost/simd/include/functions/scalar/divfloor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVFLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/divides.hpp b/inst/include/boost/simd/include/functions/scalar/divides.hpp deleted file mode 100644 index 87b56c0..0000000 --- a/inst/include/boost/simd/include/functions/scalar/divides.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVIDES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/divround.hpp b/inst/include/boost/simd/include/functions/scalar/divround.hpp deleted file mode 100644 index 94fcfee..0000000 --- a/inst/include/boost/simd/include/functions/scalar/divround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/divround2even.hpp b/inst/include/boost/simd/include/functions/scalar/divround2even.hpp deleted file mode 100644 index 247a671..0000000 --- a/inst/include/boost/simd/include/functions/scalar/divround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/divs.hpp b/inst/include/boost/simd/include/functions/scalar/divs.hpp deleted file mode 100644 index 218d59f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/divs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DIVS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/dot.hpp b/inst/include/boost/simd/include/functions/scalar/dot.hpp deleted file mode 100644 index 70f36d9..0000000 --- a/inst/include/boost/simd/include/functions/scalar/dot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/enumerate.hpp b/inst/include/boost/simd/include/functions/scalar/enumerate.hpp deleted file mode 100644 index 585f8d2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/enumerate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ENUMERATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/eps.hpp b/inst/include/boost/simd/include/functions/scalar/eps.hpp deleted file mode 100644 index d5a4de8..0000000 --- a/inst/include/boost/simd/include/functions/scalar/eps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_EPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_EPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/exponent.hpp b/inst/include/boost/simd/include/functions/scalar/exponent.hpp deleted file mode 100644 index 38a3049..0000000 --- a/inst/include/boost/simd/include/functions/scalar/exponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_EXPONENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_EXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/exponentbits.hpp b/inst/include/boost/simd/include/functions/scalar/exponentbits.hpp deleted file mode 100644 index 60a29bc..0000000 --- a/inst/include/boost/simd/include/functions/scalar/exponentbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_EXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_EXPONENTBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/extract.hpp b/inst/include/boost/simd/include/functions/scalar/extract.hpp deleted file mode 100644 index 2317ccf..0000000 --- a/inst/include/boost/simd/include/functions/scalar/extract.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_EXTRACT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_divides.hpp b/inst/include/boost/simd/include/functions/scalar/fast_divides.hpp deleted file mode 100644 index 125a819..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_divides.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_DIVIDES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_frexp.hpp b/inst/include/boost/simd/include/functions/scalar/fast_frexp.hpp deleted file mode 100644 index fb4e657..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_FREXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_hypot.hpp b/inst/include/boost/simd/include/functions/scalar/fast_hypot.hpp deleted file mode 100644 index 215f5fd..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_hypot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_HYPOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_iround2even.hpp b/inst/include/boost/simd/include/functions/scalar/fast_iround2even.hpp deleted file mode 100644 index 589d996..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_iround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_IROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_ldexp.hpp b/inst/include/boost/simd/include/functions/scalar/fast_ldexp.hpp deleted file mode 100644 index f083d90..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_ldexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_LDEXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_rec.hpp b/inst/include/boost/simd/include/functions/scalar/fast_rec.hpp deleted file mode 100644 index d6a0270..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_rsqrt.hpp b/inst/include/boost/simd/include/functions/scalar/fast_rsqrt.hpp deleted file mode 100644 index 8aae39f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_rsqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_RSQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_sqrt.hpp b/inst/include/boost/simd/include/functions/scalar/fast_sqrt.hpp deleted file mode 100644 index bc4b706..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_sqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_SQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_SQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_toint.hpp b/inst/include/boost/simd/include/functions/scalar/fast_toint.hpp deleted file mode 100644 index 35f23ba..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_toint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_TOINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fast_trunc.hpp b/inst/include/boost/simd/include/functions/scalar/fast_trunc.hpp deleted file mode 100644 index 111a502..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fast_trunc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FAST_TRUNC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ffs.hpp b/inst/include/boost/simd/include/functions/scalar/ffs.hpp deleted file mode 100644 index 319e111..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ffs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FFS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FFS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/firstbitset.hpp b/inst/include/boost/simd/include/functions/scalar/firstbitset.hpp deleted file mode 100644 index bf32246..0000000 --- a/inst/include/boost/simd/include/functions/scalar/firstbitset.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITSET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITSET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/firstbitunset.hpp b/inst/include/boost/simd/include/functions/scalar/firstbitunset.hpp deleted file mode 100644 index 69ac4a1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/firstbitunset.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITUNSET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITUNSET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/floor.hpp b/inst/include/boost/simd/include/functions/scalar/floor.hpp deleted file mode 100644 index dc05bb2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/floor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fma.hpp b/inst/include/boost/simd/include/functions/scalar/fma.hpp deleted file mode 100644 index a1a0011..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fms.hpp b/inst/include/boost/simd/include/functions/scalar/fms.hpp deleted file mode 100644 index 030e448..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fms.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FMS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FMS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fnma.hpp b/inst/include/boost/simd/include/functions/scalar/fnma.hpp deleted file mode 100644 index 77fb328..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fnma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FNMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FNMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/fnms.hpp b/inst/include/boost/simd/include/functions/scalar/fnms.hpp deleted file mode 100644 index c53448e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/fnms.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FNMS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FNMS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/frac.hpp b/inst/include/boost/simd/include/functions/scalar/frac.hpp deleted file mode 100644 index a0be313..0000000 --- a/inst/include/boost/simd/include/functions/scalar/frac.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FRAC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FRAC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/frexp.hpp b/inst/include/boost/simd/include/functions/scalar/frexp.hpp deleted file mode 100644 index 9f1c602..0000000 --- a/inst/include/boost/simd/include/functions/scalar/frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FREXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/genmask.hpp b/inst/include/boost/simd/include/functions/scalar/genmask.hpp deleted file mode 100644 index e3bda6e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/genmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_GENMASK_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_GENMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/genmaskc.hpp b/inst/include/boost/simd/include/functions/scalar/genmaskc.hpp deleted file mode 100644 index bd48002..0000000 --- a/inst/include/boost/simd/include/functions/scalar/genmaskc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_GENMASKC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_GENMASKC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/group.hpp b/inst/include/boost/simd/include/functions/scalar/group.hpp deleted file mode 100644 index f495f37..0000000 --- a/inst/include/boost/simd/include/functions/scalar/group.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_GROUP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_GROUP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/groups.hpp b/inst/include/boost/simd/include/functions/scalar/groups.hpp deleted file mode 100644 index 52006e3..0000000 --- a/inst/include/boost/simd/include/functions/scalar/groups.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_GROUPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/hi.hpp b/inst/include/boost/simd/include/functions/scalar/hi.hpp deleted file mode 100644 index 3710011..0000000 --- a/inst/include/boost/simd/include/functions/scalar/hi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_HI_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_HI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/hmsb.hpp b/inst/include/boost/simd/include/functions/scalar/hmsb.hpp deleted file mode 100644 index 497fde9..0000000 --- a/inst/include/boost/simd/include/functions/scalar/hmsb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_HMSB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_HMSB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/hypot.hpp b/inst/include/boost/simd/include/functions/scalar/hypot.hpp deleted file mode 100644 index e8d419e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/hypot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_HYPOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/iceil.hpp b/inst/include/boost/simd/include/functions/scalar/iceil.hpp deleted file mode 100644 index ae163cf..0000000 --- a/inst/include/boost/simd/include/functions/scalar/iceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ICEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ICEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/idivceil.hpp b/inst/include/boost/simd/include/functions/scalar/idivceil.hpp deleted file mode 100644 index 3308625..0000000 --- a/inst/include/boost/simd/include/functions/scalar/idivceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVCEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/idivfix.hpp b/inst/include/boost/simd/include/functions/scalar/idivfix.hpp deleted file mode 100644 index 83bdace..0000000 --- a/inst/include/boost/simd/include/functions/scalar/idivfix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVFIX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVFIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/idivfloor.hpp b/inst/include/boost/simd/include/functions/scalar/idivfloor.hpp deleted file mode 100644 index 969c15c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/idivfloor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVFLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/idivround.hpp b/inst/include/boost/simd/include/functions/scalar/idivround.hpp deleted file mode 100644 index c385d92..0000000 --- a/inst/include/boost/simd/include/functions/scalar/idivround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/idivround2even.hpp b/inst/include/boost/simd/include/functions/scalar/idivround2even.hpp deleted file mode 100644 index c097adb..0000000 --- a/inst/include/boost/simd/include/functions/scalar/idivround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/if_allbits_else.hpp b/inst/include/boost/simd/include/functions/scalar/if_allbits_else.hpp deleted file mode 100644 index ab1e700..0000000 --- a/inst/include/boost/simd/include/functions/scalar/if_allbits_else.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ALLBITS_ELSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/if_else.hpp b/inst/include/boost/simd/include/functions/scalar/if_else.hpp deleted file mode 100644 index 3458882..0000000 --- a/inst/include/boost/simd/include/functions/scalar/if_else.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/if_else_allbits.hpp b/inst/include/boost/simd/include/functions/scalar/if_else_allbits.hpp deleted file mode 100644 index ddae7bc..0000000 --- a/inst/include/boost/simd/include/functions/scalar/if_else_allbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/if_else_zero.hpp b/inst/include/boost/simd/include/functions/scalar/if_else_zero.hpp deleted file mode 100644 index 7e5797e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/if_else_zero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/if_one_else_zero.hpp b/inst/include/boost/simd/include/functions/scalar/if_one_else_zero.hpp deleted file mode 100644 index de3ef9f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/if_one_else_zero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/if_zero_else.hpp b/inst/include/boost/simd/include/functions/scalar/if_zero_else.hpp deleted file mode 100644 index 7f29a44..0000000 --- a/inst/include/boost/simd/include/functions/scalar/if_zero_else.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/if_zero_else_one.hpp b/inst/include/boost/simd/include/functions/scalar/if_zero_else_one.hpp deleted file mode 100644 index df94e2d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/if_zero_else_one.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ifloor.hpp b/inst/include/boost/simd/include/functions/scalar/ifloor.hpp deleted file mode 100644 index acb84f1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ifloor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ifnotadd.hpp b/inst/include/boost/simd/include/functions/scalar/ifnotadd.hpp deleted file mode 100644 index cba0ba1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ifnotadd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFNOTADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFNOTADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ifnotdec.hpp b/inst/include/boost/simd/include/functions/scalar/ifnotdec.hpp deleted file mode 100644 index cea5d44..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ifnotdec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFNOTDEC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFNOTDEC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ifnotinc.hpp b/inst/include/boost/simd/include/functions/scalar/ifnotinc.hpp deleted file mode 100644 index d76e4fe..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ifnotinc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFNOTINC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFNOTINC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ifnotsub.hpp b/inst/include/boost/simd/include/functions/scalar/ifnotsub.hpp deleted file mode 100644 index a6cd6ca..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ifnotsub.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFNOTSUB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IFNOTSUB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ilog2.hpp b/inst/include/boost/simd/include/functions/scalar/ilog2.hpp deleted file mode 100644 index d4eb254..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ilog2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ILOG2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ILOG2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ilogb.hpp b/inst/include/boost/simd/include/functions/scalar/ilogb.hpp deleted file mode 100644 index a67234c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ilogb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ILOGB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/inbtrue.hpp b/inst/include/boost/simd/include/functions/scalar/inbtrue.hpp deleted file mode 100644 index 1496401..0000000 --- a/inst/include/boost/simd/include/functions/scalar/inbtrue.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INBTRUE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/inc.hpp b/inst/include/boost/simd/include/functions/scalar/inc.hpp deleted file mode 100644 index 6121188..0000000 --- a/inst/include/boost/simd/include/functions/scalar/inc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/insert.hpp b/inst/include/boost/simd/include/functions/scalar/insert.hpp deleted file mode 100644 index 0d2ead0..0000000 --- a/inst/include/boost/simd/include/functions/scalar/insert.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INSERT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INSERT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/interleave_even.hpp b/inst/include/boost/simd/include/functions/scalar/interleave_even.hpp deleted file mode 100644 index 4d0ce32..0000000 --- a/inst/include/boost/simd/include/functions/scalar/interleave_even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/interleave_first.hpp b/inst/include/boost/simd/include/functions/scalar/interleave_first.hpp deleted file mode 100644 index f2bd9ea..0000000 --- a/inst/include/boost/simd/include/functions/scalar/interleave_first.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_FIRST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/interleave_odd.hpp b/inst/include/boost/simd/include/functions/scalar/interleave_odd.hpp deleted file mode 100644 index a3b0f44..0000000 --- a/inst/include/boost/simd/include/functions/scalar/interleave_odd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_ODD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/interleave_second.hpp b/inst/include/boost/simd/include/functions/scalar/interleave_second.hpp deleted file mode 100644 index 5d2af08..0000000 --- a/inst/include/boost/simd/include/functions/scalar/interleave_second.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_SECOND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/iround.hpp b/inst/include/boost/simd/include/functions/scalar/iround.hpp deleted file mode 100644 index 7e21161..0000000 --- a/inst/include/boost/simd/include/functions/scalar/iround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/iround2even.hpp b/inst/include/boost/simd/include/functions/scalar/iround2even.hpp deleted file mode 100644 index 2128a64..0000000 --- a/inst/include/boost/simd/include/functions/scalar/iround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_denormal.hpp b/inst/include/boost/simd/include/functions/scalar/is_denormal.hpp deleted file mode 100644 index 6082d3a..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_denormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_DENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_equal.hpp b/inst/include/boost/simd/include/functions/scalar/is_equal.hpp deleted file mode 100644 index ebd0438..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/include/functions/scalar/is_equal_with_equal_nans.hpp deleted file mode 100644 index 5450602..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_eqz.hpp b/inst/include/boost/simd/include/functions/scalar/is_eqz.hpp deleted file mode 100644 index 794bea6..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_eqz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_EQZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_even.hpp b/inst/include/boost/simd/include/functions/scalar/is_even.hpp deleted file mode 100644 index aea26b9..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_finite.hpp b/inst/include/boost/simd/include/functions/scalar/is_finite.hpp deleted file mode 100644 index ab6b159..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_finite.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_FINITE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_FINITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_flint.hpp b/inst/include/boost/simd/include/functions/scalar/is_flint.hpp deleted file mode 100644 index e7162a2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_flint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_FLINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_FLINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_gez.hpp b/inst/include/boost/simd/include/functions/scalar/is_gez.hpp deleted file mode 100644 index 6abe6e8..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_gez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_GEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_greater.hpp b/inst/include/boost/simd/include/functions/scalar/is_greater.hpp deleted file mode 100644 index 25194f1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_greater.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_greater_equal.hpp b/inst/include/boost/simd/include/functions/scalar/is_greater_equal.hpp deleted file mode 100644 index 639be33..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_greater_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_gtz.hpp b/inst/include/boost/simd/include/functions/scalar/is_gtz.hpp deleted file mode 100644 index 86a3fda..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_gtz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_GTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_imag.hpp b/inst/include/boost/simd/include/functions/scalar/is_imag.hpp deleted file mode 100644 index fc0bf24..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_imag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_IMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_IMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_included.hpp b/inst/include/boost/simd/include/functions/scalar/is_included.hpp deleted file mode 100644 index 03b0457..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_included.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_included_c.hpp b/inst/include/boost/simd/include/functions/scalar/is_included_c.hpp deleted file mode 100644 index 6bd830c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_included_c.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_C_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_inf.hpp b/inst/include/boost/simd/include/functions/scalar/is_inf.hpp deleted file mode 100644 index 8b6d3a2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_inf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_INF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_INF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_invalid.hpp b/inst/include/boost/simd/include/functions/scalar/is_invalid.hpp deleted file mode 100644 index 867b316..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_invalid.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_INVALID_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_INVALID_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_less.hpp b/inst/include/boost/simd/include/functions/scalar/is_less.hpp deleted file mode 100644 index 1c518c4..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_less.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_less_equal.hpp b/inst/include/boost/simd/include/functions/scalar/is_less_equal.hpp deleted file mode 100644 index 52db11b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_less_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_lez.hpp b/inst/include/boost/simd/include/functions/scalar/is_lez.hpp deleted file mode 100644 index d933a7c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_lez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_LEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_ltz.hpp b/inst/include/boost/simd/include/functions/scalar/is_ltz.hpp deleted file mode 100644 index a088d75..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_ltz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_LTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_nan.hpp b/inst/include/boost/simd/include/functions/scalar/is_nan.hpp deleted file mode 100644 index b6252a4..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NAN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_negative.hpp b/inst/include/boost/simd/include/functions/scalar/is_negative.hpp deleted file mode 100644 index 85a9926..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_negative.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NEGATIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NEGATIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_nez.hpp b/inst/include/boost/simd/include/functions/scalar/is_nez.hpp deleted file mode 100644 index 372c0a1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_nez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_ngez.hpp b/inst/include/boost/simd/include/functions/scalar/is_ngez.hpp deleted file mode 100644 index e370f2f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_ngez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NGEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NGEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_ngtz.hpp b/inst/include/boost/simd/include/functions/scalar/is_ngtz.hpp deleted file mode 100644 index 974bc7c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_ngtz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NGTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NGTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_nlez.hpp b/inst/include/boost/simd/include/functions/scalar/is_nlez.hpp deleted file mode 100644 index 5447489..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_nlez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NLEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NLEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_nltz.hpp b/inst/include/boost/simd/include/functions/scalar/is_nltz.hpp deleted file mode 100644 index bb1aa19..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_nltz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NLTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NLTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_denormal.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_denormal.hpp deleted file mode 100644 index 38cfcf8..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_denormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_DENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_equal.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_equal.hpp deleted file mode 100644 index 8790223..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 3dc7892..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_finite.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_finite.hpp deleted file mode 100644 index 2b45adf..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_finite.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_FINITE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_FINITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_greater.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_greater.hpp deleted file mode 100644 index e360760..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_greater.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_greater_equal.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_greater_equal.hpp deleted file mode 100644 index 43be568..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_greater_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_imag.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_imag.hpp deleted file mode 100644 index d7ee01f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_imag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_IMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_IMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_infinite.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_infinite.hpp deleted file mode 100644 index f72b694..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_infinite.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_INFINITE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_INFINITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_less.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_less.hpp deleted file mode 100644 index 7bdf3fe..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_less.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_less_equal.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_less_equal.hpp deleted file mode 100644 index 16f97c4..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_less_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_nan.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_nan.hpp deleted file mode 100644 index acc9d23..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_NAN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_not_real.hpp b/inst/include/boost/simd/include/functions/scalar/is_not_real.hpp deleted file mode 100644 index a41f090..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_not_real.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_REAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_REAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_odd.hpp b/inst/include/boost/simd/include/functions/scalar/is_odd.hpp deleted file mode 100644 index f85bf5e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_odd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_ODD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_ODD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_ord.hpp b/inst/include/boost/simd/include/functions/scalar/is_ord.hpp deleted file mode 100644 index 882c78c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_ord.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_ORD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_positive.hpp b/inst/include/boost/simd/include/functions/scalar/is_positive.hpp deleted file mode 100644 index c0ebb7c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_positive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_POSITIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_POSITIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_real.hpp b/inst/include/boost/simd/include/functions/scalar/is_real.hpp deleted file mode 100644 index 7a4fa0b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_real.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_REAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_REAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_simd_logical.hpp b/inst/include/boost/simd/include/functions/scalar/is_simd_logical.hpp deleted file mode 100644 index 545ebd5..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_simd_logical.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_SIMD_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/is_unord.hpp b/inst/include/boost/simd/include/functions/scalar/is_unord.hpp deleted file mode 100644 index e55f6dd..0000000 --- a/inst/include/boost/simd/include/functions/scalar/is_unord.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_IS_UNORD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ldexp.hpp b/inst/include/boost/simd/include/functions/scalar/ldexp.hpp deleted file mode 100644 index bf651a2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ldexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LDEXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/lo.hpp b/inst/include/boost/simd/include/functions/scalar/lo.hpp deleted file mode 100644 index d617260..0000000 --- a/inst/include/boost/simd/include/functions/scalar/lo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/load.hpp b/inst/include/boost/simd/include/functions/scalar/load.hpp deleted file mode 100644 index 3d0aa65..0000000 --- a/inst/include/boost/simd/include/functions/scalar/load.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOAD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/logical_and.hpp b/inst/include/boost/simd/include/functions/scalar/logical_and.hpp deleted file mode 100644 index ab3c61c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/logical_and.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_AND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_AND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/logical_andnot.hpp b/inst/include/boost/simd/include/functions/scalar/logical_andnot.hpp deleted file mode 100644 index 091716e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/logical_andnot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ANDNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/logical_not.hpp b/inst/include/boost/simd/include/functions/scalar/logical_not.hpp deleted file mode 100644 index be480b8..0000000 --- a/inst/include/boost/simd/include/functions/scalar/logical_not.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/logical_notand.hpp b/inst/include/boost/simd/include/functions/scalar/logical_notand.hpp deleted file mode 100644 index a46d620..0000000 --- a/inst/include/boost/simd/include/functions/scalar/logical_notand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/logical_notor.hpp b/inst/include/boost/simd/include/functions/scalar/logical_notor.hpp deleted file mode 100644 index e5058b9..0000000 --- a/inst/include/boost/simd/include/functions/scalar/logical_notor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/logical_or.hpp b/inst/include/boost/simd/include/functions/scalar/logical_or.hpp deleted file mode 100644 index dd2f8b3..0000000 --- a/inst/include/boost/simd/include/functions/scalar/logical_or.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_OR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_OR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/logical_ornot.hpp b/inst/include/boost/simd/include/functions/scalar/logical_ornot.hpp deleted file mode 100644 index 5d2d12f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/logical_ornot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ORNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/logical_xor.hpp b/inst/include/boost/simd/include/functions/scalar/logical_xor.hpp deleted file mode 100644 index 248c7fc..0000000 --- a/inst/include/boost/simd/include/functions/scalar/logical_xor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_XOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_XOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/lookup.hpp b/inst/include/boost/simd/include/functions/scalar/lookup.hpp deleted file mode 100644 index 1f2a413..0000000 --- a/inst/include/boost/simd/include/functions/scalar/lookup.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_LOOKUP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/majority.hpp b/inst/include/boost/simd/include/functions/scalar/majority.hpp deleted file mode 100644 index c84c0e1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/majority.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAJORITY_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAJORITY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/make.hpp b/inst/include/boost/simd/include/functions/scalar/make.hpp deleted file mode 100644 index d35283b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/make.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAKE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAKE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/mantissa.hpp b/inst/include/boost/simd/include/functions/scalar/mantissa.hpp deleted file mode 100644 index d9a2fe4..0000000 --- a/inst/include/boost/simd/include/functions/scalar/mantissa.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MANTISSA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MANTISSA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/map.hpp b/inst/include/boost/simd/include/functions/scalar/map.hpp deleted file mode 100644 index b12793b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/map.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/mask2logical.hpp b/inst/include/boost/simd/include/functions/scalar/mask2logical.hpp deleted file mode 100644 index 5d97853..0000000 --- a/inst/include/boost/simd/include/functions/scalar/mask2logical.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MASK2LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MASK2LOGICAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/max.hpp b/inst/include/boost/simd/include/functions/scalar/max.hpp deleted file mode 100644 index b51a78d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/max.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/maximum.hpp b/inst/include/boost/simd/include/functions/scalar/maximum.hpp deleted file mode 100644 index 3b308e1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/maximum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAXIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/maxmag.hpp b/inst/include/boost/simd/include/functions/scalar/maxmag.hpp deleted file mode 100644 index cbccecb..0000000 --- a/inst/include/boost/simd/include/functions/scalar/maxmag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAXMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAXMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/maxnum.hpp b/inst/include/boost/simd/include/functions/scalar/maxnum.hpp deleted file mode 100644 index d838420..0000000 --- a/inst/include/boost/simd/include/functions/scalar/maxnum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAXNUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAXNUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/maxnummag.hpp b/inst/include/boost/simd/include/functions/scalar/maxnummag.hpp deleted file mode 100644 index c20b65e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/maxnummag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAXNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MAXNUMMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/meanof.hpp b/inst/include/boost/simd/include/functions/scalar/meanof.hpp deleted file mode 100644 index 749a398..0000000 --- a/inst/include/boost/simd/include/functions/scalar/meanof.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MEANOF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MEANOF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/min.hpp b/inst/include/boost/simd/include/functions/scalar/min.hpp deleted file mode 100644 index 5a78587..0000000 --- a/inst/include/boost/simd/include/functions/scalar/min.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/minimum.hpp b/inst/include/boost/simd/include/functions/scalar/minimum.hpp deleted file mode 100644 index 81cec17..0000000 --- a/inst/include/boost/simd/include/functions/scalar/minimum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/minmag.hpp b/inst/include/boost/simd/include/functions/scalar/minmag.hpp deleted file mode 100644 index 80afec8..0000000 --- a/inst/include/boost/simd/include/functions/scalar/minmag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/minmod.hpp b/inst/include/boost/simd/include/functions/scalar/minmod.hpp deleted file mode 100644 index 11d6339..0000000 --- a/inst/include/boost/simd/include/functions/scalar/minmod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINMOD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINMOD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/minnum.hpp b/inst/include/boost/simd/include/functions/scalar/minnum.hpp deleted file mode 100644 index 70df715..0000000 --- a/inst/include/boost/simd/include/functions/scalar/minnum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINNUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINNUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/minnummag.hpp b/inst/include/boost/simd/include/functions/scalar/minnummag.hpp deleted file mode 100644 index 23688e8..0000000 --- a/inst/include/boost/simd/include/functions/scalar/minnummag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINNUMMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/minus.hpp b/inst/include/boost/simd/include/functions/scalar/minus.hpp deleted file mode 100644 index 4f50bde..0000000 --- a/inst/include/boost/simd/include/functions/scalar/minus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/minusone.hpp b/inst/include/boost/simd/include/functions/scalar/minusone.hpp deleted file mode 100644 index c972c6c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/minusone.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINUSONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MINUSONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/mod.hpp b/inst/include/boost/simd/include/functions/scalar/mod.hpp deleted file mode 100644 index b41eaa5..0000000 --- a/inst/include/boost/simd/include/functions/scalar/mod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MOD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MOD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/modf.hpp b/inst/include/boost/simd/include/functions/scalar/modf.hpp deleted file mode 100644 index 67212c2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/modf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MODF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MODF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/modulo.hpp b/inst/include/boost/simd/include/functions/scalar/modulo.hpp deleted file mode 100644 index 2c6d6bf..0000000 --- a/inst/include/boost/simd/include/functions/scalar/modulo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MODULO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MODULO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/muls.hpp b/inst/include/boost/simd/include/functions/scalar/muls.hpp deleted file mode 100644 index b62e95f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/muls.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MULS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MULS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/multiplies.hpp b/inst/include/boost/simd/include/functions/scalar/multiplies.hpp deleted file mode 100644 index e442faa..0000000 --- a/inst/include/boost/simd/include/functions/scalar/multiplies.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_MULTIPLIES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/nbtrue.hpp b/inst/include/boost/simd/include/functions/scalar/nbtrue.hpp deleted file mode 100644 index 3993f65..0000000 --- a/inst/include/boost/simd/include/functions/scalar/nbtrue.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NBTRUE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/negate.hpp b/inst/include/boost/simd/include/functions/scalar/negate.hpp deleted file mode 100644 index 186d0d4..0000000 --- a/inst/include/boost/simd/include/functions/scalar/negate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/negatenz.hpp b/inst/include/boost/simd/include/functions/scalar/negatenz.hpp deleted file mode 100644 index 25ae822..0000000 --- a/inst/include/boost/simd/include/functions/scalar/negatenz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGATENZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGATENZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/negif.hpp b/inst/include/boost/simd/include/functions/scalar/negif.hpp deleted file mode 100644 index 6adf45a..0000000 --- a/inst/include/boost/simd/include/functions/scalar/negif.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGIF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGIF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/negifnot.hpp b/inst/include/boost/simd/include/functions/scalar/negifnot.hpp deleted file mode 100644 index a0d54b2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/negifnot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGIFNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGIFNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/negs.hpp b/inst/include/boost/simd/include/functions/scalar/negs.hpp deleted file mode 100644 index b088da4..0000000 --- a/inst/include/boost/simd/include/functions/scalar/negs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEGS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/next.hpp b/inst/include/boost/simd/include/functions/scalar/next.hpp deleted file mode 100644 index fb78a87..0000000 --- a/inst/include/boost/simd/include/functions/scalar/next.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEXT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEXT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/nextafter.hpp b/inst/include/boost/simd/include/functions/scalar/nextafter.hpp deleted file mode 100644 index 4b6bc29..0000000 --- a/inst/include/boost/simd/include/functions/scalar/nextafter.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEXTAFTER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEXTAFTER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/nextpow2.hpp b/inst/include/boost/simd/include/functions/scalar/nextpow2.hpp deleted file mode 100644 index 1ce88ef..0000000 --- a/inst/include/boost/simd/include/functions/scalar/nextpow2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEXTPOW2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NEXTPOW2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/none.hpp b/inst/include/boost/simd/include/functions/scalar/none.hpp deleted file mode 100644 index e611258..0000000 --- a/inst/include/boost/simd/include/functions/scalar/none.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_NONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/oneminus.hpp b/inst/include/boost/simd/include/functions/scalar/oneminus.hpp deleted file mode 100644 index 7d195b6..0000000 --- a/inst/include/boost/simd/include/functions/scalar/oneminus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ONEMINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ONEMINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/oneplus.hpp b/inst/include/boost/simd/include/functions/scalar/oneplus.hpp deleted file mode 100644 index 77ac08d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/oneplus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ONEPLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ONEPLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/plus.hpp b/inst/include/boost/simd/include/functions/scalar/plus.hpp deleted file mode 100644 index 2b6f606..0000000 --- a/inst/include/boost/simd/include/functions/scalar/plus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_PLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_PLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/popcnt.hpp b/inst/include/boost/simd/include/functions/scalar/popcnt.hpp deleted file mode 100644 index 0dfd80b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/popcnt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_POPCNT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_POPCNT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/posmax.hpp b/inst/include/boost/simd/include/functions/scalar/posmax.hpp deleted file mode 100644 index 849509b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/posmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_POSMAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_POSMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/posmin.hpp b/inst/include/boost/simd/include/functions/scalar/posmin.hpp deleted file mode 100644 index 562b48b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/posmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_POSMIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_POSMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/predecessor.hpp b/inst/include/boost/simd/include/functions/scalar/predecessor.hpp deleted file mode 100644 index e6275a8..0000000 --- a/inst/include/boost/simd/include/functions/scalar/predecessor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_PREDECESSOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_PREDECESSOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/prev.hpp b/inst/include/boost/simd/include/functions/scalar/prev.hpp deleted file mode 100644 index ed83868..0000000 --- a/inst/include/boost/simd/include/functions/scalar/prev.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_PREV_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_PREV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/prod.hpp b/inst/include/boost/simd/include/functions/scalar/prod.hpp deleted file mode 100644 index fd91779..0000000 --- a/inst/include/boost/simd/include/functions/scalar/prod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_PROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_PROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/raw_rec.hpp b/inst/include/boost/simd/include/functions/scalar/raw_rec.hpp deleted file mode 100644 index 1bb7354..0000000 --- a/inst/include/boost/simd/include/functions/scalar/raw_rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RAW_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/rec.hpp b/inst/include/boost/simd/include/functions/scalar/rec.hpp deleted file mode 100644 index 665f9eb..0000000 --- a/inst/include/boost/simd/include/functions/scalar/rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/refine_rec.hpp b/inst/include/boost/simd/include/functions/scalar/refine_rec.hpp deleted file mode 100644 index 94c7968..0000000 --- a/inst/include/boost/simd/include/functions/scalar/refine_rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REFINE_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REFINE_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/rem.hpp b/inst/include/boost/simd/include/functions/scalar/rem.hpp deleted file mode 100644 index 57f8ec2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/rem.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/remainder.hpp b/inst/include/boost/simd/include/functions/scalar/remainder.hpp deleted file mode 100644 index 0f7a703..0000000 --- a/inst/include/boost/simd/include/functions/scalar/remainder.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REMAINDER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REMAINDER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/remquo.hpp b/inst/include/boost/simd/include/functions/scalar/remquo.hpp deleted file mode 100644 index 1055b22..0000000 --- a/inst/include/boost/simd/include/functions/scalar/remquo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REMQUO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REMQUO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/remround.hpp b/inst/include/boost/simd/include/functions/scalar/remround.hpp deleted file mode 100644 index fc1f6bd..0000000 --- a/inst/include/boost/simd/include/functions/scalar/remround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REMROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REMROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/repeat_lower_half.hpp b/inst/include/boost/simd/include/functions/scalar/repeat_lower_half.hpp deleted file mode 100644 index 23be43c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/repeat_lower_half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REPEAT_LOWER_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/repeat_upper_half.hpp b/inst/include/boost/simd/include/functions/scalar/repeat_upper_half.hpp deleted file mode 100644 index 06552e2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/repeat_upper_half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REPEAT_UPPER_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/reverse.hpp b/inst/include/boost/simd/include/functions/scalar/reverse.hpp deleted file mode 100644 index dfbb677..0000000 --- a/inst/include/boost/simd/include/functions/scalar/reverse.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REVERSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/reversebits.hpp b/inst/include/boost/simd/include/functions/scalar/reversebits.hpp deleted file mode 100644 index 3ec174c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/reversebits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REVERSEBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_REVERSEBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/rol.hpp b/inst/include/boost/simd/include/functions/scalar/rol.hpp deleted file mode 100644 index 607c488..0000000 --- a/inst/include/boost/simd/include/functions/scalar/rol.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ROL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ROL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ror.hpp b/inst/include/boost/simd/include/functions/scalar/ror.hpp deleted file mode 100644 index 028ee04..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ror.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ROR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ROR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/round.hpp b/inst/include/boost/simd/include/functions/scalar/round.hpp deleted file mode 100644 index 3362c1c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/round.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/round2even.hpp b/inst/include/boost/simd/include/functions/scalar/round2even.hpp deleted file mode 100644 index 59fb90b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/round2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/rrol.hpp b/inst/include/boost/simd/include/functions/scalar/rrol.hpp deleted file mode 100644 index 8695b70..0000000 --- a/inst/include/boost/simd/include/functions/scalar/rrol.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RROL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RROL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/rror.hpp b/inst/include/boost/simd/include/functions/scalar/rror.hpp deleted file mode 100644 index 14d0ab1..0000000 --- a/inst/include/boost/simd/include/functions/scalar/rror.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RROR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RROR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/rshl.hpp b/inst/include/boost/simd/include/functions/scalar/rshl.hpp deleted file mode 100644 index 9b0a6b0..0000000 --- a/inst/include/boost/simd/include/functions/scalar/rshl.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RSHL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RSHL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/rshr.hpp b/inst/include/boost/simd/include/functions/scalar/rshr.hpp deleted file mode 100644 index a9c7852..0000000 --- a/inst/include/boost/simd/include/functions/scalar/rshr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RSHR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RSHR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/rsqrt.hpp b/inst/include/boost/simd/include/functions/scalar/rsqrt.hpp deleted file mode 100644 index 8406e08..0000000 --- a/inst/include/boost/simd/include/functions/scalar/rsqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_RSQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/safe_max.hpp b/inst/include/boost/simd/include/functions/scalar/safe_max.hpp deleted file mode 100644 index 428d2d2..0000000 --- a/inst/include/boost/simd/include/functions/scalar/safe_max.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SAFE_MAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SAFE_MAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/safe_min.hpp b/inst/include/boost/simd/include/functions/scalar/safe_min.hpp deleted file mode 100644 index a9f424a..0000000 --- a/inst/include/boost/simd/include/functions/scalar/safe_min.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SAFE_MIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SAFE_MIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/saturate.hpp b/inst/include/boost/simd/include/functions/scalar/saturate.hpp deleted file mode 100644 index e4c98a5..0000000 --- a/inst/include/boost/simd/include/functions/scalar/saturate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SATURATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SATURATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/saturate_at.hpp b/inst/include/boost/simd/include/functions/scalar/saturate_at.hpp deleted file mode 100644 index 2cc63cb..0000000 --- a/inst/include/boost/simd/include/functions/scalar/saturate_at.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SATURATE_AT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SATURATE_AT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/sbits.hpp b/inst/include/boost/simd/include/functions/scalar/sbits.hpp deleted file mode 100644 index e72304f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/sbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/seladd.hpp b/inst/include/boost/simd/include/functions/scalar/seladd.hpp deleted file mode 100644 index 8f60c4d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/seladd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SELADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SELADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/seldec.hpp b/inst/include/boost/simd/include/functions/scalar/seldec.hpp deleted file mode 100644 index 98d45c9..0000000 --- a/inst/include/boost/simd/include/functions/scalar/seldec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SELDEC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SELDEC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/selinc.hpp b/inst/include/boost/simd/include/functions/scalar/selinc.hpp deleted file mode 100644 index 6359223..0000000 --- a/inst/include/boost/simd/include/functions/scalar/selinc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SELINC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SELINC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/selsub.hpp b/inst/include/boost/simd/include/functions/scalar/selsub.hpp deleted file mode 100644 index 14aab4f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/selsub.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SELSUB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SELSUB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/shift_left.hpp b/inst/include/boost/simd/include/functions/scalar/shift_left.hpp deleted file mode 100644 index b6ddc6d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/shift_left.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SHIFT_LEFT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/shift_right.hpp b/inst/include/boost/simd/include/functions/scalar/shift_right.hpp deleted file mode 100644 index ece40fd..0000000 --- a/inst/include/boost/simd/include/functions/scalar/shift_right.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SHIFT_RIGHT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/shr.hpp b/inst/include/boost/simd/include/functions/scalar/shr.hpp deleted file mode 100644 index c98c3d8..0000000 --- a/inst/include/boost/simd/include/functions/scalar/shr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SHR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SHR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/shuffle.hpp b/inst/include/boost/simd/include/functions/scalar/shuffle.hpp deleted file mode 100644 index ad88e0b..0000000 --- a/inst/include/boost/simd/include/functions/scalar/shuffle.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SHUFFLE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/sign.hpp b/inst/include/boost/simd/include/functions/scalar/sign.hpp deleted file mode 100644 index f82a12d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/sign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/signnz.hpp b/inst/include/boost/simd/include/functions/scalar/signnz.hpp deleted file mode 100644 index 643edf9..0000000 --- a/inst/include/boost/simd/include/functions/scalar/signnz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SIGNNZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SIGNNZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/slice.hpp b/inst/include/boost/simd/include/functions/scalar/slice.hpp deleted file mode 100644 index 87bfd3c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/slice.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SLICE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SLICE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/slide.hpp b/inst/include/boost/simd/include/functions/scalar/slide.hpp deleted file mode 100644 index 9be3231..0000000 --- a/inst/include/boost/simd/include/functions/scalar/slide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SLIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/sort.hpp b/inst/include/boost/simd/include/functions/scalar/sort.hpp deleted file mode 100644 index 61671c6..0000000 --- a/inst/include/boost/simd/include/functions/scalar/sort.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SORT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SORT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/splat.hpp b/inst/include/boost/simd/include/functions/scalar/splat.hpp deleted file mode 100644 index 367ff69..0000000 --- a/inst/include/boost/simd/include/functions/scalar/splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/splatted_maximum.hpp b/inst/include/boost/simd/include/functions/scalar/splatted_maximum.hpp deleted file mode 100644 index 5190db7..0000000 --- a/inst/include/boost/simd/include/functions/scalar/splatted_maximum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_MAXIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/splatted_minimum.hpp b/inst/include/boost/simd/include/functions/scalar/splatted_minimum.hpp deleted file mode 100644 index 16c6a2c..0000000 --- a/inst/include/boost/simd/include/functions/scalar/splatted_minimum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_MINIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/splatted_prod.hpp b/inst/include/boost/simd/include/functions/scalar/splatted_prod.hpp deleted file mode 100644 index d6f1ec7..0000000 --- a/inst/include/boost/simd/include/functions/scalar/splatted_prod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_PROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_PROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/splatted_sum.hpp b/inst/include/boost/simd/include/functions/scalar/splatted_sum.hpp deleted file mode 100644 index 5cce1da..0000000 --- a/inst/include/boost/simd/include/functions/scalar/splatted_sum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_SUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_SUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/split.hpp b/inst/include/boost/simd/include/functions/scalar/split.hpp deleted file mode 100644 index 95f624e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/split.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/split_high.hpp b/inst/include/boost/simd/include/functions/scalar/split_high.hpp deleted file mode 100644 index 349ee04..0000000 --- a/inst/include/boost/simd/include/functions/scalar/split_high.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLIT_HIGH_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/split_low.hpp b/inst/include/boost/simd/include/functions/scalar/split_low.hpp deleted file mode 100644 index 6288647..0000000 --- a/inst/include/boost/simd/include/functions/scalar/split_low.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLIT_LOW_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/split_multiplies.hpp b/inst/include/boost/simd/include/functions/scalar/split_multiplies.hpp deleted file mode 100644 index 1b19825..0000000 --- a/inst/include/boost/simd/include/functions/scalar/split_multiplies.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SPLIT_MULTIPLIES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/sqr.hpp b/inst/include/boost/simd/include/functions/scalar/sqr.hpp deleted file mode 100644 index 1f110ef..0000000 --- a/inst/include/boost/simd/include/functions/scalar/sqr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SQR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SQR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/sqr_abs.hpp b/inst/include/boost/simd/include/functions/scalar/sqr_abs.hpp deleted file mode 100644 index ebd6d22..0000000 --- a/inst/include/boost/simd/include/functions/scalar/sqr_abs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SQR_ABS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SQR_ABS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/sqrs.hpp b/inst/include/boost/simd/include/functions/scalar/sqrs.hpp deleted file mode 100644 index 17b111e..0000000 --- a/inst/include/boost/simd/include/functions/scalar/sqrs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SQRS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SQRS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/sqrt.hpp b/inst/include/boost/simd/include/functions/scalar/sqrt.hpp deleted file mode 100644 index a494649..0000000 --- a/inst/include/boost/simd/include/functions/scalar/sqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/store.hpp b/inst/include/boost/simd/include/functions/scalar/store.hpp deleted file mode 100644 index 8a6bf12..0000000 --- a/inst/include/boost/simd/include/functions/scalar/store.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_STORE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_STORE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/stream.hpp b/inst/include/boost/simd/include/functions/scalar/stream.hpp deleted file mode 100644 index 0799008..0000000 --- a/inst/include/boost/simd/include/functions/scalar/stream.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_STREAM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_STREAM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/subs.hpp b/inst/include/boost/simd/include/functions/scalar/subs.hpp deleted file mode 100644 index 42e0d25..0000000 --- a/inst/include/boost/simd/include/functions/scalar/subs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SUBS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SUBS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/successor.hpp b/inst/include/boost/simd/include/functions/scalar/successor.hpp deleted file mode 100644 index 8e8db27..0000000 --- a/inst/include/boost/simd/include/functions/scalar/successor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SUCCESSOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SUCCESSOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/sum.hpp b/inst/include/boost/simd/include/functions/scalar/sum.hpp deleted file mode 100644 index 8fb5812..0000000 --- a/inst/include/boost/simd/include/functions/scalar/sum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/swapbytes.hpp b/inst/include/boost/simd/include/functions/scalar/swapbytes.hpp deleted file mode 100644 index 4cfc345..0000000 --- a/inst/include/boost/simd/include/functions/scalar/swapbytes.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_SWAPBYTES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/tenpower.hpp b/inst/include/boost/simd/include/functions/scalar/tenpower.hpp deleted file mode 100644 index 0b62aff..0000000 --- a/inst/include/boost/simd/include/functions/scalar/tenpower.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TENPOWER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TENPOWER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/tofloat.hpp b/inst/include/boost/simd/include/functions/scalar/tofloat.hpp deleted file mode 100644 index 2e432a7..0000000 --- a/inst/include/boost/simd/include/functions/scalar/tofloat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOFLOAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/toint.hpp b/inst/include/boost/simd/include/functions/scalar/toint.hpp deleted file mode 100644 index 7de4d48..0000000 --- a/inst/include/boost/simd/include/functions/scalar/toint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/toints.hpp b/inst/include/boost/simd/include/functions/scalar/toints.hpp deleted file mode 100644 index 0eecca4..0000000 --- a/inst/include/boost/simd/include/functions/scalar/toints.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOINTS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/touint.hpp b/inst/include/boost/simd/include/functions/scalar/touint.hpp deleted file mode 100644 index 698c121..0000000 --- a/inst/include/boost/simd/include/functions/scalar/touint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOUINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOUINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/touints.hpp b/inst/include/boost/simd/include/functions/scalar/touints.hpp deleted file mode 100644 index 4c214c3..0000000 --- a/inst/include/boost/simd/include/functions/scalar/touints.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TOUINTS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/trunc.hpp b/inst/include/boost/simd/include/functions/scalar/trunc.hpp deleted file mode 100644 index b0ea1d5..0000000 --- a/inst/include/boost/simd/include/functions/scalar/trunc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TRUNC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/two_add.hpp b/inst/include/boost/simd/include/functions/scalar/two_add.hpp deleted file mode 100644 index e99681f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/two_add.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TWO_ADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TWO_ADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/two_prod.hpp b/inst/include/boost/simd/include/functions/scalar/two_prod.hpp deleted file mode 100644 index 96d6844..0000000 --- a/inst/include/boost/simd/include/functions/scalar/two_prod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TWO_PROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TWO_PROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/two_split.hpp b/inst/include/boost/simd/include/functions/scalar/two_split.hpp deleted file mode 100644 index b413e7d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/two_split.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TWO_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TWO_SPLIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/twopower.hpp b/inst/include/boost/simd/include/functions/scalar/twopower.hpp deleted file mode 100644 index b01fb79..0000000 --- a/inst/include/boost/simd/include/functions/scalar/twopower.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TWOPOWER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_TWOPOWER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ulp.hpp b/inst/include/boost/simd/include/functions/scalar/ulp.hpp deleted file mode 100644 index 073ff9a..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ulp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ULP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ULP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/ulpdist.hpp b/inst/include/boost/simd/include/functions/scalar/ulpdist.hpp deleted file mode 100644 index b9ed425..0000000 --- a/inst/include/boost/simd/include/functions/scalar/ulpdist.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ULPDIST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_ULPDIST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/unary_minus.hpp b/inst/include/boost/simd/include/functions/scalar/unary_minus.hpp deleted file mode 100644 index 298961f..0000000 --- a/inst/include/boost/simd/include/functions/scalar/unary_minus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_UNARY_MINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/scalar/unary_plus.hpp b/inst/include/boost/simd/include/functions/scalar/unary_plus.hpp deleted file mode 100644 index 09d067d..0000000 --- a/inst/include/boost/simd/include/functions/scalar/unary_plus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_UNARY_PLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCALAR_UNARY_PLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/schedule.hpp b/inst/include/boost/simd/include/functions/schedule.hpp deleted file mode 100644 index 0a7ed4c..0000000 --- a/inst/include/boost/simd/include/functions/schedule.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SCHEDULE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SCHEDULE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/seladd.hpp b/inst/include/boost/simd/include/functions/seladd.hpp deleted file mode 100644 index eb7f81a..0000000 --- a/inst/include/boost/simd/include/functions/seladd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SELADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SELADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/seldec.hpp b/inst/include/boost/simd/include/functions/seldec.hpp deleted file mode 100644 index c0f078a..0000000 --- a/inst/include/boost/simd/include/functions/seldec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SELDEC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SELDEC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/selinc.hpp b/inst/include/boost/simd/include/functions/selinc.hpp deleted file mode 100644 index b0c63f9..0000000 --- a/inst/include/boost/simd/include/functions/selinc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SELINC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SELINC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/selsub.hpp b/inst/include/boost/simd/include/functions/selsub.hpp deleted file mode 100644 index 476fbf4..0000000 --- a/inst/include/boost/simd/include/functions/selsub.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SELSUB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SELSUB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/shift_left.hpp b/inst/include/boost/simd/include/functions/shift_left.hpp deleted file mode 100644 index e4a5f37..0000000 --- a/inst/include/boost/simd/include/functions/shift_left.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/shift_right.hpp b/inst/include/boost/simd/include/functions/shift_right.hpp deleted file mode 100644 index ad25120..0000000 --- a/inst/include/boost/simd/include/functions/shift_right.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/shr.hpp b/inst/include/boost/simd/include/functions/shr.hpp deleted file mode 100644 index 57b35ab..0000000 --- a/inst/include/boost/simd/include/functions/shr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SHR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SHR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/shuffle.hpp b/inst/include/boost/simd/include/functions/shuffle.hpp deleted file mode 100644 index 6124129..0000000 --- a/inst/include/boost/simd/include/functions/shuffle.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SHUFFLE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/sign.hpp b/inst/include/boost/simd/include/functions/sign.hpp deleted file mode 100644 index 1ccd78f..0000000 --- a/inst/include/boost/simd/include/functions/sign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/signnz.hpp b/inst/include/boost/simd/include/functions/signnz.hpp deleted file mode 100644 index 61e6a72..0000000 --- a/inst/include/boost/simd/include/functions/signnz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIGNNZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIGNNZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/abs.hpp b/inst/include/boost/simd/include/functions/simd/abs.hpp deleted file mode 100644 index 27b3166..0000000 --- a/inst/include/boost/simd/include/functions/simd/abs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ABS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ABS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/abss.hpp b/inst/include/boost/simd/include/functions/simd/abss.hpp deleted file mode 100644 index 588b922..0000000 --- a/inst/include/boost/simd/include/functions/simd/abss.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ABSS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ABSS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/adds.hpp b/inst/include/boost/simd/include/functions/simd/adds.hpp deleted file mode 100644 index 1d2422f..0000000 --- a/inst/include/boost/simd/include/functions/simd/adds.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ADDS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ADDS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/aligned_load.hpp b/inst/include/boost/simd/include/functions/simd/aligned_load.hpp deleted file mode 100644 index f8fc190..0000000 --- a/inst/include/boost/simd/include/functions/simd/aligned_load.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ALIGNED_LOAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/aligned_store.hpp b/inst/include/boost/simd/include/functions/simd/aligned_store.hpp deleted file mode 100644 index fea7cf2..0000000 --- a/inst/include/boost/simd/include/functions/simd/aligned_store.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ALIGNED_STORE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/all.hpp b/inst/include/boost/simd/include/functions/simd/all.hpp deleted file mode 100644 index 103412d..0000000 --- a/inst/include/boost/simd/include/functions/simd/all.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ALL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ALL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/all_reduce.hpp b/inst/include/boost/simd/include/functions/simd/all_reduce.hpp deleted file mode 100644 index bc822c4..0000000 --- a/inst/include/boost/simd/include/functions/simd/all_reduce.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ALL_REDUCE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/any.hpp b/inst/include/boost/simd/include/functions/simd/any.hpp deleted file mode 100644 index a0bf007..0000000 --- a/inst/include/boost/simd/include/functions/simd/any.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ANY_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ANY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/arg.hpp b/inst/include/boost/simd/include/functions/simd/arg.hpp deleted file mode 100644 index b53938c..0000000 --- a/inst/include/boost/simd/include/functions/simd/arg.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ARG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ARG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/assign.hpp b/inst/include/boost/simd/include/functions/simd/assign.hpp deleted file mode 100644 index f3b1297..0000000 --- a/inst/include/boost/simd/include/functions/simd/assign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ASSIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ASSIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/average.hpp b/inst/include/boost/simd/include/functions/simd/average.hpp deleted file mode 100644 index 8e87a54..0000000 --- a/inst/include/boost/simd/include/functions/simd/average.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_AVERAGE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_AVERAGE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitfloating.hpp b/inst/include/boost/simd/include/functions/simd/bitfloating.hpp deleted file mode 100644 index 04b4a6e..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitfloating.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITFLOATING_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITFLOATING_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitget.hpp b/inst/include/boost/simd/include/functions/simd/bitget.hpp deleted file mode 100644 index fc2fc27..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitget.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITGET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITGET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitinteger.hpp b/inst/include/boost/simd/include/functions/simd/bitinteger.hpp deleted file mode 100644 index 85b5e6e..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitinteger.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITINTEGER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITINTEGER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitofsign.hpp b/inst/include/boost/simd/include/functions/simd/bitofsign.hpp deleted file mode 100644 index 57706b4..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitofsign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITOFSIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITOFSIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bits.hpp b/inst/include/boost/simd/include/functions/simd/bits.hpp deleted file mode 100644 index 375d06b..0000000 --- a/inst/include/boost/simd/include/functions/simd/bits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitset.hpp b/inst/include/boost/simd/include/functions/simd/bitset.hpp deleted file mode 100644 index 23772e1..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitset.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITSET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITSET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitwise_and.hpp b/inst/include/boost/simd/include/functions/simd/bitwise_and.hpp deleted file mode 100644 index 2138d83..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitwise_and.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_AND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitwise_andnot.hpp b/inst/include/boost/simd/include/functions/simd/bitwise_andnot.hpp deleted file mode 100644 index eedc0a0..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitwise_andnot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_ANDNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitwise_cast.hpp b/inst/include/boost/simd/include/functions/simd/bitwise_cast.hpp deleted file mode 100644 index da7965e..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitwise_cast.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_CAST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitwise_notand.hpp b/inst/include/boost/simd/include/functions/simd/bitwise_notand.hpp deleted file mode 100644 index 6536402..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitwise_notand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitwise_notor.hpp b/inst/include/boost/simd/include/functions/simd/bitwise_notor.hpp deleted file mode 100644 index 7434de6..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitwise_notor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitwise_or.hpp b/inst/include/boost/simd/include/functions/simd/bitwise_or.hpp deleted file mode 100644 index a49be5b..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitwise_or.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_OR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitwise_ornot.hpp b/inst/include/boost/simd/include/functions/simd/bitwise_ornot.hpp deleted file mode 100644 index 7de3223..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitwise_ornot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_ORNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitwise_select.hpp b/inst/include/boost/simd/include/functions/simd/bitwise_select.hpp deleted file mode 100644 index 79eeed9..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitwise_select.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_SELECT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_SELECT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/bitwise_xor.hpp b/inst/include/boost/simd/include/functions/simd/bitwise_xor.hpp deleted file mode 100644 index ebd96fe..0000000 --- a/inst/include/boost/simd/include/functions/simd/bitwise_xor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BITWISE_XOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/broadcast.hpp b/inst/include/boost/simd/include/functions/simd/broadcast.hpp deleted file mode 100644 index 57394f4..0000000 --- a/inst/include/boost/simd/include/functions/simd/broadcast.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_BROADCAST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ceil.hpp b/inst/include/boost/simd/include/functions/simd/ceil.hpp deleted file mode 100644 index ee1791b..0000000 --- a/inst/include/boost/simd/include/functions/simd/ceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/clz.hpp b/inst/include/boost/simd/include/functions/simd/clz.hpp deleted file mode 100644 index c5f7902..0000000 --- a/inst/include/boost/simd/include/functions/simd/clz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CLZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CLZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/combine.hpp b/inst/include/boost/simd/include/functions/simd/combine.hpp deleted file mode 100644 index f0449ab..0000000 --- a/inst/include/boost/simd/include/functions/simd/combine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMBINE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMBINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/comma.hpp b/inst/include/boost/simd/include/functions/simd/comma.hpp deleted file mode 100644 index 07d9fce..0000000 --- a/inst/include/boost/simd/include/functions/simd/comma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/compare_equal.hpp b/inst/include/boost/simd/include/functions/simd/compare_equal.hpp deleted file mode 100644 index 89199a1..0000000 --- a/inst/include/boost/simd/include/functions/simd/compare_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/compare_greater.hpp b/inst/include/boost/simd/include/functions/simd/compare_greater.hpp deleted file mode 100644 index badd09d..0000000 --- a/inst/include/boost/simd/include/functions/simd/compare_greater.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/compare_greater_equal.hpp b/inst/include/boost/simd/include/functions/simd/compare_greater_equal.hpp deleted file mode 100644 index 3324bd7..0000000 --- a/inst/include/boost/simd/include/functions/simd/compare_greater_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/compare_less.hpp b/inst/include/boost/simd/include/functions/simd/compare_less.hpp deleted file mode 100644 index 9cde524..0000000 --- a/inst/include/boost/simd/include/functions/simd/compare_less.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/compare_less_equal.hpp b/inst/include/boost/simd/include/functions/simd/compare_less_equal.hpp deleted file mode 100644 index e800f93..0000000 --- a/inst/include/boost/simd/include/functions/simd/compare_less_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/compare_not_equal.hpp b/inst/include/boost/simd/include/functions/simd/compare_not_equal.hpp deleted file mode 100644 index c677bc6..0000000 --- a/inst/include/boost/simd/include/functions/simd/compare_not_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/complement.hpp b/inst/include/boost/simd/include/functions/simd/complement.hpp deleted file mode 100644 index a5aaee4..0000000 --- a/inst/include/boost/simd/include/functions/simd/complement.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COMPLEMENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/conj.hpp b/inst/include/boost/simd/include/functions/simd/conj.hpp deleted file mode 100644 index 168e952..0000000 --- a/inst/include/boost/simd/include/functions/simd/conj.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CONJ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CONJ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/copysign.hpp b/inst/include/boost/simd/include/functions/simd/copysign.hpp deleted file mode 100644 index 4e06ef6..0000000 --- a/inst/include/boost/simd/include/functions/simd/copysign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COPYSIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_COPYSIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/correct_fma.hpp b/inst/include/boost/simd/include/functions/simd/correct_fma.hpp deleted file mode 100644 index 82f8686..0000000 --- a/inst/include/boost/simd/include/functions/simd/correct_fma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CORRECT_FMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CORRECT_FMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ctz.hpp b/inst/include/boost/simd/include/functions/simd/ctz.hpp deleted file mode 100644 index c2d1ff9..0000000 --- a/inst/include/boost/simd/include/functions/simd/ctz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/cummax.hpp b/inst/include/boost/simd/include/functions/simd/cummax.hpp deleted file mode 100644 index 593bae0..0000000 --- a/inst/include/boost/simd/include/functions/simd/cummax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CUMMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/cummin.hpp b/inst/include/boost/simd/include/functions/simd/cummin.hpp deleted file mode 100644 index 7480dbd..0000000 --- a/inst/include/boost/simd/include/functions/simd/cummin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CUMMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/cumprod.hpp b/inst/include/boost/simd/include/functions/simd/cumprod.hpp deleted file mode 100644 index 6e03ac4..0000000 --- a/inst/include/boost/simd/include/functions/simd/cumprod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CUMPROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/cumsum.hpp b/inst/include/boost/simd/include/functions/simd/cumsum.hpp deleted file mode 100644 index a910a2d..0000000 --- a/inst/include/boost/simd/include/functions/simd/cumsum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_CUMSUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/dec.hpp b/inst/include/boost/simd/include/functions/simd/dec.hpp deleted file mode 100644 index 5c3d3aa..0000000 --- a/inst/include/boost/simd/include/functions/simd/dec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DEC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DEC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/deinterleave_first.hpp b/inst/include/boost/simd/include/functions/simd/deinterleave_first.hpp deleted file mode 100644 index 308d178..0000000 --- a/inst/include/boost/simd/include/functions/simd/deinterleave_first.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DEINTERLEAVE_FIRST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/deinterleave_second.hpp b/inst/include/boost/simd/include/functions/simd/deinterleave_second.hpp deleted file mode 100644 index d359f7f..0000000 --- a/inst/include/boost/simd/include/functions/simd/deinterleave_second.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DEINTERLEAVE_SECOND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/dist.hpp b/inst/include/boost/simd/include/functions/simd/dist.hpp deleted file mode 100644 index 0395e1d..0000000 --- a/inst/include/boost/simd/include/functions/simd/dist.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/divceil.hpp b/inst/include/boost/simd/include/functions/simd/divceil.hpp deleted file mode 100644 index 6a60498..0000000 --- a/inst/include/boost/simd/include/functions/simd/divceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVCEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/divfix.hpp b/inst/include/boost/simd/include/functions/simd/divfix.hpp deleted file mode 100644 index 9aec1bd..0000000 --- a/inst/include/boost/simd/include/functions/simd/divfix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVFIX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVFIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/divfloor.hpp b/inst/include/boost/simd/include/functions/simd/divfloor.hpp deleted file mode 100644 index 9b2bf2c..0000000 --- a/inst/include/boost/simd/include/functions/simd/divfloor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVFLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/divides.hpp b/inst/include/boost/simd/include/functions/simd/divides.hpp deleted file mode 100644 index 90cd5db..0000000 --- a/inst/include/boost/simd/include/functions/simd/divides.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVIDES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/divround.hpp b/inst/include/boost/simd/include/functions/simd/divround.hpp deleted file mode 100644 index 5dae2cf..0000000 --- a/inst/include/boost/simd/include/functions/simd/divround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/divround2even.hpp b/inst/include/boost/simd/include/functions/simd/divround2even.hpp deleted file mode 100644 index 49a6e63..0000000 --- a/inst/include/boost/simd/include/functions/simd/divround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/divs.hpp b/inst/include/boost/simd/include/functions/simd/divs.hpp deleted file mode 100644 index 73f4781..0000000 --- a/inst/include/boost/simd/include/functions/simd/divs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DIVS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/dot.hpp b/inst/include/boost/simd/include/functions/simd/dot.hpp deleted file mode 100644 index 26c383d..0000000 --- a/inst/include/boost/simd/include/functions/simd/dot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_DOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/enumerate.hpp b/inst/include/boost/simd/include/functions/simd/enumerate.hpp deleted file mode 100644 index b381941..0000000 --- a/inst/include/boost/simd/include/functions/simd/enumerate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ENUMERATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/eps.hpp b/inst/include/boost/simd/include/functions/simd/eps.hpp deleted file mode 100644 index b5176ee..0000000 --- a/inst/include/boost/simd/include/functions/simd/eps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_EPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_EPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/exponent.hpp b/inst/include/boost/simd/include/functions/simd/exponent.hpp deleted file mode 100644 index b0bb7d4..0000000 --- a/inst/include/boost/simd/include/functions/simd/exponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_EXPONENT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_EXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/exponentbits.hpp b/inst/include/boost/simd/include/functions/simd/exponentbits.hpp deleted file mode 100644 index 4ffe561..0000000 --- a/inst/include/boost/simd/include/functions/simd/exponentbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_EXPONENTBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_EXPONENTBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/extract.hpp b/inst/include/boost/simd/include/functions/simd/extract.hpp deleted file mode 100644 index 7e81f60..0000000 --- a/inst/include/boost/simd/include/functions/simd/extract.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_EXTRACT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_divides.hpp b/inst/include/boost/simd/include/functions/simd/fast_divides.hpp deleted file mode 100644 index 0a48edf..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_divides.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_DIVIDES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_frexp.hpp b/inst/include/boost/simd/include/functions/simd/fast_frexp.hpp deleted file mode 100644 index ee5bdec..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_FREXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_hypot.hpp b/inst/include/boost/simd/include/functions/simd/fast_hypot.hpp deleted file mode 100644 index e64bf60..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_hypot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_HYPOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_iround2even.hpp b/inst/include/boost/simd/include/functions/simd/fast_iround2even.hpp deleted file mode 100644 index 3937110..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_iround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_IROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_ldexp.hpp b/inst/include/boost/simd/include/functions/simd/fast_ldexp.hpp deleted file mode 100644 index 2c424b6..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_ldexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_LDEXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_rec.hpp b/inst/include/boost/simd/include/functions/simd/fast_rec.hpp deleted file mode 100644 index b1aecc7..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_rsqrt.hpp b/inst/include/boost/simd/include/functions/simd/fast_rsqrt.hpp deleted file mode 100644 index 62c0e1c..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_rsqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_RSQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_sqrt.hpp b/inst/include/boost/simd/include/functions/simd/fast_sqrt.hpp deleted file mode 100644 index 85e55ba..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_sqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_SQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_SQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_toint.hpp b/inst/include/boost/simd/include/functions/simd/fast_toint.hpp deleted file mode 100644 index 0eb70bb..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_toint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_TOINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_TOINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fast_trunc.hpp b/inst/include/boost/simd/include/functions/simd/fast_trunc.hpp deleted file mode 100644 index ea46fd5..0000000 --- a/inst/include/boost/simd/include/functions/simd/fast_trunc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FAST_TRUNC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ffs.hpp b/inst/include/boost/simd/include/functions/simd/ffs.hpp deleted file mode 100644 index 910c189..0000000 --- a/inst/include/boost/simd/include/functions/simd/ffs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FFS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FFS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/firstbitset.hpp b/inst/include/boost/simd/include/functions/simd/firstbitset.hpp deleted file mode 100644 index f5d1d87..0000000 --- a/inst/include/boost/simd/include/functions/simd/firstbitset.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FIRSTBITSET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FIRSTBITSET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/firstbitunset.hpp b/inst/include/boost/simd/include/functions/simd/firstbitunset.hpp deleted file mode 100644 index ccad62a..0000000 --- a/inst/include/boost/simd/include/functions/simd/firstbitunset.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FIRSTBITUNSET_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FIRSTBITUNSET_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/floor.hpp b/inst/include/boost/simd/include/functions/simd/floor.hpp deleted file mode 100644 index dfcad45..0000000 --- a/inst/include/boost/simd/include/functions/simd/floor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fma.hpp b/inst/include/boost/simd/include/functions/simd/fma.hpp deleted file mode 100644 index 991a137..0000000 --- a/inst/include/boost/simd/include/functions/simd/fma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fms.hpp b/inst/include/boost/simd/include/functions/simd/fms.hpp deleted file mode 100644 index 9ede98f..0000000 --- a/inst/include/boost/simd/include/functions/simd/fms.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FMS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FMS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fnma.hpp b/inst/include/boost/simd/include/functions/simd/fnma.hpp deleted file mode 100644 index faa19f4..0000000 --- a/inst/include/boost/simd/include/functions/simd/fnma.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FNMA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FNMA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/fnms.hpp b/inst/include/boost/simd/include/functions/simd/fnms.hpp deleted file mode 100644 index aa9ab06..0000000 --- a/inst/include/boost/simd/include/functions/simd/fnms.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FNMS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FNMS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/frac.hpp b/inst/include/boost/simd/include/functions/simd/frac.hpp deleted file mode 100644 index f926cc3..0000000 --- a/inst/include/boost/simd/include/functions/simd/frac.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FRAC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FRAC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/frexp.hpp b/inst/include/boost/simd/include/functions/simd/frexp.hpp deleted file mode 100644 index d78d1f2..0000000 --- a/inst/include/boost/simd/include/functions/simd/frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FREXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/genmask.hpp b/inst/include/boost/simd/include/functions/simd/genmask.hpp deleted file mode 100644 index 395b777..0000000 --- a/inst/include/boost/simd/include/functions/simd/genmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_GENMASK_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_GENMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/genmaskc.hpp b/inst/include/boost/simd/include/functions/simd/genmaskc.hpp deleted file mode 100644 index f861b5d..0000000 --- a/inst/include/boost/simd/include/functions/simd/genmaskc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_GENMASKC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_GENMASKC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/group.hpp b/inst/include/boost/simd/include/functions/simd/group.hpp deleted file mode 100644 index 0f12f50..0000000 --- a/inst/include/boost/simd/include/functions/simd/group.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_GROUP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_GROUP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/groups.hpp b/inst/include/boost/simd/include/functions/simd/groups.hpp deleted file mode 100644 index 1fca747..0000000 --- a/inst/include/boost/simd/include/functions/simd/groups.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_GROUPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/hi.hpp b/inst/include/boost/simd/include/functions/simd/hi.hpp deleted file mode 100644 index c230fa2..0000000 --- a/inst/include/boost/simd/include/functions/simd/hi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_HI_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_HI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/hmsb.hpp b/inst/include/boost/simd/include/functions/simd/hmsb.hpp deleted file mode 100644 index ef3406b..0000000 --- a/inst/include/boost/simd/include/functions/simd/hmsb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_HMSB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_HMSB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/hypot.hpp b/inst/include/boost/simd/include/functions/simd/hypot.hpp deleted file mode 100644 index edec1f0..0000000 --- a/inst/include/boost/simd/include/functions/simd/hypot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_HYPOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_HYPOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/iceil.hpp b/inst/include/boost/simd/include/functions/simd/iceil.hpp deleted file mode 100644 index 44b02b9..0000000 --- a/inst/include/boost/simd/include/functions/simd/iceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ICEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ICEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/idivceil.hpp b/inst/include/boost/simd/include/functions/simd/idivceil.hpp deleted file mode 100644 index b3f8d8c..0000000 --- a/inst/include/boost/simd/include/functions/simd/idivceil.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVCEIL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVCEIL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/idivfix.hpp b/inst/include/boost/simd/include/functions/simd/idivfix.hpp deleted file mode 100644 index b892c6d..0000000 --- a/inst/include/boost/simd/include/functions/simd/idivfix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVFIX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVFIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/idivfloor.hpp b/inst/include/boost/simd/include/functions/simd/idivfloor.hpp deleted file mode 100644 index 31056f7..0000000 --- a/inst/include/boost/simd/include/functions/simd/idivfloor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVFLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVFLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/idivround.hpp b/inst/include/boost/simd/include/functions/simd/idivround.hpp deleted file mode 100644 index 66c1873..0000000 --- a/inst/include/boost/simd/include/functions/simd/idivround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/idivround2even.hpp b/inst/include/boost/simd/include/functions/simd/idivround2even.hpp deleted file mode 100644 index 040c395..0000000 --- a/inst/include/boost/simd/include/functions/simd/idivround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IDIVROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/if_allbits_else.hpp b/inst/include/boost/simd/include/functions/simd/if_allbits_else.hpp deleted file mode 100644 index 217fb6e..0000000 --- a/inst/include/boost/simd/include/functions/simd/if_allbits_else.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ALLBITS_ELSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/if_else.hpp b/inst/include/boost/simd/include/functions/simd/if_else.hpp deleted file mode 100644 index 781d56b..0000000 --- a/inst/include/boost/simd/include/functions/simd/if_else.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/if_else_allbits.hpp b/inst/include/boost/simd/include/functions/simd/if_else_allbits.hpp deleted file mode 100644 index e450e19..0000000 --- a/inst/include/boost/simd/include/functions/simd/if_else_allbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ALLBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/if_else_zero.hpp b/inst/include/boost/simd/include/functions/simd/if_else_zero.hpp deleted file mode 100644 index fb51d46..0000000 --- a/inst/include/boost/simd/include/functions/simd/if_else_zero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/if_one_else_zero.hpp b/inst/include/boost/simd/include/functions/simd/if_one_else_zero.hpp deleted file mode 100644 index 5e7d368..0000000 --- a/inst/include/boost/simd/include/functions/simd/if_one_else_zero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/if_zero_else.hpp b/inst/include/boost/simd/include/functions/simd/if_zero_else.hpp deleted file mode 100644 index 28d37b2..0000000 --- a/inst/include/boost/simd/include/functions/simd/if_zero_else.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/if_zero_else_one.hpp b/inst/include/boost/simd/include/functions/simd/if_zero_else_one.hpp deleted file mode 100644 index 6778cdd..0000000 --- a/inst/include/boost/simd/include/functions/simd/if_zero_else_one.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ifloor.hpp b/inst/include/boost/simd/include/functions/simd/ifloor.hpp deleted file mode 100644 index b60a10b..0000000 --- a/inst/include/boost/simd/include/functions/simd/ifloor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFLOOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFLOOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ifnotadd.hpp b/inst/include/boost/simd/include/functions/simd/ifnotadd.hpp deleted file mode 100644 index abf3d8d..0000000 --- a/inst/include/boost/simd/include/functions/simd/ifnotadd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFNOTADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFNOTADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ifnotdec.hpp b/inst/include/boost/simd/include/functions/simd/ifnotdec.hpp deleted file mode 100644 index 1ebd4e8..0000000 --- a/inst/include/boost/simd/include/functions/simd/ifnotdec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFNOTDEC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFNOTDEC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ifnotinc.hpp b/inst/include/boost/simd/include/functions/simd/ifnotinc.hpp deleted file mode 100644 index 61d9b99..0000000 --- a/inst/include/boost/simd/include/functions/simd/ifnotinc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFNOTINC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFNOTINC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ifnotsub.hpp b/inst/include/boost/simd/include/functions/simd/ifnotsub.hpp deleted file mode 100644 index 862d50c..0000000 --- a/inst/include/boost/simd/include/functions/simd/ifnotsub.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFNOTSUB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IFNOTSUB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ilog2.hpp b/inst/include/boost/simd/include/functions/simd/ilog2.hpp deleted file mode 100644 index 7f59b8c..0000000 --- a/inst/include/boost/simd/include/functions/simd/ilog2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ILOG2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ILOG2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ilogb.hpp b/inst/include/boost/simd/include/functions/simd/ilogb.hpp deleted file mode 100644 index f0c2d77..0000000 --- a/inst/include/boost/simd/include/functions/simd/ilogb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ILOGB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ILOGB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/inbtrue.hpp b/inst/include/boost/simd/include/functions/simd/inbtrue.hpp deleted file mode 100644 index 6b9b238..0000000 --- a/inst/include/boost/simd/include/functions/simd/inbtrue.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INBTRUE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/inc.hpp b/inst/include/boost/simd/include/functions/simd/inc.hpp deleted file mode 100644 index 013e70c..0000000 --- a/inst/include/boost/simd/include/functions/simd/inc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/insert.hpp b/inst/include/boost/simd/include/functions/simd/insert.hpp deleted file mode 100644 index ee0dce9..0000000 --- a/inst/include/boost/simd/include/functions/simd/insert.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INSERT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INSERT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/interleave_even.hpp b/inst/include/boost/simd/include/functions/simd/interleave_even.hpp deleted file mode 100644 index 629f482..0000000 --- a/inst/include/boost/simd/include/functions/simd/interleave_even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/interleave_first.hpp b/inst/include/boost/simd/include/functions/simd/interleave_first.hpp deleted file mode 100644 index 6cf6dc5..0000000 --- a/inst/include/boost/simd/include/functions/simd/interleave_first.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_FIRST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/interleave_odd.hpp b/inst/include/boost/simd/include/functions/simd/interleave_odd.hpp deleted file mode 100644 index 540f386..0000000 --- a/inst/include/boost/simd/include/functions/simd/interleave_odd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_ODD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/interleave_second.hpp b/inst/include/boost/simd/include/functions/simd/interleave_second.hpp deleted file mode 100644 index 765a276..0000000 --- a/inst/include/boost/simd/include/functions/simd/interleave_second.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_SECOND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/iround.hpp b/inst/include/boost/simd/include/functions/simd/iround.hpp deleted file mode 100644 index 2a90567..0000000 --- a/inst/include/boost/simd/include/functions/simd/iround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/iround2even.hpp b/inst/include/boost/simd/include/functions/simd/iround2even.hpp deleted file mode 100644 index fea1b91..0000000 --- a/inst/include/boost/simd/include/functions/simd/iround2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_denormal.hpp b/inst/include/boost/simd/include/functions/simd/is_denormal.hpp deleted file mode 100644 index b440540..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_denormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_DENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_equal.hpp b/inst/include/boost/simd/include/functions/simd/is_equal.hpp deleted file mode 100644 index 0bf1282..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/include/functions/simd/is_equal_with_equal_nans.hpp deleted file mode 100644 index 66a117c..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_eqz.hpp b/inst/include/boost/simd/include/functions/simd/is_eqz.hpp deleted file mode 100644 index 2c038e3..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_eqz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_EQZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_even.hpp b/inst/include/boost/simd/include/functions/simd/is_even.hpp deleted file mode 100644 index 5c541c0..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_finite.hpp b/inst/include/boost/simd/include/functions/simd/is_finite.hpp deleted file mode 100644 index 56d304e..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_finite.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_FINITE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_FINITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_flint.hpp b/inst/include/boost/simd/include/functions/simd/is_flint.hpp deleted file mode 100644 index af3416b..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_flint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_FLINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_FLINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_gez.hpp b/inst/include/boost/simd/include/functions/simd/is_gez.hpp deleted file mode 100644 index a267594..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_gez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_GEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_greater.hpp b/inst/include/boost/simd/include/functions/simd/is_greater.hpp deleted file mode 100644 index c96878c..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_greater.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_greater_equal.hpp b/inst/include/boost/simd/include/functions/simd/is_greater_equal.hpp deleted file mode 100644 index 42362b7..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_greater_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_gtz.hpp b/inst/include/boost/simd/include/functions/simd/is_gtz.hpp deleted file mode 100644 index fe8b8ae..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_gtz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_GTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_imag.hpp b/inst/include/boost/simd/include/functions/simd/is_imag.hpp deleted file mode 100644 index dec6094..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_imag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_IMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_IMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_included.hpp b/inst/include/boost/simd/include/functions/simd/is_included.hpp deleted file mode 100644 index e5ea66c..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_included.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_included_c.hpp b/inst/include/boost/simd/include/functions/simd/is_included_c.hpp deleted file mode 100644 index 7b11992..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_included_c.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_C_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_inf.hpp b/inst/include/boost/simd/include/functions/simd/is_inf.hpp deleted file mode 100644 index ac98305..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_inf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_INF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_INF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_invalid.hpp b/inst/include/boost/simd/include/functions/simd/is_invalid.hpp deleted file mode 100644 index a5f7ddf..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_invalid.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_INVALID_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_INVALID_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_less.hpp b/inst/include/boost/simd/include/functions/simd/is_less.hpp deleted file mode 100644 index 8c30ce8..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_less.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_LESS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_less_equal.hpp b/inst/include/boost/simd/include/functions/simd/is_less_equal.hpp deleted file mode 100644 index 0a10a92..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_less_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_LESS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_lez.hpp b/inst/include/boost/simd/include/functions/simd/is_lez.hpp deleted file mode 100644 index 99e0b90..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_lez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_LEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_ltz.hpp b/inst/include/boost/simd/include/functions/simd/is_ltz.hpp deleted file mode 100644 index 5c7d871..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_ltz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_LTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_nan.hpp b/inst/include/boost/simd/include/functions/simd/is_nan.hpp deleted file mode 100644 index 81fb805..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NAN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_negative.hpp b/inst/include/boost/simd/include/functions/simd/is_negative.hpp deleted file mode 100644 index bad8795..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_negative.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NEGATIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NEGATIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_nez.hpp b/inst/include/boost/simd/include/functions/simd/is_nez.hpp deleted file mode 100644 index e65656c..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_nez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_ngez.hpp b/inst/include/boost/simd/include/functions/simd/is_ngez.hpp deleted file mode 100644 index f11cdae..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_ngez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NGEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NGEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_ngtz.hpp b/inst/include/boost/simd/include/functions/simd/is_ngtz.hpp deleted file mode 100644 index 1440fb4..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_ngtz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NGTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NGTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_nlez.hpp b/inst/include/boost/simd/include/functions/simd/is_nlez.hpp deleted file mode 100644 index bfa0f29..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_nlez.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NLEZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NLEZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_nltz.hpp b/inst/include/boost/simd/include/functions/simd/is_nltz.hpp deleted file mode 100644 index 95b590d..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_nltz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NLTZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NLTZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_denormal.hpp b/inst/include/boost/simd/include/functions/simd/is_not_denormal.hpp deleted file mode 100644 index 3c4a1a2..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_denormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_DENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_equal.hpp b/inst/include/boost/simd/include/functions/simd/is_not_equal.hpp deleted file mode 100644 index 03be5a8..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/include/functions/simd/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index be7c29d..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_finite.hpp b/inst/include/boost/simd/include/functions/simd/is_not_finite.hpp deleted file mode 100644 index 28c2359..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_finite.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_FINITE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_FINITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_greater.hpp b/inst/include/boost/simd/include/functions/simd/is_not_greater.hpp deleted file mode 100644 index 52e450a..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_greater.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_greater_equal.hpp b/inst/include/boost/simd/include/functions/simd/is_not_greater_equal.hpp deleted file mode 100644 index af29300..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_greater_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_imag.hpp b/inst/include/boost/simd/include/functions/simd/is_not_imag.hpp deleted file mode 100644 index 4acbf5d..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_imag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_IMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_IMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_infinite.hpp b/inst/include/boost/simd/include/functions/simd/is_not_infinite.hpp deleted file mode 100644 index 56f6ba3..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_infinite.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_INFINITE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_INFINITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_less.hpp b/inst/include/boost/simd/include/functions/simd/is_not_less.hpp deleted file mode 100644 index 40bd63e..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_less.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_less_equal.hpp b/inst/include/boost/simd/include/functions/simd/is_not_less_equal.hpp deleted file mode 100644 index 4fd603f..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_less_equal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_nan.hpp b/inst/include/boost/simd/include/functions/simd/is_not_nan.hpp deleted file mode 100644 index 1b1424f..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_NAN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_not_real.hpp b/inst/include/boost/simd/include/functions/simd/is_not_real.hpp deleted file mode 100644 index 2fb2741..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_not_real.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_REAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_NOT_REAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_odd.hpp b/inst/include/boost/simd/include/functions/simd/is_odd.hpp deleted file mode 100644 index c4f216a..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_odd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_ODD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_ODD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_ord.hpp b/inst/include/boost/simd/include/functions/simd/is_ord.hpp deleted file mode 100644 index dc9d580..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_ord.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_ORD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_positive.hpp b/inst/include/boost/simd/include/functions/simd/is_positive.hpp deleted file mode 100644 index 5f16156..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_positive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_POSITIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_POSITIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_real.hpp b/inst/include/boost/simd/include/functions/simd/is_real.hpp deleted file mode 100644 index 16ffe56..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_real.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_REAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_REAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_simd_logical.hpp b/inst/include/boost/simd/include/functions/simd/is_simd_logical.hpp deleted file mode 100644 index 9046c08..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_simd_logical.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_SIMD_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/is_unord.hpp b/inst/include/boost/simd/include/functions/simd/is_unord.hpp deleted file mode 100644 index abc634a..0000000 --- a/inst/include/boost/simd/include/functions/simd/is_unord.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_IS_UNORD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ldexp.hpp b/inst/include/boost/simd/include/functions/simd/ldexp.hpp deleted file mode 100644 index 859754a..0000000 --- a/inst/include/boost/simd/include/functions/simd/ldexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LDEXP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LDEXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/lo.hpp b/inst/include/boost/simd/include/functions/simd/lo.hpp deleted file mode 100644 index 59a3b49..0000000 --- a/inst/include/boost/simd/include/functions/simd/lo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/load.hpp b/inst/include/boost/simd/include/functions/simd/load.hpp deleted file mode 100644 index b6642d7..0000000 --- a/inst/include/boost/simd/include/functions/simd/load.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOAD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/logical_and.hpp b/inst/include/boost/simd/include/functions/simd/logical_and.hpp deleted file mode 100644 index da57ea1..0000000 --- a/inst/include/boost/simd/include/functions/simd/logical_and.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_AND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_AND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/logical_andnot.hpp b/inst/include/boost/simd/include/functions/simd/logical_andnot.hpp deleted file mode 100644 index 750dfb9..0000000 --- a/inst/include/boost/simd/include/functions/simd/logical_andnot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ANDNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ANDNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/logical_not.hpp b/inst/include/boost/simd/include/functions/simd/logical_not.hpp deleted file mode 100644 index 1907152..0000000 --- a/inst/include/boost/simd/include/functions/simd/logical_not.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/logical_notand.hpp b/inst/include/boost/simd/include/functions/simd/logical_notand.hpp deleted file mode 100644 index 038b7fb..0000000 --- a/inst/include/boost/simd/include/functions/simd/logical_notand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTAND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/logical_notor.hpp b/inst/include/boost/simd/include/functions/simd/logical_notor.hpp deleted file mode 100644 index 2326702..0000000 --- a/inst/include/boost/simd/include/functions/simd/logical_notor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/logical_or.hpp b/inst/include/boost/simd/include/functions/simd/logical_or.hpp deleted file mode 100644 index 9546d8e..0000000 --- a/inst/include/boost/simd/include/functions/simd/logical_or.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_OR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_OR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/logical_ornot.hpp b/inst/include/boost/simd/include/functions/simd/logical_ornot.hpp deleted file mode 100644 index 54149ff..0000000 --- a/inst/include/boost/simd/include/functions/simd/logical_ornot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ORNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ORNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/logical_xor.hpp b/inst/include/boost/simd/include/functions/simd/logical_xor.hpp deleted file mode 100644 index 6a786f1..0000000 --- a/inst/include/boost/simd/include/functions/simd/logical_xor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_XOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOGICAL_XOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/lookup.hpp b/inst/include/boost/simd/include/functions/simd/lookup.hpp deleted file mode 100644 index c32c8b6..0000000 --- a/inst/include/boost/simd/include/functions/simd/lookup.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_LOOKUP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/majority.hpp b/inst/include/boost/simd/include/functions/simd/majority.hpp deleted file mode 100644 index ed25703..0000000 --- a/inst/include/boost/simd/include/functions/simd/majority.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAJORITY_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAJORITY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/make.hpp b/inst/include/boost/simd/include/functions/simd/make.hpp deleted file mode 100644 index e962b95..0000000 --- a/inst/include/boost/simd/include/functions/simd/make.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAKE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAKE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/mantissa.hpp b/inst/include/boost/simd/include/functions/simd/mantissa.hpp deleted file mode 100644 index f583b2b..0000000 --- a/inst/include/boost/simd/include/functions/simd/mantissa.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MANTISSA_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MANTISSA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/map.hpp b/inst/include/boost/simd/include/functions/simd/map.hpp deleted file mode 100644 index bba6a50..0000000 --- a/inst/include/boost/simd/include/functions/simd/map.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/mask2logical.hpp b/inst/include/boost/simd/include/functions/simd/mask2logical.hpp deleted file mode 100644 index 14de4cf..0000000 --- a/inst/include/boost/simd/include/functions/simd/mask2logical.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MASK2LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MASK2LOGICAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/max.hpp b/inst/include/boost/simd/include/functions/simd/max.hpp deleted file mode 100644 index 9db6dc5..0000000 --- a/inst/include/boost/simd/include/functions/simd/max.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/maximum.hpp b/inst/include/boost/simd/include/functions/simd/maximum.hpp deleted file mode 100644 index 83cfb71..0000000 --- a/inst/include/boost/simd/include/functions/simd/maximum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAXIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/maxmag.hpp b/inst/include/boost/simd/include/functions/simd/maxmag.hpp deleted file mode 100644 index fd4f463..0000000 --- a/inst/include/boost/simd/include/functions/simd/maxmag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAXMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAXMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/maxnum.hpp b/inst/include/boost/simd/include/functions/simd/maxnum.hpp deleted file mode 100644 index bcbbf38..0000000 --- a/inst/include/boost/simd/include/functions/simd/maxnum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAXNUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAXNUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/maxnummag.hpp b/inst/include/boost/simd/include/functions/simd/maxnummag.hpp deleted file mode 100644 index 05e1114..0000000 --- a/inst/include/boost/simd/include/functions/simd/maxnummag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAXNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MAXNUMMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/meanof.hpp b/inst/include/boost/simd/include/functions/simd/meanof.hpp deleted file mode 100644 index dff7408..0000000 --- a/inst/include/boost/simd/include/functions/simd/meanof.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MEANOF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MEANOF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/min.hpp b/inst/include/boost/simd/include/functions/simd/min.hpp deleted file mode 100644 index f81be9b..0000000 --- a/inst/include/boost/simd/include/functions/simd/min.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/minimum.hpp b/inst/include/boost/simd/include/functions/simd/minimum.hpp deleted file mode 100644 index be4db99..0000000 --- a/inst/include/boost/simd/include/functions/simd/minimum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/minmag.hpp b/inst/include/boost/simd/include/functions/simd/minmag.hpp deleted file mode 100644 index d0b4e2c..0000000 --- a/inst/include/boost/simd/include/functions/simd/minmag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/minmod.hpp b/inst/include/boost/simd/include/functions/simd/minmod.hpp deleted file mode 100644 index 5e3dded..0000000 --- a/inst/include/boost/simd/include/functions/simd/minmod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINMOD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINMOD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/minnum.hpp b/inst/include/boost/simd/include/functions/simd/minnum.hpp deleted file mode 100644 index f69cb62..0000000 --- a/inst/include/boost/simd/include/functions/simd/minnum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINNUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINNUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/minnummag.hpp b/inst/include/boost/simd/include/functions/simd/minnummag.hpp deleted file mode 100644 index a6ba224..0000000 --- a/inst/include/boost/simd/include/functions/simd/minnummag.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINNUMMAG_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINNUMMAG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/minus.hpp b/inst/include/boost/simd/include/functions/simd/minus.hpp deleted file mode 100644 index 933c193..0000000 --- a/inst/include/boost/simd/include/functions/simd/minus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/minusone.hpp b/inst/include/boost/simd/include/functions/simd/minusone.hpp deleted file mode 100644 index f6bd807..0000000 --- a/inst/include/boost/simd/include/functions/simd/minusone.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINUSONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MINUSONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/mod.hpp b/inst/include/boost/simd/include/functions/simd/mod.hpp deleted file mode 100644 index 410751b..0000000 --- a/inst/include/boost/simd/include/functions/simd/mod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MOD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MOD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/modf.hpp b/inst/include/boost/simd/include/functions/simd/modf.hpp deleted file mode 100644 index dbbf989..0000000 --- a/inst/include/boost/simd/include/functions/simd/modf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MODF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MODF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/modulo.hpp b/inst/include/boost/simd/include/functions/simd/modulo.hpp deleted file mode 100644 index 2e4cc81..0000000 --- a/inst/include/boost/simd/include/functions/simd/modulo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MODULO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MODULO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/muls.hpp b/inst/include/boost/simd/include/functions/simd/muls.hpp deleted file mode 100644 index 52f59bc..0000000 --- a/inst/include/boost/simd/include/functions/simd/muls.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MULS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MULS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/multiplies.hpp b/inst/include/boost/simd/include/functions/simd/multiplies.hpp deleted file mode 100644 index c020743..0000000 --- a/inst/include/boost/simd/include/functions/simd/multiplies.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_MULTIPLIES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/nbtrue.hpp b/inst/include/boost/simd/include/functions/simd/nbtrue.hpp deleted file mode 100644 index 21d3c34..0000000 --- a/inst/include/boost/simd/include/functions/simd/nbtrue.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NBTRUE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/negate.hpp b/inst/include/boost/simd/include/functions/simd/negate.hpp deleted file mode 100644 index f801c82..0000000 --- a/inst/include/boost/simd/include/functions/simd/negate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/negatenz.hpp b/inst/include/boost/simd/include/functions/simd/negatenz.hpp deleted file mode 100644 index b02b9b4..0000000 --- a/inst/include/boost/simd/include/functions/simd/negatenz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGATENZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGATENZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/negif.hpp b/inst/include/boost/simd/include/functions/simd/negif.hpp deleted file mode 100644 index 810834f..0000000 --- a/inst/include/boost/simd/include/functions/simd/negif.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGIF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGIF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/negifnot.hpp b/inst/include/boost/simd/include/functions/simd/negifnot.hpp deleted file mode 100644 index 70a7020..0000000 --- a/inst/include/boost/simd/include/functions/simd/negifnot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGIFNOT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGIFNOT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/negs.hpp b/inst/include/boost/simd/include/functions/simd/negs.hpp deleted file mode 100644 index ca0fcfb..0000000 --- a/inst/include/boost/simd/include/functions/simd/negs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEGS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/next.hpp b/inst/include/boost/simd/include/functions/simd/next.hpp deleted file mode 100644 index c185972..0000000 --- a/inst/include/boost/simd/include/functions/simd/next.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEXT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEXT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/nextafter.hpp b/inst/include/boost/simd/include/functions/simd/nextafter.hpp deleted file mode 100644 index d17e0fb..0000000 --- a/inst/include/boost/simd/include/functions/simd/nextafter.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEXTAFTER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEXTAFTER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/nextpow2.hpp b/inst/include/boost/simd/include/functions/simd/nextpow2.hpp deleted file mode 100644 index 4ee9aee..0000000 --- a/inst/include/boost/simd/include/functions/simd/nextpow2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEXTPOW2_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NEXTPOW2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/none.hpp b/inst/include/boost/simd/include/functions/simd/none.hpp deleted file mode 100644 index c372582..0000000 --- a/inst/include/boost/simd/include/functions/simd/none.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NONE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_NONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/oneminus.hpp b/inst/include/boost/simd/include/functions/simd/oneminus.hpp deleted file mode 100644 index c6555e2..0000000 --- a/inst/include/boost/simd/include/functions/simd/oneminus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ONEMINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ONEMINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/oneplus.hpp b/inst/include/boost/simd/include/functions/simd/oneplus.hpp deleted file mode 100644 index 5d7ed2f..0000000 --- a/inst/include/boost/simd/include/functions/simd/oneplus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ONEPLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ONEPLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/plus.hpp b/inst/include/boost/simd/include/functions/simd/plus.hpp deleted file mode 100644 index f14b5a3..0000000 --- a/inst/include/boost/simd/include/functions/simd/plus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_PLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_PLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/popcnt.hpp b/inst/include/boost/simd/include/functions/simd/popcnt.hpp deleted file mode 100644 index cbec8e4..0000000 --- a/inst/include/boost/simd/include/functions/simd/popcnt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_POPCNT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_POPCNT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/posmax.hpp b/inst/include/boost/simd/include/functions/simd/posmax.hpp deleted file mode 100644 index 6c91da4..0000000 --- a/inst/include/boost/simd/include/functions/simd/posmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_POSMAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_POSMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/posmin.hpp b/inst/include/boost/simd/include/functions/simd/posmin.hpp deleted file mode 100644 index 009d45a..0000000 --- a/inst/include/boost/simd/include/functions/simd/posmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_POSMIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_POSMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/predecessor.hpp b/inst/include/boost/simd/include/functions/simd/predecessor.hpp deleted file mode 100644 index 834bbeb..0000000 --- a/inst/include/boost/simd/include/functions/simd/predecessor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_PREDECESSOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_PREDECESSOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/prev.hpp b/inst/include/boost/simd/include/functions/simd/prev.hpp deleted file mode 100644 index e56ebc0..0000000 --- a/inst/include/boost/simd/include/functions/simd/prev.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_PREV_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_PREV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/prod.hpp b/inst/include/boost/simd/include/functions/simd/prod.hpp deleted file mode 100644 index 92af48e..0000000 --- a/inst/include/boost/simd/include/functions/simd/prod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_PROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_PROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/raw_rec.hpp b/inst/include/boost/simd/include/functions/simd/raw_rec.hpp deleted file mode 100644 index d7b7c80..0000000 --- a/inst/include/boost/simd/include/functions/simd/raw_rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RAW_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RAW_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/rec.hpp b/inst/include/boost/simd/include/functions/simd/rec.hpp deleted file mode 100644 index d3d4cf2..0000000 --- a/inst/include/boost/simd/include/functions/simd/rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/refine_rec.hpp b/inst/include/boost/simd/include/functions/simd/refine_rec.hpp deleted file mode 100644 index 3fc3e57..0000000 --- a/inst/include/boost/simd/include/functions/simd/refine_rec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REFINE_REC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REFINE_REC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/rem.hpp b/inst/include/boost/simd/include/functions/simd/rem.hpp deleted file mode 100644 index cc72c37..0000000 --- a/inst/include/boost/simd/include/functions/simd/rem.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/remainder.hpp b/inst/include/boost/simd/include/functions/simd/remainder.hpp deleted file mode 100644 index d214333..0000000 --- a/inst/include/boost/simd/include/functions/simd/remainder.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REMAINDER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REMAINDER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/remquo.hpp b/inst/include/boost/simd/include/functions/simd/remquo.hpp deleted file mode 100644 index d4f75ef..0000000 --- a/inst/include/boost/simd/include/functions/simd/remquo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REMQUO_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REMQUO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/remround.hpp b/inst/include/boost/simd/include/functions/simd/remround.hpp deleted file mode 100644 index df8df05..0000000 --- a/inst/include/boost/simd/include/functions/simd/remround.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REMROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REMROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/repeat_lower_half.hpp b/inst/include/boost/simd/include/functions/simd/repeat_lower_half.hpp deleted file mode 100644 index fac40e2..0000000 --- a/inst/include/boost/simd/include/functions/simd/repeat_lower_half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REPEAT_LOWER_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/repeat_upper_half.hpp b/inst/include/boost/simd/include/functions/simd/repeat_upper_half.hpp deleted file mode 100644 index 695073e..0000000 --- a/inst/include/boost/simd/include/functions/simd/repeat_upper_half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REPEAT_UPPER_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/reverse.hpp b/inst/include/boost/simd/include/functions/simd/reverse.hpp deleted file mode 100644 index 743e647..0000000 --- a/inst/include/boost/simd/include/functions/simd/reverse.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REVERSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/reversebits.hpp b/inst/include/boost/simd/include/functions/simd/reversebits.hpp deleted file mode 100644 index 54821cd..0000000 --- a/inst/include/boost/simd/include/functions/simd/reversebits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REVERSEBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_REVERSEBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/rol.hpp b/inst/include/boost/simd/include/functions/simd/rol.hpp deleted file mode 100644 index 73aaaef..0000000 --- a/inst/include/boost/simd/include/functions/simd/rol.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ROL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ROL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ror.hpp b/inst/include/boost/simd/include/functions/simd/ror.hpp deleted file mode 100644 index 1b794f7..0000000 --- a/inst/include/boost/simd/include/functions/simd/ror.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ROR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ROR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/round.hpp b/inst/include/boost/simd/include/functions/simd/round.hpp deleted file mode 100644 index 6d77e18..0000000 --- a/inst/include/boost/simd/include/functions/simd/round.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ROUND_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ROUND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/round2even.hpp b/inst/include/boost/simd/include/functions/simd/round2even.hpp deleted file mode 100644 index 5623242..0000000 --- a/inst/include/boost/simd/include/functions/simd/round2even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ROUND2EVEN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ROUND2EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/rrol.hpp b/inst/include/boost/simd/include/functions/simd/rrol.hpp deleted file mode 100644 index fd78d5d..0000000 --- a/inst/include/boost/simd/include/functions/simd/rrol.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RROL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RROL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/rror.hpp b/inst/include/boost/simd/include/functions/simd/rror.hpp deleted file mode 100644 index 662201e..0000000 --- a/inst/include/boost/simd/include/functions/simd/rror.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RROR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RROR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/rshl.hpp b/inst/include/boost/simd/include/functions/simd/rshl.hpp deleted file mode 100644 index 36612ac..0000000 --- a/inst/include/boost/simd/include/functions/simd/rshl.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RSHL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RSHL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/rshr.hpp b/inst/include/boost/simd/include/functions/simd/rshr.hpp deleted file mode 100644 index 6fb4b8f..0000000 --- a/inst/include/boost/simd/include/functions/simd/rshr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RSHR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RSHR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/rsqrt.hpp b/inst/include/boost/simd/include/functions/simd/rsqrt.hpp deleted file mode 100644 index fdc744a..0000000 --- a/inst/include/boost/simd/include/functions/simd/rsqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RSQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_RSQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/safe_max.hpp b/inst/include/boost/simd/include/functions/simd/safe_max.hpp deleted file mode 100644 index 8109b46..0000000 --- a/inst/include/boost/simd/include/functions/simd/safe_max.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SAFE_MAX_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SAFE_MAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/safe_min.hpp b/inst/include/boost/simd/include/functions/simd/safe_min.hpp deleted file mode 100644 index bcfae77..0000000 --- a/inst/include/boost/simd/include/functions/simd/safe_min.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SAFE_MIN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SAFE_MIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/saturate.hpp b/inst/include/boost/simd/include/functions/simd/saturate.hpp deleted file mode 100644 index 81e94b7..0000000 --- a/inst/include/boost/simd/include/functions/simd/saturate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SATURATE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SATURATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/saturate_at.hpp b/inst/include/boost/simd/include/functions/simd/saturate_at.hpp deleted file mode 100644 index eec0c25..0000000 --- a/inst/include/boost/simd/include/functions/simd/saturate_at.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SATURATE_AT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SATURATE_AT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/sbits.hpp b/inst/include/boost/simd/include/functions/simd/sbits.hpp deleted file mode 100644 index aff5c4a..0000000 --- a/inst/include/boost/simd/include/functions/simd/sbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SBITS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/seladd.hpp b/inst/include/boost/simd/include/functions/simd/seladd.hpp deleted file mode 100644 index f094c0d..0000000 --- a/inst/include/boost/simd/include/functions/simd/seladd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SELADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SELADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/seldec.hpp b/inst/include/boost/simd/include/functions/simd/seldec.hpp deleted file mode 100644 index 5f3ff81..0000000 --- a/inst/include/boost/simd/include/functions/simd/seldec.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SELDEC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SELDEC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/selinc.hpp b/inst/include/boost/simd/include/functions/simd/selinc.hpp deleted file mode 100644 index ed1c9e9..0000000 --- a/inst/include/boost/simd/include/functions/simd/selinc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SELINC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SELINC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/selsub.hpp b/inst/include/boost/simd/include/functions/simd/selsub.hpp deleted file mode 100644 index df5e235..0000000 --- a/inst/include/boost/simd/include/functions/simd/selsub.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SELSUB_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SELSUB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/shift_left.hpp b/inst/include/boost/simd/include/functions/simd/shift_left.hpp deleted file mode 100644 index b9705d2..0000000 --- a/inst/include/boost/simd/include/functions/simd/shift_left.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SHIFT_LEFT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/shift_right.hpp b/inst/include/boost/simd/include/functions/simd/shift_right.hpp deleted file mode 100644 index 0e9a725..0000000 --- a/inst/include/boost/simd/include/functions/simd/shift_right.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SHIFT_RIGHT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/shr.hpp b/inst/include/boost/simd/include/functions/simd/shr.hpp deleted file mode 100644 index f6737bf..0000000 --- a/inst/include/boost/simd/include/functions/simd/shr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SHR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SHR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/shuffle.hpp b/inst/include/boost/simd/include/functions/simd/shuffle.hpp deleted file mode 100644 index b181747..0000000 --- a/inst/include/boost/simd/include/functions/simd/shuffle.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SHUFFLE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/sign.hpp b/inst/include/boost/simd/include/functions/simd/sign.hpp deleted file mode 100644 index 82ad3ea..0000000 --- a/inst/include/boost/simd/include/functions/simd/sign.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SIGN_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SIGN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/signnz.hpp b/inst/include/boost/simd/include/functions/simd/signnz.hpp deleted file mode 100644 index 81e201a..0000000 --- a/inst/include/boost/simd/include/functions/simd/signnz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SIGNNZ_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SIGNNZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/slice.hpp b/inst/include/boost/simd/include/functions/simd/slice.hpp deleted file mode 100644 index b934d53..0000000 --- a/inst/include/boost/simd/include/functions/simd/slice.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SLICE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SLICE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/slide.hpp b/inst/include/boost/simd/include/functions/simd/slide.hpp deleted file mode 100644 index d3aef22..0000000 --- a/inst/include/boost/simd/include/functions/simd/slide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SLIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/sort.hpp b/inst/include/boost/simd/include/functions/simd/sort.hpp deleted file mode 100644 index 13b8939..0000000 --- a/inst/include/boost/simd/include/functions/simd/sort.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SORT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SORT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/splat.hpp b/inst/include/boost/simd/include/functions/simd/splat.hpp deleted file mode 100644 index 0b0a968..0000000 --- a/inst/include/boost/simd/include/functions/simd/splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/splatted_maximum.hpp b/inst/include/boost/simd/include/functions/simd/splatted_maximum.hpp deleted file mode 100644 index 108a64d..0000000 --- a/inst/include/boost/simd/include/functions/simd/splatted_maximum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLATTED_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLATTED_MAXIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/splatted_minimum.hpp b/inst/include/boost/simd/include/functions/simd/splatted_minimum.hpp deleted file mode 100644 index 8713a5f..0000000 --- a/inst/include/boost/simd/include/functions/simd/splatted_minimum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLATTED_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLATTED_MINIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/splatted_prod.hpp b/inst/include/boost/simd/include/functions/simd/splatted_prod.hpp deleted file mode 100644 index a8622d5..0000000 --- a/inst/include/boost/simd/include/functions/simd/splatted_prod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLATTED_PROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLATTED_PROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/splatted_sum.hpp b/inst/include/boost/simd/include/functions/simd/splatted_sum.hpp deleted file mode 100644 index 4b519ea..0000000 --- a/inst/include/boost/simd/include/functions/simd/splatted_sum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLATTED_SUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLATTED_SUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/split.hpp b/inst/include/boost/simd/include/functions/simd/split.hpp deleted file mode 100644 index 3d59360..0000000 --- a/inst/include/boost/simd/include/functions/simd/split.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/split_high.hpp b/inst/include/boost/simd/include/functions/simd/split_high.hpp deleted file mode 100644 index 09ef197..0000000 --- a/inst/include/boost/simd/include/functions/simd/split_high.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLIT_HIGH_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/split_low.hpp b/inst/include/boost/simd/include/functions/simd/split_low.hpp deleted file mode 100644 index 561a031..0000000 --- a/inst/include/boost/simd/include/functions/simd/split_low.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLIT_LOW_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/split_multiplies.hpp b/inst/include/boost/simd/include/functions/simd/split_multiplies.hpp deleted file mode 100644 index e3bd0ed..0000000 --- a/inst/include/boost/simd/include/functions/simd/split_multiplies.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SPLIT_MULTIPLIES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/sqr.hpp b/inst/include/boost/simd/include/functions/simd/sqr.hpp deleted file mode 100644 index 0751f96..0000000 --- a/inst/include/boost/simd/include/functions/simd/sqr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SQR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SQR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/sqr_abs.hpp b/inst/include/boost/simd/include/functions/simd/sqr_abs.hpp deleted file mode 100644 index 1d27268..0000000 --- a/inst/include/boost/simd/include/functions/simd/sqr_abs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SQR_ABS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SQR_ABS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/sqrs.hpp b/inst/include/boost/simd/include/functions/simd/sqrs.hpp deleted file mode 100644 index 5e5ce3a..0000000 --- a/inst/include/boost/simd/include/functions/simd/sqrs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SQRS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SQRS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/sqrt.hpp b/inst/include/boost/simd/include/functions/simd/sqrt.hpp deleted file mode 100644 index 1335560..0000000 --- a/inst/include/boost/simd/include/functions/simd/sqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/store.hpp b/inst/include/boost/simd/include/functions/simd/store.hpp deleted file mode 100644 index 102fdf6..0000000 --- a/inst/include/boost/simd/include/functions/simd/store.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_STORE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_STORE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/stream.hpp b/inst/include/boost/simd/include/functions/simd/stream.hpp deleted file mode 100644 index 556d8fc..0000000 --- a/inst/include/boost/simd/include/functions/simd/stream.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_STREAM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_STREAM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/subs.hpp b/inst/include/boost/simd/include/functions/simd/subs.hpp deleted file mode 100644 index 768eea4..0000000 --- a/inst/include/boost/simd/include/functions/simd/subs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SUBS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SUBS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/successor.hpp b/inst/include/boost/simd/include/functions/simd/successor.hpp deleted file mode 100644 index 9b201ce..0000000 --- a/inst/include/boost/simd/include/functions/simd/successor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SUCCESSOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SUCCESSOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/sum.hpp b/inst/include/boost/simd/include/functions/simd/sum.hpp deleted file mode 100644 index 307dfb0..0000000 --- a/inst/include/boost/simd/include/functions/simd/sum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/swapbytes.hpp b/inst/include/boost/simd/include/functions/simd/swapbytes.hpp deleted file mode 100644 index 8073dd8..0000000 --- a/inst/include/boost/simd/include/functions/simd/swapbytes.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_SWAPBYTES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/tenpower.hpp b/inst/include/boost/simd/include/functions/simd/tenpower.hpp deleted file mode 100644 index 1513b58..0000000 --- a/inst/include/boost/simd/include/functions/simd/tenpower.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TENPOWER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TENPOWER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/tofloat.hpp b/inst/include/boost/simd/include/functions/simd/tofloat.hpp deleted file mode 100644 index 8edcaea..0000000 --- a/inst/include/boost/simd/include/functions/simd/tofloat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOFLOAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/toint.hpp b/inst/include/boost/simd/include/functions/simd/toint.hpp deleted file mode 100644 index a1d8036..0000000 --- a/inst/include/boost/simd/include/functions/simd/toint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/toints.hpp b/inst/include/boost/simd/include/functions/simd/toints.hpp deleted file mode 100644 index 169d284..0000000 --- a/inst/include/boost/simd/include/functions/simd/toints.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOINTS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/touint.hpp b/inst/include/boost/simd/include/functions/simd/touint.hpp deleted file mode 100644 index f1cfc1a..0000000 --- a/inst/include/boost/simd/include/functions/simd/touint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOUINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOUINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/touints.hpp b/inst/include/boost/simd/include/functions/simd/touints.hpp deleted file mode 100644 index db71726..0000000 --- a/inst/include/boost/simd/include/functions/simd/touints.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TOUINTS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/trunc.hpp b/inst/include/boost/simd/include/functions/simd/trunc.hpp deleted file mode 100644 index 7e498a2..0000000 --- a/inst/include/boost/simd/include/functions/simd/trunc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TRUNC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/two_add.hpp b/inst/include/boost/simd/include/functions/simd/two_add.hpp deleted file mode 100644 index 23355dc..0000000 --- a/inst/include/boost/simd/include/functions/simd/two_add.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TWO_ADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TWO_ADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/two_prod.hpp b/inst/include/boost/simd/include/functions/simd/two_prod.hpp deleted file mode 100644 index 5e11370..0000000 --- a/inst/include/boost/simd/include/functions/simd/two_prod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TWO_PROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TWO_PROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/two_split.hpp b/inst/include/boost/simd/include/functions/simd/two_split.hpp deleted file mode 100644 index dc0579c..0000000 --- a/inst/include/boost/simd/include/functions/simd/two_split.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TWO_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TWO_SPLIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/twopower.hpp b/inst/include/boost/simd/include/functions/simd/twopower.hpp deleted file mode 100644 index cf74013..0000000 --- a/inst/include/boost/simd/include/functions/simd/twopower.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TWOPOWER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_TWOPOWER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ulp.hpp b/inst/include/boost/simd/include/functions/simd/ulp.hpp deleted file mode 100644 index 791eb7c..0000000 --- a/inst/include/boost/simd/include/functions/simd/ulp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ULP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ULP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/ulpdist.hpp b/inst/include/boost/simd/include/functions/simd/ulpdist.hpp deleted file mode 100644 index bbb198b..0000000 --- a/inst/include/boost/simd/include/functions/simd/ulpdist.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ULPDIST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_ULPDIST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/unary_minus.hpp b/inst/include/boost/simd/include/functions/simd/unary_minus.hpp deleted file mode 100644 index 29286e6..0000000 --- a/inst/include/boost/simd/include/functions/simd/unary_minus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_UNARY_MINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/simd/unary_plus.hpp b/inst/include/boost/simd/include/functions/simd/unary_plus.hpp deleted file mode 100644 index 21a3a58..0000000 --- a/inst/include/boost/simd/include/functions/simd/unary_plus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_UNARY_PLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SIMD_UNARY_PLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/slice.hpp b/inst/include/boost/simd/include/functions/slice.hpp deleted file mode 100644 index 853d134..0000000 --- a/inst/include/boost/simd/include/functions/slice.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SLICE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SLICE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/slide.hpp b/inst/include/boost/simd/include/functions/slide.hpp deleted file mode 100644 index 7b54674..0000000 --- a/inst/include/boost/simd/include/functions/slide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SLIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/sort.hpp b/inst/include/boost/simd/include/functions/sort.hpp deleted file mode 100644 index be71f6e..0000000 --- a/inst/include/boost/simd/include/functions/sort.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SORT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SORT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/splat.hpp b/inst/include/boost/simd/include/functions/splat.hpp deleted file mode 100644 index e69a7a6..0000000 --- a/inst/include/boost/simd/include/functions/splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/splatted_maximum.hpp b/inst/include/boost/simd/include/functions/splatted_maximum.hpp deleted file mode 100644 index b9249f7..0000000 --- a/inst/include/boost/simd/include/functions/splatted_maximum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SPLATTED_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SPLATTED_MAXIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/splatted_minimum.hpp b/inst/include/boost/simd/include/functions/splatted_minimum.hpp deleted file mode 100644 index 00228b5..0000000 --- a/inst/include/boost/simd/include/functions/splatted_minimum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SPLATTED_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SPLATTED_MINIMUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/splatted_prod.hpp b/inst/include/boost/simd/include/functions/splatted_prod.hpp deleted file mode 100644 index c75d667..0000000 --- a/inst/include/boost/simd/include/functions/splatted_prod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SPLATTED_PROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SPLATTED_PROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/splatted_sum.hpp b/inst/include/boost/simd/include/functions/splatted_sum.hpp deleted file mode 100644 index 0f8c901..0000000 --- a/inst/include/boost/simd/include/functions/splatted_sum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SPLATTED_SUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SPLATTED_SUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/split.hpp b/inst/include/boost/simd/include/functions/split.hpp deleted file mode 100644 index f3eb616..0000000 --- a/inst/include/boost/simd/include/functions/split.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SPLIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/split_high.hpp b/inst/include/boost/simd/include/functions/split_high.hpp deleted file mode 100644 index 31b7ef3..0000000 --- a/inst/include/boost/simd/include/functions/split_high.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SPLIT_HIGH_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/split_low.hpp b/inst/include/boost/simd/include/functions/split_low.hpp deleted file mode 100644 index c1ec758..0000000 --- a/inst/include/boost/simd/include/functions/split_low.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SPLIT_LOW_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/split_multiplies.hpp b/inst/include/boost/simd/include/functions/split_multiplies.hpp deleted file mode 100644 index cda99d5..0000000 --- a/inst/include/boost/simd/include/functions/split_multiplies.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SPLIT_MULTIPLIES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/sqr.hpp b/inst/include/boost/simd/include/functions/sqr.hpp deleted file mode 100644 index 15bff1a..0000000 --- a/inst/include/boost/simd/include/functions/sqr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SQR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SQR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/sqr_abs.hpp b/inst/include/boost/simd/include/functions/sqr_abs.hpp deleted file mode 100644 index 4e2c310..0000000 --- a/inst/include/boost/simd/include/functions/sqr_abs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SQR_ABS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SQR_ABS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/sqrs.hpp b/inst/include/boost/simd/include/functions/sqrs.hpp deleted file mode 100644 index 5187822..0000000 --- a/inst/include/boost/simd/include/functions/sqrs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SQRS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SQRS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/sqrt.hpp b/inst/include/boost/simd/include/functions/sqrt.hpp deleted file mode 100644 index 89fb8c5..0000000 --- a/inst/include/boost/simd/include/functions/sqrt.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SQRT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SQRT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/store.hpp b/inst/include/boost/simd/include/functions/store.hpp deleted file mode 100644 index 4bd8a5c..0000000 --- a/inst/include/boost/simd/include/functions/store.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_STORE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_STORE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/stream.hpp b/inst/include/boost/simd/include/functions/stream.hpp deleted file mode 100644 index 1387af3..0000000 --- a/inst/include/boost/simd/include/functions/stream.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_STREAM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_STREAM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/subs.hpp b/inst/include/boost/simd/include/functions/subs.hpp deleted file mode 100644 index ba8e4e7..0000000 --- a/inst/include/boost/simd/include/functions/subs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SUBS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SUBS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/successor.hpp b/inst/include/boost/simd/include/functions/successor.hpp deleted file mode 100644 index da5740b..0000000 --- a/inst/include/boost/simd/include/functions/successor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SUCCESSOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SUCCESSOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/sum.hpp b/inst/include/boost/simd/include/functions/sum.hpp deleted file mode 100644 index c06fb3b..0000000 --- a/inst/include/boost/simd/include/functions/sum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SUM_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/swapbytes.hpp b/inst/include/boost/simd/include/functions/swapbytes.hpp deleted file mode 100644 index 043f4b9..0000000 --- a/inst/include/boost/simd/include/functions/swapbytes.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/tenpower.hpp b/inst/include/boost/simd/include/functions/tenpower.hpp deleted file mode 100644 index d2ede41..0000000 --- a/inst/include/boost/simd/include/functions/tenpower.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TENPOWER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TENPOWER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/terminal.hpp b/inst/include/boost/simd/include/functions/terminal.hpp deleted file mode 100644 index 411e011..0000000 --- a/inst/include/boost/simd/include/functions/terminal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TERMINAL_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TERMINAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/times.hpp b/inst/include/boost/simd/include/functions/times.hpp deleted file mode 100644 index 4403c72..0000000 --- a/inst/include/boost/simd/include/functions/times.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TIMES_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TIMES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/tofloat.hpp b/inst/include/boost/simd/include/functions/tofloat.hpp deleted file mode 100644 index c1cc123..0000000 --- a/inst/include/boost/simd/include/functions/tofloat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TOFLOAT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TOFLOAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/toint.hpp b/inst/include/boost/simd/include/functions/toint.hpp deleted file mode 100644 index 0199afe..0000000 --- a/inst/include/boost/simd/include/functions/toint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TOINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TOINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/toints.hpp b/inst/include/boost/simd/include/functions/toints.hpp deleted file mode 100644 index 4c72150..0000000 --- a/inst/include/boost/simd/include/functions/toints.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TOINTS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TOINTS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/touint.hpp b/inst/include/boost/simd/include/functions/touint.hpp deleted file mode 100644 index 62ba4df..0000000 --- a/inst/include/boost/simd/include/functions/touint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TOUINT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TOUINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/touints.hpp b/inst/include/boost/simd/include/functions/touints.hpp deleted file mode 100644 index 234d447..0000000 --- a/inst/include/boost/simd/include/functions/touints.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TOUINTS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TOUINTS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/trunc.hpp b/inst/include/boost/simd/include/functions/trunc.hpp deleted file mode 100644 index abdb105..0000000 --- a/inst/include/boost/simd/include/functions/trunc.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TRUNC_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TRUNC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/two_add.hpp b/inst/include/boost/simd/include/functions/two_add.hpp deleted file mode 100644 index 39cf372..0000000 --- a/inst/include/boost/simd/include/functions/two_add.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TWO_ADD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TWO_ADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/two_prod.hpp b/inst/include/boost/simd/include/functions/two_prod.hpp deleted file mode 100644 index 2351a01..0000000 --- a/inst/include/boost/simd/include/functions/two_prod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TWO_PROD_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TWO_PROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/two_split.hpp b/inst/include/boost/simd/include/functions/two_split.hpp deleted file mode 100644 index 09549e8..0000000 --- a/inst/include/boost/simd/include/functions/two_split.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/twopower.hpp b/inst/include/boost/simd/include/functions/twopower.hpp deleted file mode 100644 index b8947d3..0000000 --- a/inst/include/boost/simd/include/functions/twopower.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_TWOPOWER_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_TWOPOWER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ulp.hpp b/inst/include/boost/simd/include/functions/ulp.hpp deleted file mode 100644 index 0b7c093..0000000 --- a/inst/include/boost/simd/include/functions/ulp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ULP_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ULP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/ulpdist.hpp b/inst/include/boost/simd/include/functions/ulpdist.hpp deleted file mode 100644 index 2fce29e..0000000 --- a/inst/include/boost/simd/include/functions/ulpdist.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_ULPDIST_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_ULPDIST_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/uminus.hpp b/inst/include/boost/simd/include/functions/uminus.hpp deleted file mode 100644 index a97f42b..0000000 --- a/inst/include/boost/simd/include/functions/uminus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_UMINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_UMINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/unary_minus.hpp b/inst/include/boost/simd/include/functions/unary_minus.hpp deleted file mode 100644 index 4e4adf4..0000000 --- a/inst/include/boost/simd/include/functions/unary_minus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/unary_plus.hpp b/inst/include/boost/simd/include/functions/unary_plus.hpp deleted file mode 100644 index 1d5cd26..0000000 --- a/inst/include/boost/simd/include/functions/unary_plus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functions/uplus.hpp b/inst/include/boost/simd/include/functions/uplus.hpp deleted file mode 100644 index 6ed89da..0000000 --- a/inst/include/boost/simd/include/functions/uplus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_INCLUDE_FUNCTIONS_UPLUS_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTIONS_UPLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/include/functor.hpp b/inst/include/boost/simd/include/functor.hpp deleted file mode 100644 index 769eb1f..0000000 --- a/inst/include/boost/simd/include/functor.hpp +++ /dev/null @@ -1,107 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_INCLUDE_FUNCTOR_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_FUNCTOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch -{ - template - struct generic_dispatcher - { - /* While ICC supports SFINAE with decltype, it seems to cause - * infinite compilation times in some cases */ - #if defined(BOOST_NO_SFINAE_EXPR) || defined(__INTEL_COMPILER) - /*! For compatibility with result_of protocol */ - template - struct result; - - // result_of needs to SFINAE in this case - template - struct result - : boost::dispatch::meta:: - result_of< decltype(dispatching(meta::adl_helper(), Tag(), boost::dispatch::default_site_t(), boost::dispatch::meta::hierarchy_of_t()...))(Args...) > - { - }; - - template - BOOST_FORCEINLINE typename result::type - operator()(Args&&... args) const - { - return dispatching(meta::adl_helper(), Tag(), boost::dispatch::default_site_t(), boost::dispatch::meta::hierarchy_of_t()...)(static_cast(args)...); - } - #else - template - BOOST_FORCEINLINE auto - operator()(Args&&... args) const - BOOST_AUTO_DECLTYPE_BODY_SFINAE( - dispatching(meta::adl_helper(), Tag(), boost::dispatch::default_site_t(), boost::dispatch::meta::hierarchy_of_t()...)(static_cast(args)...) - ) - #endif - }; -} } - -namespace boost { namespace simd { namespace ext -{ - struct adl_helper {}; - - template - BOOST_FORCEINLINE boost::dispatch::generic_dispatcher - dispatching(adl_helper, unknown_, unknown_, unknown_...) - { - return boost::dispatch::generic_dispatcher(); - } -} } } - -namespace boost { namespace simd -{ - template - struct generic_dispatcher - { - /* While ICC supports SFINAE with decltype, it seems to cause - * infinite compilation times in some cases */ - #if defined(BOOST_NO_SFINAE_EXPR) || defined(__INTEL_COMPILER) - /*! For compatibility with result_of protocol */ - template - struct result; - - // result_of needs to SFINAE in this case - template - struct result - : boost::dispatch::meta:: - result_of< decltype(dispatching(ext::adl_helper(), Tag(), boost::dispatch::default_site_t(), boost::dispatch::meta::hierarchy_of_t()...))(Args...) > - { - }; - - template - BOOST_FORCEINLINE typename result::type - operator()(Args&&... args) const - { - return dispatching(ext::adl_helper(), Tag(), boost::dispatch::default_site_t(), boost::dispatch::meta::hierarchy_of_t()...)(static_cast(args)...); - } - #else - template - BOOST_FORCEINLINE auto - operator()(Args&&... args) const - BOOST_AUTO_DECLTYPE_BODY_SFINAE( - dispatching(ext::adl_helper(), Tag(), boost::dispatch::default_site_t(), boost::dispatch::meta::hierarchy_of_t()...)(static_cast(args)...) - ) - #endif - }; -} } - -#endif diff --git a/inst/include/boost/simd/include/native.hpp b/inst/include/boost/simd/include/native.hpp deleted file mode 100644 index 0aaa505..0000000 --- a/inst/include/boost/simd/include/native.hpp +++ /dev/null @@ -1,18 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_INCLUDE_NATIVE_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_NATIVE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/include/pack.hpp b/inst/include/boost/simd/include/pack.hpp deleted file mode 100644 index fe77d22..0000000 --- a/inst/include/boost/simd/include/pack.hpp +++ /dev/null @@ -1,15 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_INCLUDE_PACK_HPP_INCLUDED -#define BOOST_SIMD_INCLUDE_PACK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/align_on.hpp b/inst/include/boost/simd/memory/align_on.hpp deleted file mode 100644 index 019c814..0000000 --- a/inst/include/boost/simd/memory/align_on.hpp +++ /dev/null @@ -1,137 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// Copyright 2013 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGN_ON_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGN_ON_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Align value or pointer on an arbitrary alignment boundary and - return the next aligned value or pointer. - - Force the alignment of an integral value or pointer @c value - on an arbitrary power of two boundary @c align. - - @par Semantic: - - For any integral power of two alignment boundary @c a and any integral - value @c v - - @code - auto r = align_on(v,a); - @endcode - - is such that - - @code - bool b = is_aligned(r,a); - @endcode - - evaluates to @c true. - - For any integral power of two alignment boundary @c a and any pointer @c p - referencing element of type @c T: - - @code - auto r = align_on(p,a); - @endcode - - is equivalent to: - - @code - auto r = reinterpret_cast(align_on(reinterpret_cast(p),a)); - @endcode - - @usage_output{memory/align_on.cpp, memory/align_on.out} - - @param value Value or pointer to align - @param align Integral power of two alignment boundary. - - @return The aligned integral value or pointer - **/ - BOOST_FORCEINLINE std::size_t align_on(std::size_t value, std::size_t align) - { - BOOST_ASSERT_MSG( ::boost::simd::is_power_of_2(align) - , "Invalid alignment boundary. You tried to align an " - "address or a value on a non-power of 2 boundary." - ); - - return (value+align-1) & ~(align-1); - } - - /// @overload - template BOOST_FORCEINLINE - T* align_on(T* value, std::size_t align) - { - std::size_t v = reinterpret_cast(value); - return reinterpret_cast(::boost::simd::align_on(v,align)); - } - - /*! - @brief Align value or pointer on current SIMD alignment boundary and - return the next aligned value or pointer. - - Force the alignment of an integral value or pointer @c value - on the current SIMD alignment boundary. - - @par Semantic: - - For any integral value or pointer @c v - - @code - auto r = align_on(v,a); - @endcode - - is equivalent to: - - @code - auto r = align_on(v,BOOST_SIMD_CONFIG_ALIGNMENT); - @endcode - - When called on a pointer, the returned pointer is correctly flagged as aligned - usign compiler-specific attributes. - - @see align_ptr - @see meta::align_ptr - - @usage{memory/align_on_default.cpp} - - @param value Value or pointer to align - - @return The aligned integral value or pointer - **/ - BOOST_FORCEINLINE std::size_t align_on(std::size_t value) - { - return ::boost::simd::align_on(value,BOOST_SIMD_CONFIG_ALIGNMENT); - } - - /// @overload - template BOOST_FORCEINLINE - typename ::boost::simd::meta::align_ptr::type align_on(T* value) - { - return ::boost::simd::align_ptr ( ::boost::simd:: - align_on( value - , BOOST_SIMD_CONFIG_ALIGNMENT - ) - ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/align_ptr.hpp b/inst/include/boost/simd/memory/align_ptr.hpp deleted file mode 100644 index 229ef33..0000000 --- a/inst/include/boost/simd/memory/align_ptr.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGN_PTR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGN_PTR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Mark pointer as statically aligned - - Apply a static alignment attribute onto an aligned pointer to allow the - compiler to apply proper optimization on code using this pointer. - - @see meta::align_ptr - - @usage{memory/align_ptr.cpp} - - @param pointer Aligned pointer to convert. - - @tparam Alignment A power of 2 alignment constraint. By default, this value - is equal to BOOST_SIMD_CONFIG_ALIGNMENT. - - @return A pointer equals to the input argument but with compiler-specific - alignment attribute applied to it. - **/ - template BOOST_FORCEINLINE - typename boost::simd::meta::align_ptr::type align_ptr(T* pointer) - { - BOOST_ASSERT_MSG - ( boost::simd::is_aligned(pointer,Alignment) - , "The pointer you try to mark as aligned is not aligned " - "on the specified alignment in this context" - ); - - return boost::simd::meta::align_ptr::value(pointer); - } - - /// @overload - template BOOST_FORCEINLINE - typename boost::simd::meta::align_ptr::type align_ptr(T* pointer) - { - BOOST_ASSERT_MSG - ( boost::simd::is_aligned(pointer,BOOST_SIMD_CONFIG_ALIGNMENT) - , "The pointer you try to mark as aligned is not aligned " - "on the current SIMD alignment in this context" - ); - - return boost::simd::meta::align_ptr::value(pointer); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/align_under.hpp b/inst/include/boost/simd/memory/align_under.hpp deleted file mode 100644 index 5593c25..0000000 --- a/inst/include/boost/simd/memory/align_under.hpp +++ /dev/null @@ -1,133 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// Copyright 2013 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGN_UNDER_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGN_UNDER_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Align value or pointer on an arbitrary alignment boundary and - return the previous aligned value or pointer. - - Force the alignment of an integral value or pointer @c value - on an arbitrary power of two boundary @c align. - - @par Semantic: - - For any integral power of two alignment boundary @c a and any integral - value @c v - - @code - auto r = align_under(v,a); - @endcode - - is such that - - @code - bool b = is_aligned(r,a); - @endcode - - evaluates to @c true. - - For any integral power of two alignment boundary @c a and any pointer @c p - referencing element of type @c T: - - @code - auto r = align_under(p,a); - @endcode - - is equivalent to: - - @code - auto r = reinterpret_cast(align_under(reinterpret_cast(p),a)); - @endcode - - @param value Value or pointer to align - @param align Integral zero or power of two alignment boundary. - - @return The aligned integral value or pointer - **/ - BOOST_FORCEINLINE std::size_t align_under(std::size_t value, std::size_t align) - { - BOOST_ASSERT_MSG( align == 0 || ::boost::simd::is_power_of_2(align) - , "Invalid alignment boundary. You tried to align an " - "address or a value on a non-zero and non-power of 2 boundary." - ); - - return value & ~(align-1); - } - - /// @overload - template BOOST_FORCEINLINE - T* align_under(T* value, std::size_t align) - { - std::size_t v = reinterpret_cast(value); - return reinterpret_cast(::boost::simd::align_under(v,align)); - } - - /*! - @brief Align value or pointer on current SIMD alignment boundary - return the previous aligned value or pointer. - - Force the alignment of an integral value or pointer @c value - on the current SIMD alignment boundary. - - @par Semantic: - - For any integral value or pointer @c v - - @code - auto r = align_under(v,a); - @endcode - - is equivalent to: - - @code - auto r = align_under(v,BOOST_SIMD_CONFIG_ALIGNMENT); - @endcode - - When called on a pointer, the returned pointer is correctly flagged as aligned - usign compiler-specific attributes. - - @see align_ptr - @see meta::align_ptr - - @param value Value or pointer to align - - @return The aligned integral value or pointer - **/ - BOOST_FORCEINLINE std::size_t align_under(std::size_t value) - { - return ::boost::simd::align_under(value,BOOST_SIMD_CONFIG_ALIGNMENT); - } - - /// @overload - template BOOST_FORCEINLINE - typename ::boost::simd::meta::align_ptr::type align_under(T* value) - { - return ::boost::simd::align_ptr ( ::boost::simd:: - align_under( value - , BOOST_SIMD_CONFIG_ALIGNMENT - ) - ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_array.hpp b/inst/include/boost/simd/memory/aligned_array.hpp deleted file mode 100644 index 2abbd78..0000000 --- a/inst/include/boost/simd/memory/aligned_array.hpp +++ /dev/null @@ -1,212 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_ARRAY_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_ARRAY_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - -namespace boost { namespace simd -{ - #if !defined(DOXYGEN_ONLY) - template - struct aligned_array_data - { - BOOST_MPL_ASSERT_MSG( (sizeof(T) == 0) - , NON_SUPPORTED_ALIGNMENT_FOR_ARRAY - , (aligned_array_data) - ); - }; - - #define M0(z,n,t) \ - template \ - struct aligned_array_data \ - { \ - T BOOST_SIMD_ALIGN_ON(n) data[N]; \ - }; \ - /**/ - BOOST_SIMD_PP_REPEAT_POWER_OF_2_BIG(M0,~) - #undef M0 - - #endif - - /*! - @brief Statically sized aligned array - - Defines an object which contains @c N elements of type @c T in a statically - allocated array which address is aligned on @c Align. - - @usage{memory/aligned_array.cpp} - - @tparam T Type of the stored element - @tparam N Number of elements - @tparam Align Alignment boundary. - **/ - template - struct aligned_array - { - /// INTERNAL ONLY - aligned_array_data data_; - - typedef T value_type; - typedef T* pointer; - typedef const T* const_pointer; - typedef T* iterator; - typedef const T* const_iterator; - typedef T& reference; - typedef const T& const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - /// Return an iterator to the beginning of the array - iterator begin() { return this->data_.data; } - - /// @overload - const_iterator begin() const { return this->data_.data; } - - /// Return an iterator to the end of the array - iterator end() { return this->data_.data+N; } - - /// @overload - const_iterator end() const { return this->data_.data+N; } - - /// Return a constant iterator to the beginning of the array - const_iterator cbegin() const { return this->data_.data; } - - /// Return a constant iterator to the end of the array - const_iterator cend() const { return this->data_.data+N; } - - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - - /// Return a reverse_iterator to the end of the array - reverse_iterator rbegin() { return reverse_iterator(end()); } - - /// @overload - const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } - - /// Return a reverse_iterator to the beginning of the array - reverse_iterator rend() { return reverse_iterator(begin()); } - - /// @overload - const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } - - /// Return a constant reverse iterator to the beginning of the array - const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } - - /// Return a constant reverse iterator to the end of the array - const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } - - /// Random access to the ith element of the array - reference operator[](size_type i) - { - BOOST_ASSERT_MSG( i < N, "out of range" ); - return this->data_.data[i]; - } - - /// @overload - const_reference operator[](size_type i) const - { - BOOST_ASSERT_MSG( i < N, "out of range" ); - return this->data_.data[i]; - } - - /// Random access to the ith element of the array with out-of-range check. - reference at(size_type i) { rangecheck(i); return this->data_.data[i]; } - - /// @overload - const_reference at(size_type i) const { rangecheck(i); return this->data_.data[i]; } - - /// Return the first element of the array - reference front() { return this->data_.data[0]; } - - /// @overload - const_reference front() const { return this->data_.data[0]; } - - /// Return the last element of the array - reference back() { return this->data_.data[N-1]; } - - /// @overload - const_reference back() const { return this->data_.data[N-1]; } - - /// Return the number of elements of the array. - static size_type size() { return N; } - - /// Notifies if the array is empty. - static bool empty() { return false; } - - /// Return the maximum number of elements the array can contain. - static size_type max_size() { return N; } - - /// Compile-time size of the array - static const std::size_t static_size = N; - - /// Swap the contents of the current array's elements with another array. - template - void swap (aligned_array& y) - { - for (size_type i = 0; i < N; ++i) - boost::swap(this->data_.data[i],y.data_.data[i]); - } - - /// Return a pointer referencing the array's data - pointer c_array() { return this->data_.data; } - - /// Return a pointer referencing the array's data - pointer data() { return this->data_.data; } - - /// @overload - const_pointer data() const { return this->data_.data; } - - /// Assign the contents of another array to the current array - template - aligned_array& operator= (const aligned_array& rhs) - { - std::copy(rhs.begin(),rhs.end(), begin()); - return *this; - } - - /// Assign one value to all elements of the array - void assign (const T& value) { fill ( value ); } - - /// Assign one value to all elements of the array - void fill (const T& value) { std::fill_n(begin(),size(),value); } - - /// INTERNAL ONLY - #if !defined(BOOST_NO_EXCEPTIONS) - static void rangecheck(size_type ) {} - #else - static void rangecheck(size_type i) - { - if (i >= size()) - BOOST_THROW_EXCEPTION(std::out_of_range("array<>: index out of range")); - } - #endif - }; - - /// Swap the contents of two aligned arrays - template - void swap( aligned_array& a1, aligned_array& a2 ) - { - a1.swap(a2); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_free.hpp b/inst/include/boost/simd/memory/aligned_free.hpp deleted file mode 100644 index 7da150e..0000000 --- a/inst/include/boost/simd/memory/aligned_free.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_FREE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_FREE_HPP_INCLUDED - -#include -#include -#include - -#include -#include - -#if !defined(__APPLE__) -#include -#endif - -namespace boost { namespace simd -{ -#if defined(BOOST_SIMD_CUSTOM_MEMORY_HANDLERS) - - #if !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - #define BOOST_SIMD_MEMORY_NO_BUILTINS - #endif - - void custom_free_fn(void*, std::size_t); -#else - inline void custom_free_fn(void* ptr, std::size_t) { std::free(ptr); } -#endif - - /*! - @brief Low level aligned memory deallocation - - Wraps system specific code for deallocating an aligned memory block. - - @par Semantic: - - For any given pointer @c ptr : - - @code - void* r = aligned_free(ptr); - @endcode - - is equivalent to : - - - a no-op if @c ptr is equal to 0; - - a potential alignment fix-up followed by a system dependent memory - deallocation. - - @par Framework specific override - - By default, aligned_realloc use system specific functions to handle memory - reallocation. One can specify a custom reallocation function to be used - instead. This custom function must have a prototype equivalent to: - - @code - void f(void* ptr); - @endcode - - In this case, the following code: - - @code - void* r = aligned_free(ptr, f); - @endcode - - is equivalent to an alignment fix-up followed by a call to @c f. - - @param ptr Pointer referencing the memory to deallocate - @param free_fn Function object to use for deallocation of the base pointer - **/ - template - inline void aligned_free( void* ptr, FreeFunction free_fn) - { - if(!ptr) - return; - - details::aligned_block_header* hdr = static_cast(ptr) - 1; - std::size_t offset = hdr->offset; - free_fn( static_cast(ptr) - offset, offset + hdr->allocated_size ); - } - - /// @overload - inline void aligned_free( void* ptr ) - { - // Do we want to use built-ins special aligned free/alloc ? - #if defined( _MSC_VER ) && !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - - if(!ptr) - return; - - ::_aligned_free( static_cast(ptr)-1 ); - - #elif ( defined( BOOST_SIMD_CONFIG_SUPPORT_POSIX_MEMALIGN ) \ - || (defined( _GNU_SOURCE ) && defined(__linux) && !defined( __ANDROID__ )) \ - ) \ - && !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - - ::free( ptr ); - - #else - - aligned_free(ptr, custom_free_fn); - - #endif - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_input_iterator.hpp b/inst/include/boost/simd/memory/aligned_input_iterator.hpp deleted file mode 100644 index 7bc6c0f..0000000 --- a/inst/include/boost/simd/memory/aligned_input_iterator.hpp +++ /dev/null @@ -1,170 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_INPUT_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_INPUT_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Read-only aligned SIMD iterator - - aligned_input_iterator adapt an Iterator to aligned values in memory into - a standard compliant iterator that traverses this memory block using SIMD - registers. - - @par Models: - - @model{ http://www.cplusplus.com/reference/iterator/RandomAccessIterator/ - , RandomAccessIterator - } - - @usage_output{memory/aligned_input_iterator.cpp,memory/aligned_input_iterator.out} - - @tparam Iterator Iterator type to adapt - @tparam C Width of the SIMD register to use as iteration value. By default - this value is equal to the optimal register cardinal for current - architecture and type @c T. - **/ - template< typename Iterator - , std::size_t C = meta::cardinal_of - < pack< typename std::iterator_traits - ::value_type - > - >::value - > - struct aligned_input_iterator - : details::input_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::aligned_load_ - > - { - typedef details::input_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::aligned_load_ - > parent; - - /// Default constructor - aligned_input_iterator() : parent() {} - - /// INTERNAL ONLY - aligned_input_iterator( parent const& src ) : parent(src) {} - - /// Constructor from an aligned pointer - explicit aligned_input_iterator(Iterator p) : parent(p) - { - // MSVC SCL_SECURE mode adds extra-check that make aligned end - // difficult to check with this. - typename details::unchecker::type lp = details::unchecker::call(p); - boost::ignore_unused(lp); - - BOOST_ASSERT_MSG - ( boost::simd::is_aligned(&(*lp) , C*sizeof(*lp) ) - , "The constructor of iterator has been called on a pointer " - "which alignment is not compatible with the current SIMD extension." - ); - } - }; - - /*! - @brief Adapter for aligned SIMD read-only iterator - - Convert an existing iterator referencing the beginning of a aligned memory - block into a SIMD aware read-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/aligned_input_iterator.cpp,memory/aligned_input_iterator.out} - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of aligned_input_iterator - **/ - template inline - aligned_input_iterator aligned_input_begin(Iterator p) - { - return aligned_input_iterator(p); - } - - /*! - @brief Adapter for aligned SIMD read-only iterator - - Convert an existing iterator referencing the beginning of a aligned memory - block into a SIMD aware read-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/aligned_input_iterator.cpp,memory/aligned_input_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of aligned_input_iterator - **/ - template inline - aligned_input_iterator aligned_input_begin(Iterator p) - { - return aligned_input_iterator(p); - } - - /*! - @brief Adapter for aligned SIMD read-only iterator - - Convert an existing iterator referencing the end of a aligned memory - block into a SIMD aware read-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/aligned_input_iterator.cpp,memory/aligned_input_iterator.out} - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of aligned_input_iterator - **/ - template inline - aligned_input_iterator aligned_input_end(Iterator p) - { - return aligned_input_iterator(p); - } - - /*! - @brief Adapter for aligned SIMD read-only iterator - - Convert an existing iterator referencing the end of a aligned memory - block into a SIMD aware read-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/aligned_input_iterator.cpp,memory/aligned_input_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of aligned_input_iterator - **/ - template inline - aligned_input_iterator aligned_input_end(Iterator p) - { - return aligned_input_iterator(p); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_input_range.hpp b/inst/include/boost/simd/memory/aligned_input_range.hpp deleted file mode 100644 index 4611b5d..0000000 --- a/inst/include/boost/simd/memory/aligned_input_range.hpp +++ /dev/null @@ -1,117 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_INPUT_RANGE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_INPUT_RANGE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Adapter for aligned SIMD read-only range - - Convert an existing range specified by two aligned iterators into a SIMD aware - read-only iterator returning SIMD pack of optimal cardinal @c C. - - @usage_output{memory/aligned_input_range.cpp,memory/aligned_input_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param begin A Range addressing a contiguous memory block - @param end - - @return An instance of aligned_input_range - **/ - template inline - boost::iterator_range > - aligned_input_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end), C) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range ( aligned_input_begin(begin) - , aligned_input_end(end) - ); - } - - /*! - @brief Adapter for aligned SIMD read-only range - - Convert an existing range specified by two aligned iterators into a SIMD aware - read-only iterator returning SIMD pack of optimal cardinal for current - architecture. - - @usage_output{memory/aligned_input_range.cpp,memory/aligned_input_range.out} - - @param begin - @param end - - @return An instance of aligned_input_range - **/ - template inline - boost::iterator_range< aligned_input_iterator > - aligned_input_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end) , aligned_input_iterator::cardinal) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range ( aligned_input_begin(begin) - , aligned_input_end(end) - ); - } - - /*! - @brief Adapter for aligned SIMD read-only range - - Convert an existing range into a SIMD aware read-only iterator returning - SIMD pack of cardinal @c C. - - @usage_output{memory/aligned_input_range.cpp,memory/aligned_input_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param r A Range addressing a contiguous memory block - - @return An instance of aligned_input_range - **/ - template inline - boost::iterator_range::type,C> > - aligned_input_range( Range const& r ) - { - return aligned_input_range( boost::begin(r), boost::end(r) ); - } - - /*! - @brief Adapter for aligned SIMD read-only range - - Convert an existing range into a SIMD aware read-only iterator returning - SIMD pack of optimal cardinal for current architecture. - - @usage_output{memory/aligned_input_range.cpp,memory/aligned_input_range.out} - - @param r A Range addressing a contiguous memory block - - @return An instance of aligned_input_range - **/ - template inline - boost::iterator_range::type> > - aligned_input_range( Range const& r ) - { - return aligned_input_range( boost::begin(r), boost::end(r) ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_malloc.hpp b/inst/include/boost/simd/memory/aligned_malloc.hpp deleted file mode 100644 index 4a9c9d3..0000000 --- a/inst/include/boost/simd/memory/aligned_malloc.hpp +++ /dev/null @@ -1,156 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// Copyright 2013 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_MALLOC_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_MALLOC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#if !defined(__APPLE__) -#include -#endif - -namespace boost { namespace simd -{ -#if defined(BOOST_SIMD_CUSTOM_MEMORY_HANDLERS) - - #if !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - #define BOOST_SIMD_MEMORY_NO_BUILTINS - #endif - - BOOST_DISPATCH_NOTHROW BOOST_SIMD_MALLOC BOOST_SIMD_ALLOC_SIZE(1) void* custom_malloc_fn(std::size_t); -#else - BOOST_DISPATCH_NOTHROW BOOST_SIMD_MALLOC BOOST_SIMD_ALLOC_SIZE(1) inline - void* custom_malloc_fn(std::size_t sz) { return std::malloc(sz); } -#endif - - /*! - @brief Low level aligned memory allocation - - Wraps system specific code for allocating an aligned memory block of - @c size bytes with an address aligned on @c alignment. - - @par Semantic: - - For any given integral @c size and @c alignment constraint, - - @code - void* r = aligned_alloc(size,alignment); - @endcode - - is equivalent to a call to the system specific allocation function followed - by a potential alignment fix-up. - - @par Framework specific override - - By default, aligned_malloc use system specific functions to handle memory - allocation. One can specify a custom allocation function to be used - instead. This custom function must have a prototype equivalent to: - - @code - void* f(std::size_t sz, std::size_t align); - @endcode - - In this case, the following code: - - @code - void* r = aligned_realloc(ptr,size,alignment, f); - @endcode - - is equivalent to a call to @c f followed by an alignment fix-up. - - @pre @c alignment is a non-zero power of two. - - @param size Number of bytes to allocate - @param alignment Alignment boundary to respect - @param malloc_fn Function object to use for allocation of the base pointer - - @return Pointer referencing the newly allocated memory block. - **/ - template - BOOST_DISPATCH_NOTHROW BOOST_SIMD_MALLOC BOOST_SIMD_ALLOC_SIZE(1) - inline void* aligned_malloc ( std::size_t size, std::size_t alignment - , AllocFunction malloc_fn - ) - { - void* ptr = malloc_fn(size + alignment + sizeof(details::aligned_block_header)); - if(!ptr) - return 0; - - std::size_t offset = simd::align_on(static_cast(ptr)+sizeof(details::aligned_block_header), alignment) - static_cast(ptr); - - details::aligned_block_header* hdr = reinterpret_cast(static_cast(ptr) + offset) - 1; - hdr->offset = offset; - hdr->allocated_size = size + alignment + sizeof(details::aligned_block_header) - offset; - - return static_cast(ptr) + offset; - } - - /// @overload - BOOST_DISPATCH_NOTHROW BOOST_SIMD_MALLOC BOOST_SIMD_ALLOC_SIZE(1) - inline void* aligned_malloc(std::size_t size, std::size_t alignment) - { - // Do we want to use built-ins special aligned free/alloc ? - #if defined( _MSC_VER ) && !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - - // we need to store alignment for _aligned_realloc - std::size_t* ptr = static_cast(::_aligned_offset_malloc(size+sizeof(std::size_t), alignment, sizeof(std::size_t))); - if(!ptr) - return 0; - *ptr++ = alignment; - return ptr; - - #elif defined( BOOST_SIMD_CONFIG_SUPPORT_POSIX_MEMALIGN ) \ - && !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - - alignment = std::max(alignment,sizeof(void*)); - - void* result(0); - - BOOST_VERIFY( (::posix_memalign(&result,alignment,size) == 0 ) - || ( result == 0 ) - ); - - return result; - - #elif defined( _GNU_SOURCE ) && defined(__linux) && !defined( __ANDROID__ ) \ - && !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - - /* - Inexplicable yet consistently reproducible SIGSEGVs encountered on - Android (4.1.3 emulator) with memalign (as if it actually allocates - only a part of the requested memory). - - TODO: - https://groups.google.com/a/chromium.org/forum/?fromgroups=#!msg/chromium-reviews/uil2eVbovQM/9slPSDkBvX8J - http://codereview.chromium.org/10796020/diff/5018/base/memory/aligned_memory.h - - (25.10.2012.) (Domagoj Saric) - */ - return ::memalign( alignment, size ); - - #else - - return aligned_malloc( size, alignment, custom_malloc_fn ); - - #endif - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_object.hpp b/inst/include/boost/simd/memory/aligned_object.hpp deleted file mode 100644 index 9ddda62..0000000 --- a/inst/include/boost/simd/memory/aligned_object.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_OBJECT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_OBJECT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief Imbue a type with aligned new and delete overloads - - When used as a base class, aligned_object adds overloaded new and delete - operators that use aligned allocation function over an arbitrary alignment - boundary @c Alignment. - - @usage{memory/aligned_object.cpp} - - @tparam Alignment Alignment boundary in bytes to use for dynamic allocation - of child type. - **/ - - #ifdef BOOST_SIMD_COMPILER_MSVC - #pragma warning( push ) - #pragma warning( disable : 4324 ) - #endif - template - BOOST_SIMD_ALIGNED_TYPE_ON_MPL(struct, Alignment) aligned_object - { - public: - - /** - @brief Static integral constant containing current alignment constraints - - alignment_value gives access to the alignment constraint from the - child type. - */ - static const std::size_t alignment_value = Alignment; - - #if !defined(DOXYGEN_ONLY) - BOOST_SIMD_MEMORY_OVERLOAD_NEW_DELETE(Alignment) - #endif - }; - #ifdef BOOST_SIMD_COMPILER_MSVC - #pragma warning( pop ) - #endif -} } } - -namespace boost { namespace simd -{ - using meta::aligned_object; -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_output_iterator.hpp b/inst/include/boost/simd/memory/aligned_output_iterator.hpp deleted file mode 100644 index e7ccad9..0000000 --- a/inst/include/boost/simd/memory/aligned_output_iterator.hpp +++ /dev/null @@ -1,168 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_OUTPUT_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_OUTPUT_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Write-only SIMD iterator - - aligned_output_iterator adapt a pointer to aligned memory into a standard - compliant iterator that traverses this memory block using SIMD registers. - - @par Models: - - @model{ http://www.cplusplus.com/reference/iterator/RandomAccessIterator/ - , RandomAccessIterator - } - - @usage_output{memory/aligned_output_iterator.cpp,memory/aligned_output_iterator.out} - - @tparam T Type pointed to by the iterator - @tparam C Width of the SIMD register to use as iteration value. By default - this value is equal to the optimal register cardinal for current - architecture and type @c T. - **/ - template< typename Iterator - , std::size_t C = meta::cardinal_of - < pack< typename std::iterator_traits - ::value_type - > - >::value - > - struct aligned_output_iterator - : details::output_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::aligned_store_ - > - { - typedef details::output_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::aligned_store_ - > parent; - - /// Default constructor - aligned_output_iterator() : parent() {} - - /// Constructor from an aligned pointer - explicit aligned_output_iterator(Iterator p) : parent(p) - { - // MSVC SCL_SECURE mode adds extra-check that make aligned end - // difficult to check with this. - typename details::unchecker::type lp = details::unchecker::call(p); - boost::ignore_unused(lp); - - BOOST_ASSERT_MSG - ( boost::simd::is_aligned(&(*lp) , C*sizeof(*lp) ) - , "The constructor of iterator has been called on a pointer " - "which alignment is not compatible with the current SIMD extension." - ); - } - - /// INTERNAL ONLY - aligned_output_iterator( parent const& src ) : parent(src) {} - }; - - /*! - @brief Adapter for aligned SIMD write-only iterator - - Convert an existing iterator referencing the beginning of a aligned memory - block into a SIMD aware write-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/aligned_output_iterator.cpp,memory/aligned_output_iterator.out} - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of aligned_output_iterator - **/ - template inline - aligned_output_iterator aligned_output_begin(Iterator p) - { - return aligned_output_iterator(p); - } - - /*! - @brief Adapter for aligned SIMD write-only iterator - - Convert an existing iterator referencing the beginning of a aligned memory - block into a SIMD aware write-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/aligned_output_iterator.cpp,memory/aligned_output_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of aligned_output_iterator - **/ - template inline - aligned_output_iterator aligned_output_begin(Iterator p) - { - return aligned_output_iterator(p); - } - - /*! - @brief Adapter for aligned SIMD write-only iterator - - Convert an existing iterator referencing the end of a aligned memory - block into a SIMD aware write-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/aligned_output_iterator.cpp,memory/aligned_output_iterator.out} - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of aligned_output_iterator - **/ - template inline - aligned_output_iterator aligned_output_end(Iterator p) - { - return aligned_output_iterator(p); - } - - /*! - @brief Adapter for aligned SIMD write-only iterator - - Convert an existing iterator referencing the end of a aligned memory - block into a SIMD aware write-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/aligned_output_iterator.cpp,memory/aligned_output_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of aligned_output_iterator - **/ - template inline - aligned_output_iterator aligned_output_end(Iterator p) - { - return aligned_output_iterator(p); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_output_range.hpp b/inst/include/boost/simd/memory/aligned_output_range.hpp deleted file mode 100644 index 762bc9d..0000000 --- a/inst/include/boost/simd/memory/aligned_output_range.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_OUTPUT_RANGE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_OUTPUT_RANGE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Adapter for aligned SIMD write-only range - - Convert an existing range specified by two aligned iterators into a SIMD - aware write-only iterator returning SIMD pack of optimal cardinal @c C. - - @usage_output{memory/aligned_output_range.cpp,memory/aligned_output_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param begin A Range addressing a contiguous memory block - @param end - @return An instance of aligned_output_range - **/ - template inline - boost::iterator_range< aligned_output_iterator > - aligned_output_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end), C) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range ( aligned_output_begin(begin) - , aligned_output_end(end) - ); - } - - /*! - @brief Adapter for aligned SIMD write-only range - - Convert an existing range specified by two aligned iterators into a SIMD - aware write-only iterator returning SIMD pack of optimal cardinal for - current architecture. - - @usage_output{memory/aligned_output_range.cpp,memory/aligned_output_range.out} - - @param r A Range addressing a contiguous memory block - - @return An instance of aligned_output_range - **/ - template inline - boost::iterator_range< aligned_output_iterator > - aligned_output_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned( std::distance(begin,end) - , aligned_output_iterator::cardinal - ) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range ( aligned_output_begin(begin) - , aligned_output_end(end) - ); - } - - /*! - @brief Adapter for aligned SIMD write-only range - - Convert an existing range into a SIMD aware write-only iterator returning - SIMD pack of cardinal @c C. - - @usage_output{memory/aligned_output_range.cpp,memory/aligned_output_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param r A Range addressing a contiguous memory block - - @return An instance of aligned_output_range - **/ - template inline - boost::iterator_range::type,C> > - aligned_output_range( Range& r ) - { - return aligned_output_range( boost::begin(r), boost::end(r) ); - } - - /*! - @brief Adapter for aligned SIMD write-only range - - Convert an existing range into a SIMD aware write-only iterator returning - SIMD pack of optimal cardinal for current architecture. - - @usage_output{memory/aligned_output_range.cpp,memory/aligned_output_range.out} - - @param r A Range addressing a contiguous memory block - - @return An instance of aligned_output_range - **/ - template inline - boost::iterator_range::type> > - aligned_output_range( Range& r ) - { - return aligned_output_range( boost::begin(r), boost::end(r) ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_realloc.hpp b/inst/include/boost/simd/memory/aligned_realloc.hpp deleted file mode 100644 index c55c44a..0000000 --- a/inst/include/boost/simd/memory/aligned_realloc.hpp +++ /dev/null @@ -1,232 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// Copyright 2013 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_REALLOC_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_REALLOC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#if !defined(__APPLE__) -#include -#else -#include -#endif - -#ifndef BOOST_SIMD_REALLOC_SHRINK_THRESHOLD -#define BOOST_SIMD_REALLOC_SHRINK_THRESHOLD 32 -#endif - -namespace boost { namespace simd -{ -#if defined(BOOST_SIMD_CUSTOM_MEMORY_HANDLERS) - - #if !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - #define BOOST_SIMD_MEMORY_NO_BUILTINS - #endif - - BOOST_DISPATCH_NOTHROW BOOST_SIMD_ALLOC_SIZE(2) void* custom_realloc_fn(void*, std::size_t, std::size_t); -#else - BOOST_DISPATCH_NOTHROW BOOST_SIMD_ALLOC_SIZE(2) inline - void* custom_realloc_fn(void* ptr, std::size_t sz, std::size_t) - { - return std::realloc(ptr,sz); - } -#endif - - /*! - @brief Low level aligned memory reallocation - - Wraps system specific code for reallocating an aligned memory block of - @c size bytes with an address aligned on @c alignment. - - @par Semantic: - - For any given pointer @c ptr, integral @c size and @c alignment constraint, - - @code - void* r = aligned_realloc(ptr,size,alignment); - @endcode - - is equivalent to : - - - a aligned memory allocation if @c ptr is equal to 0; - - a no-op if the requested @c size is equal to the old size of the memory - block referenced by @c ptr; - - a call to the system specific reallocation function followed by a - potential alignment fix-up. - - followed by a potential copy of the original data in the new memory block - (contrary to aligned_reuse). - - @par Framework specific override - - By default, aligned_realloc use system specific functions to handle memory - reallocation. One can specify a custom reallocation function to be used - instead. This custom function must have a prototype equivalent to: - - @code - void* f(void* ptr, std::size_t sz, std::size_t align); - @endcode - - In this case, the following code: - - @code - void* r = aligned_realloc(ptr,size,alignment, f); - @endcode - - is equivalent to a call to @c f followed by an alignment fix-up. - - @pre @c alignment is a non-zero power of two. - - @param ptr Pointer to reallocate - @param size Number of bytes to allocate - @param alignment Alignment boundary to respect - @param realloc_fn Function to use for basic reallocation - - @return Pointer referencing the newly allocated memory block. - **/ - template - BOOST_DISPATCH_NOTHROW BOOST_SIMD_ALLOC_SIZE(2) - inline void* aligned_realloc( void* ptr, std::size_t size, std::size_t alignment - , ReallocFunction realloc_fn - ) - { - details::aligned_block_header* hdr = 0; - if(ptr) - hdr = static_cast(ptr) - 1; - - std::size_t nsz = size - ? size + alignment + sizeof(details::aligned_block_header) - : 0u; - - std::size_t old_size = hdr ? hdr->allocated_size : 0; - std::size_t old_offset = hdr ? hdr->offset : 0; - - void* fresh_ptr = realloc_fn( static_cast(ptr) - old_offset, nsz, old_size ); - if(!fresh_ptr || !nsz) - return fresh_ptr; - - std::size_t offset = simd::align_on(static_cast(fresh_ptr)+sizeof(details::aligned_block_header), alignment) - static_cast(fresh_ptr); - - if(offset != old_offset) - std::memmove(static_cast(fresh_ptr) + offset, static_cast(fresh_ptr) + old_offset, std::min(size, old_size)); - - hdr = reinterpret_cast(static_cast(fresh_ptr) + offset) - 1; - hdr->offset = offset; - hdr->allocated_size = size + alignment + sizeof(details::aligned_block_header) - offset; - - return static_cast(fresh_ptr) + offset; - } - - /// @overload - BOOST_DISPATCH_NOTHROW BOOST_SIMD_ALLOC_SIZE(2) - inline void* aligned_realloc(void* ptr, std::size_t size, std::size_t alignment) - { - // Do we want to use built-ins special aligned free/alloc ? - #if defined( _MSC_VER ) && !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - - std::size_t* const oldptr = static_cast(ptr)-1; - - if(ptr && !size) - { - ::_aligned_free(oldptr); - return 0; - } - - if(ptr && alignment == *oldptr) - { - std::size_t* fresh_ptr = static_cast(::_aligned_offset_realloc(oldptr, size+sizeof(std::size_t), alignment, sizeof(std::size_t))); - if(!fresh_ptr) - return 0; - return fresh_ptr+1; - } - - std::size_t* fresh_ptr = static_cast(::_aligned_offset_malloc(size+sizeof(std::size_t), alignment, sizeof(std::size_t))); - if(!fresh_ptr) - return 0; - - *fresh_ptr++ = alignment; - - if(ptr) - { - std::size_t const oldSize( ::_aligned_msize( oldptr, *oldptr, sizeof(std::size_t) ) ); - std::memcpy( fresh_ptr, ptr, std::min( size, oldSize ) ); - ::_aligned_free(oldptr); - } - return fresh_ptr; - - #elif ( defined( BOOST_SIMD_CONFIG_SUPPORT_POSIX_MEMALIGN ) \ - || (defined( _GNU_SOURCE ) && defined(__linux) && !defined( __ANDROID__ )) \ - ) \ - && !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - - // Resizing to 0 free the pointer data and return - if(size == 0) - { - ::free(ptr); - return 0; - } - - #if defined(__ANDROID__) - // https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/VCEUpMfSh_o - std::size_t const oldSize( ::dlmalloc_usable_size( ptr ) ); - #elif defined(__APPLE__) - std::size_t const oldSize( ::malloc_size( ptr ) ); - #else - std::size_t const oldSize( ::malloc_usable_size( ptr ) ); - #endif - - if( simd::is_aligned(ptr, alignment) ) - { - if( ( oldSize - size ) < BOOST_SIMD_REALLOC_SHRINK_THRESHOLD ) - { - return ptr; - } - else - { - // FIXME: realloc will free the old memory if it moves. - // if it moves to a non-aligned memory segment and the subsequent - // memory allocation fails, we break the invariant - ptr = ::realloc(ptr, size); - if( simd::is_aligned(ptr, alignment) ) - return ptr; - } - } - - void* const fresh_ptr = aligned_malloc(size, alignment); - if(!fresh_ptr) - return 0; - - std::memcpy(fresh_ptr, ptr, std::min(size, oldSize)); - ::free(ptr); - - return fresh_ptr; - - #else - - return aligned_realloc(ptr, size, alignment, custom_realloc_fn); - - #endif - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/aligned_reuse.hpp b/inst/include/boost/simd/memory/aligned_reuse.hpp deleted file mode 100644 index e666e75..0000000 --- a/inst/include/boost/simd/memory/aligned_reuse.hpp +++ /dev/null @@ -1,174 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALIGNED_REUSE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALIGNED_REUSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#include - -#if !defined(__APPLE__) -#include -#else -#include -#endif - -namespace boost { namespace simd -{ - /*! - @brief Low level aligned memory reuse - - Wraps system specific code for reusing an aligned memory block of - @c size bytes with an address aligned on @c alignment. - - @par Semantic: - - For any given pointer @c ptr, integral @c size and @c alignment constraint, - - @code - void* r = aligned_reuse(ptr,size,alignment); - @endcode - - is equivalent to : - - - a aligned memory allocation is @c ptr is equal to 0; - - a no-op if the requested @c size is equal to the old size of the memory - block referenced by @c ptr; - - a call to the system specific reallocation function followed by an - alignment fix-up. - - Note that data is not preserved during reusing (contrary to aligned_realloc). - - @pre @c alignment is a non-zero power of two. - @param ptr Pointer to reuse - @param size Number of bytes to allocate - @param alignment Alignment boundary to respect - @param realloc_fn - @return Pointer referencing the newly allocated memory block. - **/ - template - inline void* aligned_reuse( void* ptr, std::size_t size, std::size_t alignment - , ReallocFunction realloc_fn - ) - { - details::aligned_block_header* hdr = 0; - if(ptr) - hdr = static_cast(ptr) - 1; - - std::size_t nsz = size ? size + alignment + sizeof(details::aligned_block_header) : 0u; - std::size_t old_offset = hdr ? hdr->offset : 0; - - void* fresh_ptr = realloc_fn( static_cast(ptr) - old_offset, nsz, hdr ? hdr->allocated_size : 0 ); - if(!fresh_ptr || !nsz) - return fresh_ptr; - - std::size_t offset = simd::align_on(static_cast(fresh_ptr)+sizeof(details::aligned_block_header), alignment) - static_cast(fresh_ptr); - - hdr = reinterpret_cast(static_cast(fresh_ptr) + offset) - 1; - hdr->offset = offset; - hdr->allocated_size = size + alignment + sizeof(details::aligned_block_header) - offset; - - return static_cast(fresh_ptr) + offset; - } - - /// @overload - inline void* aligned_reuse(void* ptr, std::size_t size, std::size_t alignment) - { - // Do we want to use built-ins special aligned free/alloc ? - #if defined( _MSC_VER ) && !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - - std::size_t* const oldptr = static_cast(ptr)-1; - - if(ptr && !size) - { - ::_aligned_free(oldptr); - return 0; - } - - if(ptr && alignment == *oldptr) - { - std::size_t* fresh_ptr = static_cast(::_aligned_offset_realloc(oldptr, size+sizeof(std::size_t), alignment, sizeof(std::size_t))); - if(!fresh_ptr) - return 0; - return fresh_ptr+1; - } - - std::size_t* fresh_ptr = static_cast(::_aligned_offset_malloc(size+sizeof(std::size_t), alignment, sizeof(std::size_t))); - if(!fresh_ptr) - return 0; - - *fresh_ptr++ = alignment; - - if(ptr) - ::_aligned_free(oldptr); - - return fresh_ptr; - - #elif ( defined( BOOST_SIMD_CONFIG_SUPPORT_POSIX_MEMALIGN ) \ - || (defined( _GNU_SOURCE ) && defined(__linux) && !defined( __ANDROID__ )) \ - ) \ - && !defined(BOOST_SIMD_MEMORY_NO_BUILTINS) - - // Resizing to 0 free the pointer data and return - if(size == 0) - { - ::free(ptr); - return 0; - } - - #ifdef __ANDROID__ - // https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/VCEUpMfSh_o - std::size_t const oldSize( ::dlmalloc_usable_size( ptr ) ); - #elif defined(__APPLE__) - std::size_t const oldSize( ::malloc_size( ptr ) ); - #else - std::size_t const oldSize( ::malloc_usable_size( ptr ) ); - #endif - - if( simd::is_aligned(ptr, alignment) ) - { - if( ( oldSize - size ) < BOOST_SIMD_REALLOC_SHRINK_THRESHOLD ) - { - return ptr; - } - else - { - // FIXME: realloc will free the old memory if it moves. - // if it moves to a non-aligned memory segment and the subsequent - // memory allocation fails, we break the invariant - ptr = ::realloc(ptr, size); - if( simd::is_aligned(ptr, alignment) ) - return ptr; - } - } - - void* const fresh_ptr = aligned_malloc(size, alignment); - if(!fresh_ptr) - return 0; - - ::free(ptr); - - return fresh_ptr; - - #else - - return aligned_reuse(ptr, size, alignment, custom_realloc_fn); - - #endif - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/allocate.hpp b/inst/include/boost/simd/memory/allocate.hpp deleted file mode 100644 index fd25f09..0000000 --- a/inst/include/boost/simd/memory/allocate.hpp +++ /dev/null @@ -1,181 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALLOCATE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALLOCATE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Allocation of aligned memory on custom alignment - - Allocate a buffer of bytes aligned on an arbitrary alignment. - - If used in non-throwing mode, it returns a null pointer when allocation - fails. If used in throwing mode, it throws a std::bad_alloc instead. - - @param nbytes Number of bytes to allocate. - @param align Alignment boundary to follow - - @return A pointer to a memory block of @c nbytes bytes, aligned on @c align. - **/ - BOOST_FORCEINLINE BOOST_SIMD_MALLOC BOOST_DISPATCH_NOTHROW BOOST_SIMD_ALLOC_SIZE(1) - void* allocate( std::size_t nbytes, std::size_t align, std::nothrow_t const & ) - { - return aligned_malloc(nbytes, align); - } - - /// @overload - BOOST_FORCEINLINE BOOST_SIMD_MALLOC BOOST_SIMD_ALLOC_THROWS BOOST_SIMD_ALLOC_SIZE(1) - void* allocate( std::size_t nbytes, std::size_t align ) - { - void* result = allocate(nbytes, align, std::nothrow_t()); - if(!result) BOOST_THROW_EXCEPTION( std::bad_alloc() ); - - return result; - } - - /*! - @brief Allocation of aligned memory with a static alignment - - Allocate a buffer of bytes aligned on an arbitrary statically specified - alignment. By default, this static alignment is equal to the current SIMD - alignment boundary. - - If used in non-throwing mode, it returns a null pointer when allocation - fails. If used in throwing mode, it throws a std::bad_alloc instead. - - @tparam Alignment Static alignment boundary to respect. - - @param nbytes Number of bytes to allocate. - @param t Tag indicating the nothrow behavior of this function. - - @return A pointer to a memory block of @c nbytes bytes, aligned on @c align. - For optimization purpose, this pointer is marked as properly aligned - by using compiler specific attributes. - **/ - template - BOOST_FORCEINLINE BOOST_DISPATCH_NOTHROW BOOST_SIMD_ALLOC_SIZE(1) - typename meta::align_ptr::type - allocate(std::size_t nbytes, std::nothrow_t const & t) - { - return align_ptr( allocate( nbytes, Alignment, t) ); - } - - /// @overload - template - BOOST_FORCEINLINE BOOST_SIMD_ALLOC_THROWS BOOST_SIMD_ALLOC_SIZE(1) - typename meta::align_ptr::type allocate(std::size_t nbytes) - { - return align_ptr( allocate( nbytes, Alignment) ); - } - - BOOST_FORCEINLINE BOOST_SIMD_MALLOC BOOST_DISPATCH_NOTHROW BOOST_SIMD_ALLOC_SIZE(1) - meta::align_ptr::type - allocate(std::size_t nbytes, std::nothrow_t const & t) - { - return allocate( nbytes, t ); - } - - BOOST_FORCEINLINE BOOST_SIMD_MALLOC BOOST_SIMD_ALLOC_THROWS BOOST_SIMD_ALLOC_SIZE(1) - meta::align_ptr::type allocate( std::size_t nbytes ) - { - return allocate(nbytes); - } - - /*! - @brief Allocator based allocation of aligned memory - - Allocate a buffer of bytes aligned on an arbitrary alignment using - a custom allocator. - - @param alloc The \c Allocator to use for performing allocation - @param nbytes Number of bytes to allocate. - @param align Alignment boundary to follow - - @return A pointer to an aligned memory block of @c nbytes bytes. If the - allocation fails, it returns a null pointer. For optimization - purpose, this pointer is marked as properly aligned by using - compiler specific attributes. - **/ - template BOOST_FORCEINLINE - typename boost::dispatch::meta - ::enable_if_type::type - allocate( Allocator& alloc, std::size_t nbytes, std::size_t align ) - { - return aligned_malloc ( nbytes, align - , details::allocator_malloc(alloc) - ); - } - - /*! - @brief Allocator based allocation of aligned memory with static alignment - - Allocate a buffer of bytes aligned on an arbitrary statically specified - alignment using a custom allocator. - - @param alloc The @c Allocator to use for performing allocation - @param nbytes Number of bytes to allocate. - - @tparam Alignment Alignment boundary to follow - - @return A pointer to an aligned memory block of @c nbytes bytes. If the - allocation fails, it returns a null pointer. For optimization - purpose, this pointer is marked as properly aligned by using - compiler specific attributes. - **/ - template BOOST_FORCEINLINE - typename boost::dispatch::meta - ::enable_if_type< typename Allocator::pointer - , typename meta::align_ptr::type - >::type - allocate( Allocator& alloc, std::size_t nbytes ) - { - return align_ptr( allocate(alloc,nbytes,Alignment) ); - } - - /*! - @brief Allocator based allocation of aligned memory - - Allocate a buffer of bytes aligned on current architecture preferred SIMD - compatible alignment using a custom allocator. - - @param alloc The \c Allocator to use for performing allocation - @param nbytes Number of bytes to allocate. - - @return A pointer to an aligned memory block of @c nbytes bytes. If the - allocation fails, it returns a null pointer. For optimization - purpose, this pointer is marked as properly aligned by using - compiler specific attributes. - **/ - template BOOST_FORCEINLINE - typename boost::dispatch::meta - ::enable_if_type< typename Allocator::pointer - , typename meta::align_ptr::type - >::type - allocate( Allocator& alloc, std::size_t nbytes ) - { - return allocate(alloc,nbytes); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/allocator.hpp b/inst/include/boost/simd/memory/allocator.hpp deleted file mode 100644 index 560195e..0000000 --- a/inst/include/boost/simd/memory/allocator.hpp +++ /dev/null @@ -1,140 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALLOCATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALLOCATOR_HPP_INCLUDED - -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4100) // argument not reference in destroy() -#endif - -namespace boost { namespace simd -{ - /*! - @brief SIMD-aware allocator - - Provides a standard, stateless allocator that take allocates memory block - compatible with current architecture SIMD constraints. - - @tparam Type of elements to allocate - **/ - template struct allocator - { - typedef T value_type; - typedef T* pointer; - typedef T const* const_pointer; - typedef T& reference; - typedef T const& const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - /*! - @brief Allocator type rebinding meta-function - - Standard internal meta-function to build an @c allocator from an - @c allocator - - @tparam U Type to rebind the current allocator to - **/ - template struct rebind - { - typedef allocator other; - }; - - /// Default constructor - allocator() {} - - /// Constructor from another SIMD allocator - template allocator(allocator const& ) {} - - /// Constructor from another SIMD allocator - template - allocator& operator=(allocator const& ) - { - return *this; - } - - /// Retrieve the address of an element - pointer address(reference r) { return &r; } - - /// @overload - const_pointer address(const_reference r) { return &r; } - - /// Maximum amount of memory that can be allocated - size_type max_size() const { return size_type(~0); } - - /// Performs the construction of a given value in a given memory block - void construct(pointer p, const T& t) - { - p = new (p) value_type (t); - } - - /// Performs the destruction of a given value in a given memory block - void destroy(pointer p) { p->~value_type(); } - - /// Allocate a block of SIMD compatible memory - pointer allocate( size_type c, const void* = 0 ) const - { - c *= sizeof(value_type); - return reinterpret_cast( boost::simd::allocate(c) ); - } - - /// Deallocate a pointer allocated by the current allocator - void deallocate (pointer p, size_type ) const - { - boost::simd::deallocate( p ); - } - }; - - /// INTERNAL ONLY - Overload for void type - template struct allocator - { - typedef void* pointer; - typedef const void* const_pointer; - typedef void value_type; - - template struct rebind - { - typedef allocator other; - }; - - allocator() {} - template allocator(allocator const& ) {} - template allocator& operator=(allocator const& ) - { - return *this; - } - }; - - /// Equality comparison between two allocators - template - bool operator== (allocator const&, allocator const&) - { - return true; - } - - /// Inequality comparison between two allocators - template - bool operator!= (allocator const&, allocator const&) - { - return false; - } -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/memory/allocator_adaptor.hpp b/inst/include/boost/simd/memory/allocator_adaptor.hpp deleted file mode 100644 index 7385501..0000000 --- a/inst/include/boost/simd/memory/allocator_adaptor.hpp +++ /dev/null @@ -1,104 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ALLOCATOR_ADAPTOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ALLOCATOR_ADAPTOR_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - template - struct allocator_adaptor : Allocator - { - typedef Allocator base_type; - typedef typename base_type::value_type value_type; - typedef typename base_type::pointer pointer; - typedef typename base_type::const_pointer const_pointer; - typedef typename base_type::reference reference; - typedef typename base_type::const_reference const_reference; - typedef typename base_type::size_type size_type; - typedef typename base_type::difference_type difference_type; - - /*! - @brief Allocator type rebinding meta-function - - Standard internal meta-function to build an @c allocator from an - @c allocator - - @tparam U Type to rebind the current allocator to - **/ - template struct rebind - { - typedef typename Allocator::template rebind::other base; - typedef allocator_adaptor other; - }; - - /// Default constructor - allocator_adaptor() : base_type() {} - - template - allocator_adaptor ( allocator_adaptor const& src) - : base_type(src.base()) - {} - - allocator_adaptor& operator=(allocator_adaptor const& src) - { - base_type::operator=(src); - return *this; - } - - /// Allocate a block of SIMD compatible memory - pointer allocate( size_type c, const void* = 0 ) - { - c *= sizeof(value_type); - return reinterpret_cast(simd::allocate( base(), c )); - } - - /// Deallocate a pointer allocated by the current allocator - void deallocate (pointer p, size_type ) - { - boost::simd::deallocate(base(), p); - } - - /// Return a reference to the adapted allocator - base_type& base() - { - return static_cast(*this); - } - - /// @overload - base_type const& base() const - { - return static_cast(*this); - } - }; - - /// Equality comparison between two adapted allocators - template - bool operator== ( allocator_adaptor const& a - , allocator_adaptor const& b - ) - { - return a.base() == b.base(); - } - - /// Inequality comparison between two adapted allocators - template - bool operator!= ( allocator_adaptor const& a - , allocator_adaptor const& b - ) - { - return a.base() != b.base(); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/constants.hpp b/inst/include/boost/simd/memory/constants.hpp deleted file mode 100644 index a91fcce..0000000 --- a/inst/include/boost/simd/memory/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/memory/deallocate.hpp b/inst/include/boost/simd/memory/deallocate.hpp deleted file mode 100644 index 080a622..0000000 --- a/inst/include/boost/simd/memory/deallocate.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DEALLOCATE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DEALLOCATE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Aligned pointer deallocation - - Deallocate a raw buffer of aligned bytes using the current system aligned - memory deallocation procedure. - - @param ptr Pointer to the memory to free. - **/ - BOOST_FORCEINLINE void deallocate( void* ptr ) - { - simd::aligned_free( ptr ); - } - - /*! - @brief Allocator based aligned pointer deallocation - - Deallocate a raw buffer of aligned bytes using a custom allocator. - - @param alloc Allocator performing the deallocation - @param ptr Pointer to the memory to free. - **/ - template BOOST_FORCEINLINE - typename dispatch::meta::enable_if_type::type - deallocate( Allocator& alloc, void* ptr ) - { - if(!ptr) - return; - - return aligned_free ( ptr - , details::allocator_free(alloc) - ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/deleter.hpp b/inst/include/boost/simd/memory/deleter.hpp deleted file mode 100644 index 0dceaa3..0000000 --- a/inst/include/boost/simd/memory/deleter.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DELETER_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DELETER_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Deleter function object - - Whenever a pointer allocated using any of the SIMD aware allocation - function is stored in a std::shared_ptr or similar object, it is necessary - to pass this custom deleter to this object so the memory deallocation can be - done using the proper alignment aware deallocation function. - - @tparam T Type of data to delete - @tparam Allocator Type of allocator used for the allocation. By default, it - is equal to @c void, meaning no allocator have been used to perform - the allocation. - **/ - template< class T - , class Allocator = void - > - struct deleter : Allocator - { - typedef void result_type; - typedef T * argument_type; - - /// Default constructor - deleter() {} - - /// Constructs a deleter using the proper allocator - deleter(Allocator const& x) : Allocator(x) {} - - /// Performs the deletion of the pointer @c x - void operator()(T * x) - { - boost::simd::deallocate ( static_cast(*this), x ); - } - }; - - /// INTERNAL ONLY - template - struct deleter - { - typedef void result_type; - typedef T* argument_type; - - void operator()(T * x) const - { - boost::simd::deallocate( x ); - } - }; -} } - -#endif diff --git a/inst/include/boost/simd/memory/details/aligned_stash.hpp b/inst/include/boost/simd/memory/details/aligned_stash.hpp deleted file mode 100644 index 986fcc8..0000000 --- a/inst/include/boost/simd/memory/details/aligned_stash.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DETAILS_ALIGNED_STASH_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DETAILS_ALIGNED_STASH_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace details -{ - struct aligned_block_header - { - std::size_t offset; - std::size_t allocated_size; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/details/allocator_wrapper.hpp b/inst/include/boost/simd/memory/details/allocator_wrapper.hpp deleted file mode 100644 index 95fec01..0000000 --- a/inst/include/boost/simd/memory/details/allocator_wrapper.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DETAILS_ALLOCATOR_WRAPPER_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DETAILS_ALLOCATOR_WRAPPER_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace details -{ - template - inline T divceil(T a, T b) - { - return (a / b) + !!(a % b); - } - - template struct allocator_malloc - { - allocator_malloc(Allocator& a) : alloc(a) - { - } - - void* operator()(std::size_t sz) - { - #ifndef BOOST_NO_EXCEPTIONS - try - { - return alloc.allocate(details::divceil(sz, sizeof(typename Allocator::value_type))); - } - catch(...) - { - return 0; - } - #else - return alloc.allocate(details::divceil(sz, sizeof(typename Allocator::value_type))); - #endif - } - - Allocator& alloc; - - private: - allocator_malloc& operator=(allocator_malloc const&); - }; - - template struct allocator_free - { - allocator_free(Allocator& a) : alloc(a) {} - - void operator()(void* ptr, std::size_t sz) - { - typedef typename Allocator::pointer type; - return alloc.deallocate(type(ptr), details::divceil(sz, sizeof(typename Allocator::value_type))); - } - - Allocator& alloc; - - private: - allocator_free& operator=(allocator_free const&); - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/details/empty_aligned_array.hpp b/inst/include/boost/simd/memory/details/empty_aligned_array.hpp deleted file mode 100644 index 191a14a..0000000 --- a/inst/include/boost/simd/memory/details/empty_aligned_array.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DETAILS_EMPTY_ALIGNED_ARRAY_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DETAILS_EMPTY_ALIGNED_ARRAY_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - /// INTERNAL ONLY - template - struct aligned_array - { - typedef T value_type; - typedef T* pointer; - typedef const T* const_pointer; - typedef T* iterator; - typedef const T* const_iterator; - typedef T& reference; - typedef const T& const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - iterator begin() { return iterator(reinterpret_cast< T*>(this)); } - const_iterator begin() const { return const_iterator(reinterpret_cast(this)); } - const_iterator cbegin() const { return const_iterator(reinterpret_cast(this)); } - - iterator end() { return begin(); } - const_iterator end() const { return begin(); } - const_iterator cend() const { return cbegin(); } - - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } - const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } - const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } - - reference operator[](size_type ) { return failed_rangecheck(); } - const_reference operator[](size_type ) const { return failed_rangecheck(); } - - reference at(size_type ) { return failed_rangecheck(); } - const_reference at(size_type ) const { return failed_rangecheck(); } - - reference front() { return failed_rangecheck(); } - const_reference front() const { return failed_rangecheck(); } - reference back() { return failed_rangecheck(); } - const_reference back() const { return failed_rangecheck(); } - - static size_type size() { return 0; } - static bool empty() { return true; } - static size_type max_size() { return 0; } - - static const std::size_t static_size = 0; - - template void swap (aligned_array&) {} - - pointer c_array() { return 0; } - pointer data() { return 0; } - const_pointer data() const { return 0; } - - template - aligned_array& operator= (const aligned_array&) - { - return *this; - } - - void assign (const T&) {} - void fill (const T& ) {} - - static reference failed_rangecheck() - { - BOOST_ASSERT_MSG( 0, "Out of range access on aligned_array" ); - static T placeholder; - return placeholder; - } - }; -} } - -#endif diff --git a/inst/include/boost/simd/memory/details/input_iterator_base.hpp b/inst/include/boost/simd/memory/details/input_iterator_base.hpp deleted file mode 100644 index 35828a4..0000000 --- a/inst/include/boost/simd/memory/details/input_iterator_base.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DETAILS_INPUT_ITERATOR_BASE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DETAILS_INPUT_ITERATOR_BASE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - template< typename Iterator - , std::size_t C, typename Value - , typename LoadFun - > - struct input_iterator_base - : boost::iterator_adaptor< input_iterator_base - , Iterator - , pack - , std::random_access_iterator_tag - , pack const - > - { - static const typename input_iterator_base::difference_type cardinal = C; - BOOST_FORCEINLINE input_iterator_base() - : input_iterator_base::iterator_adaptor_() - {} - - BOOST_FORCEINLINE explicit - input_iterator_base ( Iterator p ) - : input_iterator_base::iterator_adaptor_(p) - {} - - protected: - friend class boost::iterator_core_access; - - BOOST_FORCEINLINE - typename input_iterator_base::reference dereference() const - { - dispatch::functor callee; - return callee ( &*this->base() - , dispatch::meta::as_< pack >() - ); - } - - BOOST_FORCEINLINE void increment() { this->base_reference() += C; } - BOOST_FORCEINLINE void decrement() { this->base_reference() -= C; } - - BOOST_FORCEINLINE - void advance(typename input_iterator_base::difference_type n) - { - this->base_reference() += n*C; - } - - BOOST_FORCEINLINE typename input_iterator_base::difference_type - distance_to(input_iterator_base const& other) const - { - return (other.base() - this->base()) / cardinal; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/details/model_aligned_array.hpp b/inst/include/boost/simd/memory/details/model_aligned_array.hpp deleted file mode 100644 index eb41640..0000000 --- a/inst/include/boost/simd/memory/details/model_aligned_array.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DETAILS_MODEL_ALIGNED_ARRAY_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DETAILS_MODEL_ALIGNED_ARRAY_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /// INTERNAL ONLY value_of for container const refere,ce - template - struct value_of< boost::simd::aligned_array > - : value_of - {}; - - /// INTERNAL ONLY model_of for container - template - struct model_of< boost::simd::aligned_array > - { - struct type - { - template struct apply - { - typedef boost::simd::aligned_array type; - }; - }; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/details/new_allocator.hpp b/inst/include/boost/simd/memory/details/new_allocator.hpp deleted file mode 100644 index 78e8eb6..0000000 --- a/inst/include/boost/simd/memory/details/new_allocator.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DETAILS_NEW_ALLOCATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DETAILS_NEW_ALLOCATOR_HPP_INCLUDED - -namespace boost { namespace simd {namespace details -{ - template - struct new_dummy; - - template - struct delete_dummy;; - - template - void* new_allocate_impl(std::size_t c, ...) - { - return ::operator new(c); - } - - template - void* new_allocate_impl(std::size_t c, new_dummy<&T::operator new>*) - { - return T::operator new(c); - } - - template - void new_deallocate_impl(void* p, ...) - { - ::operator delete(p); - } - - template - void new_deallocate_impl(void* p, delete_dummy<&T::operator delete>*) - { - T::operator delete(p); - } - - template - void* new_array_allocate_impl(std::size_t c, ...) - { - return ::operator new[](c); - } - - template - void* new_array_allocate_impl(std::size_t c, new_dummy<&T::operator new[]>*) - { - return T::operator new[](c); - } - - template - void new_array_deallocate_impl(void* p, ...) - { - ::operator delete[](p); - } - - template - void new_array_deallocate_impl(void* p, delete_dummy<&T::operator delete[]>*) - { - T::operator delete[](p); - } -} } } - -#endif diff --git a/inst/include/boost/simd/memory/details/output_iterator_base.hpp b/inst/include/boost/simd/memory/details/output_iterator_base.hpp deleted file mode 100644 index b23b4e4..0000000 --- a/inst/include/boost/simd/memory/details/output_iterator_base.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DETAILS_OUTPUT_ITERATOR_BASE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DETAILS_OUTPUT_ITERATOR_BASE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - template< typename Iterator - , std::size_t C, typename Value - , typename Store - > - struct output_iterator_base - : boost::iterator_adaptor< output_iterator_base - , Iterator - , pack - , std::random_access_iterator_tag - , output_iterator_base const - > - { - static const typename output_iterator_base::difference_type cardinal = C; - BOOST_FORCEINLINE output_iterator_base() - : output_iterator_base::iterator_adaptor_() - {} - - BOOST_FORCEINLINE explicit - output_iterator_base( Iterator p ) - : output_iterator_base::iterator_adaptor_(p) - {} - - /* - SIMD output iterator requires a proxy reference to be returned. - For performance purpose, the iterator itself acts as its own proxy. - */ - template BOOST_FORCEINLINE - output_iterator_base const& operator=(Expr const& right) const - { - dispatch::functor callee; - callee(right, &*this->base()); - return *this; - } - - protected: - friend class boost::iterator_core_access; - - BOOST_FORCEINLINE - typename output_iterator_base::reference dereference() const - { - return *this; - } - - BOOST_FORCEINLINE void increment() { this->base_reference() += C; } - BOOST_FORCEINLINE void decrement() { this->base_reference() -= C; } - - BOOST_FORCEINLINE - void advance(typename output_iterator_base::difference_type n) - { - this->base_reference() += n*C; - } - - BOOST_FORCEINLINE typename output_iterator_base::difference_type - distance_to(output_iterator_base const& other) const - { - return (other.base() - this->base()) / cardinal; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/details/posix.hpp b/inst/include/boost/simd/memory/details/posix.hpp deleted file mode 100644 index b351948..0000000 --- a/inst/include/boost/simd/memory/details/posix.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DETAILS_POSIX_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DETAILS_POSIX_HPP_INCLUDED - -#if defined(unix) || defined(__unix__) || defined(__unix) -#include -#endif - -// Check if posix_memalign is supported -#if ( (defined _GNU_SOURCE) \ - || ((defined _XOPEN_SOURCE) && (_XOPEN_SOURCE >= 600)) \ - ) \ - && (defined _POSIX_ADVISORY_INFO) && (_POSIX_ADVISORY_INFO > 0) - #define BOOST_SIMD_CONFIG_SUPPORT_POSIX_MEMALIGN -#endif - -// Mac OS X 10.6+ special case -#if !defined(BOOST_SIMD_CONFIG_SUPPORT_POSIX_MEMALIGN) && defined(__APPLE__) -#include -#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6 -#define BOOST_SIMD_CONFIG_SUPPORT_POSIX_MEMALIGN -#endif -#endif - -#endif diff --git a/inst/include/boost/simd/memory/details/uncheck_iterator.hpp b/inst/include/boost/simd/memory/details/uncheck_iterator.hpp deleted file mode 100644 index 5272b74..0000000 --- a/inst/include/boost/simd/memory/details/uncheck_iterator.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DETAILS_UNCHECK_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DETAILS_UNCHECK_ITERATOR_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace details -{ - template - struct unchecker - { - typedef Iterator type; - - static type call(Iterator i) { return i; } - }; - - template - struct unchecker< Iterator - , typename boost::dispatch::meta:: - enable_if_type< typename Iterator - ::_Unchecked_type - >::type - > - { - typedef typename Iterator::_Unchecked_type type; - - static type call(Iterator i) { return i._Unchecked(); } - }; - - -} } } - -#endif diff --git a/inst/include/boost/simd/memory/direct_output_iterator.hpp b/inst/include/boost/simd/memory/direct_output_iterator.hpp deleted file mode 100644 index 063ecca..0000000 --- a/inst/include/boost/simd/memory/direct_output_iterator.hpp +++ /dev/null @@ -1,149 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DIRECT_OUTPUT_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DIRECT_OUTPUT_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd -{ -/*! - @brief Non-temporal store based iterator - - direct_output_iterator adapt a pointer into a standard compliant iterator - that allow for non-temporal write to the referenced memory. - - @par Models: - - @model{ http://www.cplusplus.com/reference/iterator/RandomAccessIterator/ - , RandomAccessIterator - } - - @usage_output{memory/direct_output_iterator.cpp,memory/direct_output_iterator.out} - - @tparam T Type pointed to by the iterator - **/ - template< typename Iterator - , std::size_t C = meta::cardinal_of - < pack< typename std::iterator_traits - ::value_type - > - >::value - > - struct direct_output_iterator - : details::output_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::stream_ - > - { - typedef details::output_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::stream_ - > parent; - - /// Default constructor - direct_output_iterator() : parent() {} - - /// INTERNAL ONLY - direct_output_iterator( parent const& src ) : parent(src) {} - - /// Constructor from an aligned pointer - explicit direct_output_iterator(Iterator p) : parent(p) {} - }; - - /*! - @brief Adapter for SIMD non-temporal, write-only iterator - - Convert an existing iterator referencing the beginning of a contiguous memory - block into a SIMD aware write-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/direct_output_iterator.cpp,memory/direct_output_iterator.out} - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of direct_output_iterator - **/ - template inline - direct_output_iterator direct_output_begin(Iterator p) - { - return direct_output_iterator(p); - } - - /*! - @brief Adapter for SIMD non-temporal, write-only iterator - - Convert an existing iterator referencing the beginning of a contiguous memory - block into a SIMD aware write-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/direct_output_iterator.cpp,memory/direct_output_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of direct_output_iterator - **/ - template inline - direct_output_iterator direct_output_begin(Iterator p) - { - return direct_output_iterator(p); - } - - /*! - @brief Adapter for SIMD non-temporal, write-only iterator - - Convert an existing iterator referencing the end of a contiguous memory - block into a SIMD aware write-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/direct_output_iterator.cpp,memory/direct_output_iterator.out} - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of direct_output_iterator - **/ - template inline - direct_output_iterator direct_output_end(Iterator p) - { - return direct_output_iterator(p); - } - - /*! - @brief Adapter for SIMD non-temporal, write-only iterator - - Convert an existing iterator referencing the end of a contiguous memory - block into a SIMD aware write-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/direct_output_iterator.cpp,memory/direct_output_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of direct_output_iterator - **/ - template inline - direct_output_iterator direct_output_end(Iterator p) - { - return direct_output_iterator(p); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/direct_output_range.hpp b/inst/include/boost/simd/memory/direct_output_range.hpp deleted file mode 100644 index 50561b1..0000000 --- a/inst/include/boost/simd/memory/direct_output_range.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DIRECT_OUTPUT_RANGE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DIRECT_OUTPUT_RANGE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Adapter for non temporal SIMD write-only range - - Convert an existing range specified by two aligned iterators into a SIMD - aware write-only, non-temporal iterator returning SIMD pack of optimal - cardinal @c C. - - @usage_output{memory/direct_output_range.cpp,memory/direct_output_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param begin A Range addressing a contiguous memory block - @param end - @return An instance of direct_output_range - **/ - template inline - boost::iterator_range > - direct_output_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end), C) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range ( direct_output_begin(begin) - , direct_output_end(end) - ); - } - - /*! - @brief Adapter for non temporal SIMD write-only range - - Convert an existing range specified by two aligned iterators into a SIMD - aware write-only, non-temporal iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/direct_output_range.cpp,memory/direct_output_range.out} - - @param begin A Range addressing a contiguous memory block - @param end - - @return An instance of direct_output_range - **/ - template inline - boost::iterator_range< direct_output_iterator > - direct_output_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end) , direct_output_iterator::cardinal) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range ( direct_output_begin(begin) - , direct_output_end(end) - ); - } - - /*! - @brief Adapter for non temporal SIMD write-only range - - Convert an existing range into a SIMD aware write-only, non-temporal - iterator returning SIMD pack of cardinal @c C. - - @usage_output{memory/direct_output_range.cpp,memory/direct_output_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param r A Range addressing a contiguous memory block - - @return An instance of direct_output_range - **/ - template inline - boost::iterator_range::type,C> > - direct_output_range( Range const& r ) - { - return direct_output_range( boost::begin(r), boost::end(r) ); - } - - /*! - @brief Adapter for non temporal SIMD write-only range - - Convert an existing range into a SIMD aware write-only, non-temporal - iterator returning SIMD pack of optimal cardinal for current architecture. - - @usage_output{memory/direct_output_range.cpp,memory/direct_output_range.out} - - @param r A Range addressing a contiguous memory block - - @return An instance of direct_output_range - **/ - template inline - boost::iterator_range::type> > - direct_output_range( Range const& r ) - { - return direct_output_range( boost::begin(r), boost::end(r) ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/dynarray.hpp b/inst/include/boost/simd/memory/dynarray.hpp deleted file mode 100644 index 39b0202..0000000 --- a/inst/include/boost/simd/memory/dynarray.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_DYNARRAY_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_DYNARRAY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Runtime sized array - - Similar to std::vector, but without the ability to change the - size and without allocators. - - @tparam T Type of the stored element - **/ - template - struct dynarray - : boost::iterator_range - { - dynarray(std::size_t n) - { - T* ptr = new T[n]; - *static_cast*>(this) = boost::iterator_range(ptr, ptr+n); - } - - dynarray(dynarray const& other) - { - void* mem = details::new_array_allocate_impl(other.size()*sizeof(T), 0); - T* ptr = static_cast(mem); - *static_cast*>(this) = boost::iterator_range(ptr, ptr+other.size()); - #ifndef BOOST_NO_EXCEPTIONS - try - { - #endif - - #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && BOOST_WORKAROUND(BOOST_MSVC, < 1600) - stdext::unchecked_uninitialized_copy(other.begin(), other.end(), this->begin()); - #elif BOOST_WORKAROUND(BOOST_MSVC, > 1500) - std::uninitialized_copy(other.begin(), other.end(), stdext::make_unchecked_array_iterator(this->begin())); - #else - std::uninitialized_copy(other.begin(), other.end(), this->begin()); - #endif - - #ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - details::new_array_deallocate_impl(mem); - throw; - } - #endif - } - - dynarray& operator=(dynarray const& other) - { - BOOST_ASSERT_MSG( this->size() == other.size(), "assignment between dynarrays of different sizes" ); - - #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && BOOST_WORKAROUND(BOOST_MSVC, < 1600) - stdext::unchecked_copy(other.begin(), other.end(), this->begin()); - #elif BOOST_WORKAROUND(BOOST_MSVC, > 1500) - std::copy(other.begin(), other.end(), stdext::make_unchecked_array_iterator(this->begin())); - #else - std::copy(other.begin(), other.end(), this->begin()); - #endif - - return *this; - } - - // cast because of boost bug #8061 - std::size_t size() const - { - return (std::size_t)static_cast const*>(this)->size(); - } - - ~dynarray() - { - delete[] this->begin(); - } - }; -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions.hpp b/inst/include/boost/simd/memory/functions.hpp deleted file mode 100644 index 95a1244..0000000 --- a/inst/include/boost/simd/memory/functions.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/functions/aligned_load.hpp b/inst/include/boost/simd/memory/functions/aligned_load.hpp deleted file mode 100644 index ecfaa5f..0000000 --- a/inst/include/boost/simd/memory/functions/aligned_load.hpp +++ /dev/null @@ -1,268 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief aligned_load generic tag - - Represents the aligned_load function in generic contexts. - - @par Models: - Hierarchy - **/ - struct aligned_load_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_aligned_load_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_aligned_load_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_aligned_load_; - } - - /*! - @brief Load data from memory - - Retrieves data from a pointer and an offset using the most efficient - operations and register types for the chosen destination type. - - @pre If @c Type is a SIMD register type, the value of - @c ptr + @c offset - @c Misalignment must satisfy SIMD - alignment constraint. - - @par Semantic - - Depending on the type of its arguments, aligned_load exhibits different semantics. - For any type @c Type, @c ptr of type @c Pointer, @c offset of type @c - Offset, @c old of type @c Old and @c mask of type @c Mask, consider: - - @code - Type x = aligned_load(ptr,offset,old,mask); - @endcode - - If @c Type is a SIMD value, this code is equivalent to: - - If @c offset is a scalar integer: - - @code - for(int i=0;i(x) = aligned_load(at_c<0>(ptr),offset); - ... - at_c(x) = aligned_load(at_c(ptr),offset); - @endcode - - If @c Type is a scalar type, then it is equivalent to: - - @code - if (mask) - x = *(ptr+offset); - else - x = old; - @endcode - - @par Misalignment handling - - In all these cases, the @c Misalignment optional template parameter can be - used to notify aligned_load that the current pointer used is misaligned by - a specific amount. In this case, aligned_load can be issued by using an - architecture specific strategy to perform this aligned_loading efficiently. - - For any type @c T, any pointer @c ptr, value of misalignment @c M, value(s) - @c old and logical mask @c mask , the call: - - @code - aligned_load(ptr,old,mask); - @endcode - - implies that - - @code - is_aligned(ptr-M) == true - @endcode - - In other case, when misalignment of pointer can't be known at compile-time, - use unaligned_aligned_load. - - @usage{memory/aligned_load.cpp} - - @tparam Type Type of data to aligned_load from memory - @tparam Misalignment Optional misalignment hints - - @param ptr Memory location to aligned_load data from. - @param offset Optional memory offset. - @param mask Optional logical mask. Only loads values for which the mask is true. - @param old Optional Returns the corresponding entry from old if the mask is set to false. - Default is zero. - - @return A value of type @c Type aligned_loaded from target memory block - **/ - template - BOOST_FORCEINLINE Type aligned_load(Pointer const& ptr, Offset const& offset ) - { - typename boost::dispatch::meta - ::dispatch_call const& - , Offset const& - , boost::mpl::int_ const& - )>::type callee; - - return callee ( ptr - , boost::dispatch::meta::as_() - , offset - , boost::mpl::int_() - ); - } - - /// @overload - template - BOOST_FORCEINLINE Type aligned_load(Pointer const& ptr) - { - typename boost::dispatch::meta - ::dispatch_call const& - , boost::mpl::int_ const& - )>::type callee; - - return callee ( ptr - , boost::dispatch::meta::as_() - , boost::mpl::int_() - ); - } - - /// @overload - template - BOOST_FORCEINLINE Type aligned_load(Pointer const& ptr,Offset const& offset) - { - typename boost::dispatch::meta - ::dispatch_call const& - , Offset const& - )>::type callee; - - return callee(ptr,boost::dispatch::meta::as_(),offset); - } - - /// @overload - template - BOOST_FORCEINLINE Type aligned_load(Pointer const& ptr,Mask const& mask, Old const& old) - { - typename boost::dispatch::meta - ::dispatch_call const& - , Mask const& - , Old const& - )>::type callee; - - return callee(ptr,boost::dispatch::meta::as_(),mask,old); - } - - /// @overload - template - BOOST_FORCEINLINE Type aligned_load(Pointer const& ptr,Mask const& mask,Old const& old) - { - typename boost::dispatch::meta - ::dispatch_call const& - , boost::mpl::int_ const& - , Mask const& - , Old const& - )>::type callee; - - return callee ( ptr,boost::dispatch::meta::as_() - , boost::mpl::int_(),mask,old); - } - - /// @overload - template - BOOST_FORCEINLINE Type aligned_load(Pointer const& ptr, Offset const& offset, Mask const& mask, Old const& old) - { - typename boost::dispatch::meta - ::dispatch_call const& - , Offset const& - , Mask const& - , Old const& - )>::type callee; - - return callee ( ptr,boost::dispatch::meta::as_(),offset - , mask,old); - } - - /// @overload - template - BOOST_FORCEINLINE Type aligned_load(Pointer const& ptr, Offset const& offset,Mask const& mask,Old const& old) - { - typename boost::dispatch::meta - ::dispatch_call const& - , Offset const& - , boost::mpl::int_ const& - , Mask const& - , Old const& - )>::type callee; - - return callee ( ptr,boost::dispatch::meta::as_(),offset - , boost::mpl::int_(),mask,old); - } - - /// @overload - template - BOOST_FORCEINLINE Type aligned_load(Pointer const& ptr) - { - typename boost::dispatch::meta - ::dispatch_call const& - )>::type callee; - - return callee(ptr,boost::dispatch::meta::as_()); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/aligned_store.hpp b/inst/include/boost/simd/memory/functions/aligned_store.hpp deleted file mode 100644 index 75d3247..0000000 --- a/inst/include/boost/simd/memory/functions/aligned_store.hpp +++ /dev/null @@ -1,158 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief aligned_store generic tag - - Represents the aligned_store function in generic contexts. - - @par Models: - Hierarchy - **/ - struct aligned_store_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_aligned_store_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_aligned_store_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_aligned_store_; - } - - /*! - @brief Store a value at an aligned memory location - - Store a given value into an aligned memory location referenced by either - a pointer or a pointer and an offset. To support SIMD idioms like data - scattering or non-POD values, both pointer and offset arguments can - themselves be SIMD register or Fusion Sequences. - - @par Semantic: - - Depending on the type of its arguments, store exhibits different semantics. - For any @c x of type @c Value, @c ptr of type @c Pointer, @c offset - of type @c Offset and @c mask of type @c Mask, consider: - - @code - aligned_store(x,ptr,offset,mask); - @endcode - - - If @c x is a SIMD value, this code is equivalent to: - - If @c offset is a scalar integer: - - @code - for(int i=0;i(x),at_c<0>(ptr),offset); - ... - aligned_storeat_c(x),at_c(ptr),offset); - @endcode - - If @c x is a scalar value, this code is equivalent to: - - @code - if (mask) - *(ptr+offset) = x; - @endcode - - @usage{memory/aligned_store.cpp} - - @par Precondition - - If @c Type is a SIMD register type: - - @code - is_aligned( ptr + offset - Misalignment ) - @endcode - - evaluates to @c true - - @param val Value to store - @param ptr Memory location to store @c val to - @param offset Optional memory offset. - @param mask Optional logical mask. Only stores values for which the mask is true. - - **/ - template - BOOST_FORCEINLINE void - aligned_store(Value const& val, Pointer const& ptr, Offset const& offset) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - callee(val, ptr, offset); - } - - /// @overload - template - BOOST_FORCEINLINE void - aligned_store(Value const& val, Pointer const& ptr, Offset const& offset, Mask const& mask) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - callee(val, ptr, offset, mask); - } - - /// @overload - template - BOOST_FORCEINLINE void aligned_store(Value const& val, Pointer const& ptr) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - callee(val, ptr); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/assign.hpp b/inst/include/boost/simd/memory/functions/assign.hpp deleted file mode 100644 index c4385bf..0000000 --- a/inst/include/boost/simd/memory/functions/assign.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_ASSIGN_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_ASSIGN_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief assign generic tag - - Represents the assign function in generic contexts. - - @par Models: - Hierarchy - **/ - struct assign_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_assign_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_assign_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_assign_; - } - /*! - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = assign(a0,a1); - @endcode - - is similar to: - - @code - T0 r = ; - @endcode - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_SELF(tag::assign_ , assign , 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_SELF(tag::assign_ , set , 2) - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL (tag::assign_ , assign, (A0 const&)(A1 const&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL (tag::assign_ , assign, (A0 const&)(A1&), 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL (tag::assign_ , assign, (A0&)(A1&), 2) -} } - -#include - -#endif -/// diff --git a/inst/include/boost/simd/memory/functions/bitwise_cast.hpp b/inst/include/boost/simd/memory/functions/bitwise_cast.hpp deleted file mode 100644 index 5fc07f6..0000000 --- a/inst/include/boost/simd/memory/functions/bitwise_cast.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief bitwise_cast generic tag - - Represents the bitwise_cast function in generic contexts. - **/ - struct bitwise_cast_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitwise_cast_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitwise_cast_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitwise_cast_; - } - - /*! - @brief Bitwise cast - - bitwise_cast performs a bit-preserving cast of its parameters into an arbitrary - type @c Target. - - @pre - @code - sizeof(a0) == sizeof(Target) - @endcode - - @tparam Target Target type to cast toward - @param value Value to cast - - @return A value of type @c Target which is bit-equivalent to @c value. - - @usage_output{memory/bitwise_cast.cpp,memory/bitwise_cast.out} - **/ - template - BOOST_FORCEINLINE - typename boost::dispatch::meta:: - result_of< typename boost::dispatch::meta:: - dispatch_call const& - ) - >::type - ( Value const& - , boost::dispatch::meta::as_ const& - ) - >::type - bitwise_cast(Value const& value) - { - typename boost::dispatch::meta:: - dispatch_call const& - ) - >::type callee; - dispatch::meta::as_ const target = {}; - return callee(value, target); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/details/char_helper.hpp b/inst/include/boost/simd/memory/functions/details/char_helper.hpp deleted file mode 100644 index 2f41dbd..0000000 --- a/inst/include/boost/simd/memory/functions/details/char_helper.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_CHAR_HELPER_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_CHAR_HELPER_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - template - struct char_helper_impl - { - typedef T type; - }; - - template - struct char_helper_impl - { - typedef typename char_helper_impl::type const type; - }; - - template<> - struct char_helper_impl - { -#if defined(CHAR_MIN) && (CHAR_MIN != 0) - typedef signed char type; -#else - typedef unsigned char type; -#endif - }; - - template - BOOST_FORCEINLINE typename char_helper_impl::type* - char_helper(T* t) - { - return reinterpret_cast::type*>(t); - } -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/details/check_ptr.hpp b/inst/include/boost/simd/memory/functions/details/check_ptr.hpp deleted file mode 100644 index 220d225..0000000 --- a/inst/include/boost/simd/memory/functions/details/check_ptr.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_CHECK_PTR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_CHECK_PTR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#define BOOST_SIMD_DETAIL_MIN(A, B) (A) < (B) ? (A) : (B) - -#define BOOST_SIMD_DETAILS_CHECK_PTR(Pointer, Alignment) \ -BOOST_ASSERT_MSG( boost::simd::is_aligned \ - ( Pointer \ - , BOOST_SIMD_DETAIL_MIN \ - ( std::size_t(Alignment) \ - , std::size_t(BOOST_SIMD_CONFIG_ALIGNMENT) \ - ) \ - ) \ - , "Unaligned memory location. You tried to access a " \ - "memory location which is not aligned properly with " \ - "respect to current alignment boundaries." \ - ) \ -/**/ - -#define BOOST_SIMD_DETAILS_CHECK_PTR_CVT(Pointer, SIMD, Scalar) \ -BOOST_SIMD_DETAILS_CHECK_PTR( Pointer \ - , BOOST_SIMD_DETAIL_MIN \ - ( sizeof(SIMD) \ - , sizeof(SIMD) * sizeof(Scalar) \ - / sizeof(typename SIMD::value_type)\ - ) \ - ) \ -/**/ - -#endif diff --git a/inst/include/boost/simd/memory/functions/details/load.hpp b/inst/include/boost/simd/memory/functions/details/load.hpp deleted file mode 100644 index 44d4508..0000000 --- a/inst/include/boost/simd/memory/functions/details/load.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -// Helper for load over a fusion sequence. -namespace boost { namespace simd { namespace details -{ - template struct loader; - - template - struct loader - { - loader(A0 const& a0_, A1& a1_, A2 const& a2_) : a0(a0_), a1(a1_), a2(a2_) {} - - template BOOST_FORCEINLINE void operator()() const - { - typedef typename fusion::result_of::value_at_c::type type_t; - typename dispatch:: make_functor::type callee; - - fusion::at_c(a1) = callee( fusion::at_c(a0) - , dispatch::meta::as_() - , a2 - ); - } - - A0 const& a0; - A1 & a1; - A2 const& a2; - - private: - loader& operator=(loader const&); - }; - - template - struct loader - { - loader(A0 const& a0_, A2& a2_) : a0(a0_), a2(a2_) {} - - template BOOST_FORCEINLINE void operator()() const - { - typedef typename fusion::result_of::value_at_c::type type_t; - typename dispatch:: make_functor::type callee; - - fusion::at_c(a2) = callee( fusion::at_c(a0) - , dispatch::meta::as_() - ); - } - - A0 const& a0; - A2 & a2; - - private: - loader& operator=(loader const&); - }; - - template struct inserter - { - inserter( A0 a0_, A1& a1_, A2 a2_ = 0) - : a0(a0_), a1(a1_), a2(a2_) - {} - - template BOOST_FORCEINLINE void operator()() const - { - typedef typename fusion::result_of::at_c::type type; - step(boost::mpl::int_(), typename meta::cardinal_of::type()); - } - - template - BOOST_FORCEINLINE void step(Idx const& idx, Step const&) const - { - insert ( fusion::at(*(a0+a2+Step::value-1)) - , fusion::at(a1) - ); - - step(idx,boost::mpl::size_t()); - } - - template - BOOST_FORCEINLINE void step(Idx const&, boost::mpl::size_t<0> const&) const - { - insert<0> ( fusion::at(*(a0+a2)), fusion::at(a1) ); - } - - A0 a0; - A1& a1; - A2 a2; - - private: - inserter& operator=(inserter const&); - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/details/store.hpp b/inst/include/boost/simd/memory/functions/details/store.hpp deleted file mode 100644 index b53743c..0000000 --- a/inst/include/boost/simd/memory/functions/details/store.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -// Helper for store over a fusion sequence. -namespace boost { namespace simd { namespace details -{ - template struct storer; - - template - struct storer - { - storer( A0 const& a0_, A1 const& a1_, A2 a2_) : a0(a0_), a1(a1_), a2(a2_) {} - - template BOOST_FORCEINLINE void operator()() const - { - typename dispatch::make_functor::type callee; - callee(fusion::at_c(a0), fusion::at_c(a1), a2); - } - - A0 const& a0; - A1 const& a1; - A2 a2; - - private: - storer& operator=(storer const&); - }; - - template - struct storer - { - storer( A0 const& a0_, A1 const& a1_) : a0(a0_), a1(a1_) {} - - template BOOST_FORCEINLINE void operator()() const - { - typename dispatch::make_functor::type callee; - callee(fusion::at_c(a0), fusion::at_c(a1) ); - } - - A0 const& a0; - A1 const& a1; - - private: - storer& operator=(storer const&); - }; - - template struct extractor - { - extractor (A0 const& a0_, A1 a1_, A2 a2_ = 0) - : a0(a0_), a1(a1_+a2_) - {} - - template BOOST_FORCEINLINE void operator()() const - { - typedef typename fusion::result_of::at_c::type type; - step(boost::mpl::int_(), typename meta::cardinal_of::type()); - } - - template - BOOST_FORCEINLINE void step(Idx const& idx, Step const&) const - { - fusion::at_c(*(a1 + Step::value-1)) - = extract(fusion::at_c(a0)); - - step(idx,boost::mpl::size_t()); - } - - template - BOOST_FORCEINLINE void step(Idx const&, boost::mpl::size_t<0> const&) const - { - fusion::at_c(*(a1)) - = extract<0>(fusion::at_c(a0)); - } - - A0 const& a0; - A1 a1; - - private: - extractor& operator=(extractor const&); - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/details/zero_or_false.hpp b/inst/include/boost/simd/memory/functions/details/zero_or_false.hpp deleted file mode 100644 index 97548a8..0000000 --- a/inst/include/boost/simd/memory/functions/details/zero_or_false.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_ZERO_OR_FALSE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_DETAILS_ZERO_OR_FALSE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - template - BOOST_FORCEINLINE - typename boost::disable_if< meta::is_logical, T>::type - Zero_or_False() - { - return Zero(); - } - - template - BOOST_FORCEINLINE - typename boost::enable_if< meta::is_logical, T>::type - Zero_or_False() - { - return False(); - } -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/extract.hpp b/inst/include/boost/simd/memory/functions/extract.hpp deleted file mode 100644 index ad6590d..0000000 --- a/inst/include/boost/simd/memory/functions/extract.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_EXTRACT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief Extract generic tag - - Represents the extract function in generic contexts. - - @par Models: - Hierarchy - **/ - struct extract_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_extract_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_extract_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_extract_; - } - - /*! - @brief Random-access extraction of a value subcomponent - - Extract a sub-element of a given value @c v - - @par Semantic - - Depending on the type of its arguments, extract exhibits different semantics. - For any value @c v of type @c Value and @c o of type @c Offset: - - @code - auto x = extract(v,o); - @endcode - - is equivalent to: - - - If @c Value is a scalar type: - - @code - x = v; - @endcode - - - If @c Value is a SIMD type: - - @code - x = v[o]; - @endcode - - @param value Value to extract - @param offset Position to extract from - - @return The extracted value - **/ - template - BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call::type - extract(Value const& value, Offset const& offset) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - return callee(value,offset); - } - - template - BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const&)>::type - extract(Value const& value) - { - typename boost::dispatch::meta - ::dispatch_call const& - )>::type callee; - boost::mpl::size_t offset; - return callee(value,offset); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/generic/assign.hpp b/inst/include/boost/simd/memory/functions/generic/assign.hpp deleted file mode 100644 index 785fa35..0000000 --- a/inst/include/boost/simd/memory/functions/generic/assign.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_GENERIC_ASSIGN_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_GENERIC_ASSIGN_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0) - , (generic_ >) - (generic_ >) - ) - { - typedef A0& result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, const A0& a1) const - { - return a0 = a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0)(A1) - , (proxy_) - (unspecified_) - ) - { - typedef A1& result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, const A1& a1) const - { - a0 = a1; - return a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/generic/bitwise_cast.hpp b/inst/include/boost/simd/memory/functions/generic/bitwise_cast.hpp deleted file mode 100644 index ee1a44a..0000000 --- a/inst/include/boost/simd/memory/functions/generic/bitwise_cast.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_GENERIC_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_GENERIC_BITWISE_CAST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ -#ifdef BOOST_SIMD_NO_STRICT_ALIASING - - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_cast_, tag::cpu_, (A0)(A1) - , (mpl::not_< is_same >) - , (generic_< unspecified_ >) - (target_< generic_< unspecified_ > >) - ) - { - typedef typename A1::type const& result_type; - - BOOST_MPL_ASSERT_MSG - ( (sizeof(A0) == sizeof(typename A1::type)) - , BOOST_SIMD_TARGET_IS_NOT_SAME_SIZE_AS_SOURCE_IN_BITWISE_CAST - , (A0&,typename A1::type&) - ); - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return reinterpret_cast(a0); - } - }; - -#else - - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_cast_, tag::cpu_, (A0)(A1) - , (mpl::not_< is_same >) - , (generic_< unspecified_ >) - (target_< generic_< unspecified_ > >) - ) - { - typedef typename A1::type result_type; - - BOOST_MPL_ASSERT_MSG - ( (sizeof(A0) == sizeof(typename A1::type)) - , BOOST_SIMD_TARGET_IS_NOT_SAME_SIZE_AS_SOURCE_IN_BITWISE_CAST - , (A0&,typename A1::type&) - ); - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - result_type that; - std::memcpy(&that, &a0, sizeof(a0)); - return that; - } - }; - -#endif - - BOOST_DISPATCH_REGISTER_TO_IF(bitwise_cast_, tag::cpu_, (A0)(A1) - , (is_same) - , (generic_< unspecified_ >) - (target_< generic_< unspecified_ > >) - , dispatch::identity - ) - -} } } -#endif diff --git a/inst/include/boost/simd/memory/functions/insert.hpp b/inst/include/boost/simd/memory/functions/insert.hpp deleted file mode 100644 index d4408f4..0000000 --- a/inst/include/boost/simd/memory/functions/insert.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_INSERT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief insert generic tag - - Represents the insert function in generic contexts. - - @par Models: - Hierarchy - **/ - struct insert_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_insert_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_insert_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_insert_; - } - - /*! - @brief Generic value insertion for SIMD types - - Modify the value of the nth element of a mutable data. - - @par Semantic - - Depending on the type of its arguments, insert exhibits different semantics. - For any value @c v of type @c Value, @c d of type @c Data and @c o of - type @c Offset: - - @code - insert(v,d,o); - @endcode - - is equivalent to: - - - If @c Type is a scalar type: - - @code - d = v; - @endcode - - - If @c Type is a SIMD type: - - @code - d[o] = v; - @endcode - - @param value Value to insert - @param data Data to insert into - @param offset Position where to insert - - @return The modified data - **/ - template - BOOST_FORCEINLINE - void insert(Value const& value, Data& data, Offset const& offset) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - callee(value,data,offset); - } - - template - BOOST_FORCEINLINE - void insert(Value const& value, Data& data) - { - typename boost::dispatch::meta - ::dispatch_call const& - )>::type callee; - boost::mpl::size_t offset; - callee(value,data,offset); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/load.hpp b/inst/include/boost/simd/memory/functions/load.hpp deleted file mode 100644 index 380b7d5..0000000 --- a/inst/include/boost/simd/memory/functions/load.hpp +++ /dev/null @@ -1,127 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_LOAD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief load generic tag - - Represents the load function in generic contexts. - - @par Models: - Hierarchy - **/ - struct load_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_load_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_load_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_load_; - } - - /*! - @brief Load data from an arbitrary memory location - - Retrieves data from a pointer and an offset using the most efficient - operations and register types for the chosen destination type. - - @par Semantic - - load semantic is similar to aligned_load semantic except for the fact that - memory location doesn't need to be aligned. - - @tparam Type Type of data to load from memory - - @param ptr Memory location to load data from. - @param offset Optional memory offset. Can be either a scalar or a SIMD type - of same cardinal than the target type (gather). - @param mask Optional logical mask. Only loads values for which the mask is true. - @param old Optional. Returns the corresponding - entry from old if the mask is set to false. Default is zero. - @return A value of type @c Type loaded from target memory block - **/ - template - BOOST_FORCEINLINE Type - load(Pointer const& ptr,Offset const& offset ) - { - typename boost::dispatch::meta - ::dispatch_call const - , Offset const& - )>::type callee; - return callee(ptr,boost::dispatch::meta::as_(),offset); - } - - /// @overload - template - BOOST_FORCEINLINE Type load(Pointer const& ptr) - { - typename boost::dispatch::meta - ::dispatch_call const - )>::type callee; - return callee(ptr,boost::dispatch::meta::as_()); - } - - /// @overload for mask load - template - BOOST_FORCEINLINE Type - load(Pointer const& ptr, Mask const& mask, Old const& old) - { - typename boost::dispatch::meta - ::dispatch_call const - , Mask const& - , Old const& - )>::type callee; - return callee(ptr,boost::dispatch::meta::as_(),mask,old); - } - - /// @overload for mask gather - template - BOOST_FORCEINLINE Type - load(Pointer const& ptr, Offset const& offset, Mask const& mask, Old const& old) - { - typename boost::dispatch::meta - ::dispatch_call const - , Offset const& - , Mask const& - , Old const& - )>::type callee; - return callee(ptr,boost::dispatch::meta::as_(),offset,mask,old); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/make.hpp b/inst/include/boost/simd/memory/functions/make.hpp deleted file mode 100644 index 412c36c..0000000 --- a/inst/include/boost/simd/memory/functions/make.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_MAKE_HPP_INCLUDED -#include -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief make generic tag - - Represents the make function in generic contexts. - - @par Models: - Hierarchy - **/ - struct make_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_make_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_make_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_make_; - } -} } - -namespace boost { namespace dispatch -{ - /* We specialize functor directly due to arity limitations, and we only dispatch on the target. - * We also avoid having to dispatch return type deduction, and we cast all arguments to the scalar - * matching the target. */ - template - struct functor - { - template - struct result; - - #define M1(z,n,t) static_cast::type>(a##n) - - #define M0(z,n,t) \ - template \ - struct result \ - : meta::strip::type \ - { \ - }; \ - \ - template \ - typename Target::type BOOST_FORCEINLINE \ - operator()(BOOST_PP_ENUM_BINARY_PARAMS(n, A, const& a), Target const&) const \ - { \ - typename meta::dispatch_call::type callee; \ - return callee(BOOST_PP_ENUM(n, M1, ~)); \ - } - - BOOST_SIMD_PP_REPEAT_POWER_OF_2(M0, ~) - #undef M0 - #undef M1 - }; -} } - -namespace boost { namespace simd -{ - #define M0(z,n,t) \ - template BOOST_FORCEINLINE \ - T make(BOOST_PP_ENUM_BINARY_PARAMS(n, A, const& a)) \ - { \ - typename boost::dispatch::make_functor::type callee; \ - return callee(BOOST_PP_ENUM_PARAMS(n, a), boost::dispatch::meta::as_()); \ - } - - BOOST_SIMD_PP_REPEAT_POWER_OF_2(M0, ~) - #undef M0 -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/aligned_load.hpp b/inst/include/boost/simd/memory/functions/pack/aligned_load.hpp deleted file mode 100644 index 5398939..0000000 --- a/inst/include/boost/simd/memory/functions/pack/aligned_load.hpp +++ /dev/null @@ -1,123 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - Load pack with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A1)(A2) - , (iterator_< unspecified_ >) - ((target_ < ast_< A1 - , boost::simd::domain - > - > - )) - (scalar_< integer_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&, A2 const& a2) const - { - return boost::simd::aligned_load(a0, a2); - } - }; - - /// INTERNAL ONLY - Load pack with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , (iterator_< unspecified_ >) - ((target_ < ast_< A1 - , boost::simd::domain - > - > - )) - ((simd_< integer_, X >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&, A2 const& a2) const - { - return boost::simd::aligned_load(a0, a2); - } - }; - - /// INTERNAL ONLY - Load pack without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2) - , (iterator_< unspecified_ >) - ((target_ < ast_< A2 - , boost::simd::domain - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A2 const&) const - { - return boost::simd::aligned_load(a0); - } - }; - - /// INTERNAL ONLY - Load misaligned pack with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3) - , (iterator_< unspecified_ >) - ((target_< ast_ >)) - (scalar_< integer_ >) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2, A3 const&) const - { - return boost::simd::aligned_load< typename result_type::data_type - , A3::value - >(a0,a2); - } - }; - - /// INTERNAL ONLY - Load misaligned pack without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ , tag::cpu_ - , (A0)(A2)(A3) - , (iterator_< unspecified_ >) - ((target_< ast_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A2 const&, A3 const&) const - { - return boost::simd::aligned_load< typename result_type::data_type - , A3::value - >(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/aligned_store.hpp b/inst/include/boost/simd/memory/functions/pack/aligned_store.hpp deleted file mode 100644 index 9e6924e..0000000 --- a/inst/include/boost/simd/memory/functions/pack/aligned_store.hpp +++ /dev/null @@ -1,139 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_ALIGNED_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY pack store with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 a2) const - { - boost::simd::aligned_store(evaluate(a0),a1,a2); - } - }; - - /// INTERNAL ONLY mask pack store with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X)(Tag)(Arity) - , ((ast_)) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - ((expr_ < simd_< logical_, X > - , Tag, Arity - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2, A3 const& a3) const - { - boost::simd::aligned_store(evaluate(a0),a1,a2,evaluate(a3)); - } - }; - - /// INTERNAL ONLY pack scatter - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , ((ast_)) - (iterator_< unspecified_ >) - ((simd_< integer_, X >)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - boost::simd::aligned_store(evaluate(a0),a1,a2); - } - }; - - /// INTERNAL ONLY mask pack scatter - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X)(Tag)(Arity) - , ((ast_)) - (iterator_< unspecified_ >) - ((simd_< integer_, X >)) - ((expr_ < simd_< logical_, X > - , Tag, Arity - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2, A3 const& a3) const - { - boost::simd::aligned_store(evaluate(a0),a1,a2,evaluate(a3)); - } - }; - - /// INTERNAL ONLY pack store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1) - , ((ast_)) - (iterator_< unspecified_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - boost::simd::aligned_store(evaluate(a0),a1); - } - }; - - /// INTERNAL ONLY mask pack store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(A2)(X)(Tag)(Arity) - , ((ast_)) - (iterator_< unspecified_ >) - ((expr_ < simd_< logical_, X > - , Tag, Arity - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - boost::simd::aligned_store(evaluate(a0),a1,evaluate(a2)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/extract.hpp b/inst/include/boost/simd/memory/functions/pack/extract.hpp deleted file mode 100644 index a284aef..0000000 --- a/inst/include/boost/simd/memory/functions/pack/extract.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_EXTRACT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( extract_ - , tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef typename A0::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - return extract(evaluate(a0),a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( extract_ - , tag::cpu_ - , (A0)(A1)(Tag) - , ((node_ < A0, Tag - , boost::mpl::long_<0> - , boost::simd::domain - > - )) - (scalar_< integer_ >) - ) - { - typedef typename A0::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - return a0[a1]; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/insert.hpp b/inst/include/boost/simd/memory/functions/pack/insert.hpp deleted file mode 100644 index cd3df00..0000000 --- a/inst/include/boost/simd/memory/functions/pack/insert.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_INSERT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( insert_ - , tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< unspecified_ >) - ((node_ < A1 - , boost::simd::tag::terminal_ - , boost::mpl::long_<0> - , boost::simd::domain - > - )) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1& a1, A2 a2) const - { - a1[a2] = a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/load.hpp b/inst/include/boost/simd/memory/functions/pack/load.hpp deleted file mode 100644 index 432148b..0000000 --- a/inst/include/boost/simd/memory/functions/pack/load.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - pack load without offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A2) - , (iterator_< scalar_< fundamental_ > >) - ((target_ < ast_< A2 - , boost::simd::domain - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A2 const&) const - { - return boost::simd::load(a0); - } - }; - - /// INTERNAL ONLY - pack load with offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , (iterator_< scalar_< fundamental_ > >) - ((target_ < ast_< A1 - , boost::simd::domain - > - > - )) - ((simd_< integer_, X >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&, A2 const& a2) const - { - return boost::simd::load(a0,a2); - } - }; - - /// INTERNAL ONLY - pack load with offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2) - , (iterator_< scalar_< fundamental_ > >) - ((target_ < ast_< A1 - , boost::simd::domain - > - > - )) - (scalar_< integer_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&, A2 const& a2) const - { - return boost::simd::load(a0,a2); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/make.hpp b/inst/include/boost/simd/memory/functions/pack/make.hpp deleted file mode 100644 index 2ad63d9..0000000 --- a/inst/include/boost/simd/memory/functions/pack/make.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_MAKE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -// make forces evaluation due to arity limitations -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( make_ , tag::cpu_ - , (Target) - , ((target_< ast_ >)) - ) - { - typedef typename Target::type result_type; - - typedef typename boost::dispatch::meta:: - semantic_of::type vtype; - typedef typename meta::scalar_of::type stype; - - #define M0(z,n,t) \ - BOOST_FORCEINLINE result_type \ - operator()(BOOST_PP_ENUM_PARAMS(n, stype const& a)) const \ - { \ - return make(BOOST_PP_ENUM_PARAMS(n, a)); \ - } \ - /**/ - BOOST_SIMD_PP_REPEAT_POWER_OF_2(M0, ~) - - #undef M0 - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/slide.hpp b/inst/include/boost/simd/memory/functions/pack/slide.hpp deleted file mode 100644 index 5934643..0000000 --- a/inst/include/boost/simd/memory/functions/pack/slide.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_SLIDE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( slide_ - , tag::cpu_ - , (A0)(N) - , ((ast_)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, N const&) const - { - return slide( evaluate(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( slide_ - , tag::cpu_ - , (A0)(A1)(N) - // , (( - // boost::is_same - // < typename meta::scalar_of::type - // , typename meta::scalar_of::type - // > - // // , boost::mpl::bool_ - // // < typename A0::static_size - // // == typename A1::static_size - // // > - - // )) - , ((ast_)) - ((ast_)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const& a1, N const&) const - { - return slide( evaluate(a0), evaluate(a1) ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/splat.hpp b/inst/include/boost/simd/memory/functions/pack/splat.hpp deleted file mode 100644 index 4b12d19..0000000 --- a/inst/include/boost/simd/memory/functions/pack/splat.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splat_ , tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_< ast_ >)) - ) - { - typedef typename proto::domain_of::type domain; - typedef dispatch::meta:: - as_::type - > value; - - typedef typename proto::result_of:: - make_expr::type - result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const&) const - { - return boost::proto::detail:: - make_expr_()(a0, value()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/store.hpp b/inst/include/boost/simd/memory/functions/pack/store.hpp deleted file mode 100644 index b919426..0000000 --- a/inst/include/boost/simd/memory/functions/pack/store.hpp +++ /dev/null @@ -1,142 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY pack store with offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (iterator_< scalar_< fundamental_ > >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - boost::simd::store(evaluate(a0),a1,a2); - } - }; - - /// INTERNAL ONLY masked pack store with offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X)(Tag)(Arity) - , ((ast_)) - (iterator_< scalar_< fundamental_ > >) - (scalar_< integer_ >) - ((expr_ < simd_< logical_, X > - , Tag, Arity - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2, const A3& a3) const - { - boost::simd::store(evaluate(a0),a1,a2,evaluate(a3)); - } - }; - - /// INTERNAL ONLY pack scatter - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , ((ast_)) - (iterator_< scalar_< fundamental_ > >) - ((simd_< integer_, X >)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - boost::simd::store(evaluate(a0),a1,a2); - } - }; - - /// INTERNAL ONLY mask pack scatter - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X)(Tag)(Arity) - , ((ast_)) - (iterator_< scalar_< fundamental_ > >) - ((simd_< integer_, X >)) - ((expr_ < simd_< logical_, X > - , Tag, Arity - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2, const A3& a3) const - { - boost::simd::store(evaluate(a0),a1,a2,evaluate(a3)); - } - }; - - - /// INTERNAL ONLY pack store without offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1) - , ((ast_)) - (iterator_< scalar_< fundamental_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1) const - { - boost::simd::store(evaluate(a0),a1); - } - }; - - /// INTERNAL ONLY mask pack store without offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(X)(Tag)(Arity) - , ((ast_)) - (iterator_< scalar_< fundamental_ > >) - ((expr_ < simd_< logical_, X > - , Tag, Arity - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - boost::simd::store(evaluate(a0),a1,evaluate(a2)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/pack/stream.hpp b/inst/include/boost/simd/memory/functions/pack/stream.hpp deleted file mode 100644 index 7dfec6a..0000000 --- a/inst/include/boost/simd/memory/functions/pack/stream.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_PACK_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_PACK_STREAM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY pack stream with offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (iterator_< scalar_< fundamental_ > >) - (generic_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - boost::simd::stream(evaluate(a0),a1,a2); - } - }; - - /// INTERNAL ONLY pack stream without offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , tag::cpu_ - , (A0)(A1) - , ((ast_)) - (iterator_< scalar_< fundamental_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - boost::simd::stream(evaluate(a0),a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/aligned_load.hpp b/inst/include/boost/simd/memory/functions/scalar/aligned_load.hpp deleted file mode 100644 index 6b1485e..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/aligned_load.hpp +++ /dev/null @@ -1,276 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - Regular scalar load with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ , tag::cpu_ - , (A0)(A1)(A2) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2) const - { - return *(a0+a2); - } - }; - - /// INTERNAL ONLY - masked scalar load with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(A4) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< integer_ >) - (scalar_< fundamental_ >) - (unspecified_) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2, A3 const& a3, A4 const& a4) const - { - return (a3 ? *(a0+a2) : a4); - } - }; - - - /// INTERNAL ONLY - masked scalar load with offset, zero - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< integer_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2, A3 const& a3) const - { - return aligned_load(a0,a2,a3,result_type(0)); - } - }; - - /// INTERNAL ONLY - Regular scalar load without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ , tag::cpu_ - , (A0)(A2) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A2 const&) const - { - return *a0; - } - }; - - /// INTERNAL ONLY - masked regular scalar load without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< fundamental_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2, A3 const& a3) const - { - return (a2 ? *a0 : a3); - } - }; - - /// INTERNAL ONLY - masked regular scalar load without offset, zero - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A1)(A2) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2) const - { - return aligned_load(a0,a2,result_type(0)); - } - }; - - /// INTERNAL ONLY - scalar load with misalignment and offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ , tag::cpu_ - , (A0)(A1)(A2)(A3) - , (iterator_< unspecified_ >) - (target_< scalar_< unspecified_ > >) - (scalar_< integer_ >) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2, A3 const&) const - { - return *(a0+a2); - } - }; - - /// INTERNAL ONLY - masked scalar load with misalignment and offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ , tag::cpu_ - , (A0)(A1)(A2)(A3)(A4)(A5) - , (iterator_< unspecified_ >) - (target_< scalar_< unspecified_ > >) - (scalar_< integer_ >) - (mpl_integral_< scalar_< integer_ > >) - (scalar_< fundamental_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2, A3 const&, A4 const& a4, A5 const& a5) const - { - return a4 ? *(a0+a2) : a5; - } - }; - - /// INTERNAL ONLY - masked scalar load with misalignment and offset, masked - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ , tag::cpu_ - , (A0)(A1)(A2)(A3)(A4) - , (iterator_< unspecified_ >) - (target_< scalar_< unspecified_ > >) - (scalar_< integer_ >) - (mpl_integral_< scalar_< integer_ > >) - (scalar_< fundamental_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2, A3 const&, A4 const& a4) const - { - return aligned_load(a0,a2,a4,result_type(0)); - } - }; - - /// INTERNAL ONLY - scalar load with misalignment and without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A2 const&, A3 const&) const - { - return *a0; - } - }; - - /// INTERNAL ONLY - masked scalar load with misalignment and without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(A4)(A5) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (mpl_integral_< scalar_< integer_ > >) - (scalar_< fundamental_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A2 const&, A3 const&, A4 const& a4, A5 const& a5) const - { - return a4 ? *a0 : a5; - } - }; - - /// INTERNAL ONLY - masked scalar load with misalignment and without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(A4) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (mpl_integral_< scalar_< integer_ > >) - (scalar_< fundamental_ >) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A2 const&, A3 const&, A4 const& a4) const - { - return aligned_load(a0,a4,result_type(0)); - } - }; - - /// INTERNAL ONLY - Scalar FusionSequence load with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2) - , (fusion_sequence_) - ((target_< fusion_sequence_ >)) - (generic_< integer_ >) - ) - { - BOOST_DISPATCH_RETURNS_ARGS ( 3 - , (A0 const& a0, A1 const& a1, A2 const& a2) - , (A0 const& a0, A1 const&, A2 a2 ) - , boost::simd::load(a0,a2) - ); - }; - - /// INTERNAL ONLY - Scalar FusionSequence load without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A2) - , (fusion_sequence_) - ((target_< fusion_sequence_ >)) - ) - { - BOOST_DISPATCH_RETURNS_ARGS ( 2 - , (A0 const& a0, A2 const& a2) - , (A0 const& a0, A2 const& ) - , boost::simd::load(a0) - ); - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/aligned_store.hpp b/inst/include/boost/simd/memory/functions/scalar/aligned_store.hpp deleted file mode 100644 index 6119f22..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/aligned_store.hpp +++ /dev/null @@ -1,127 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_ALIGNED_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - masked Regular scalar store with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_, tag::cpu_ - , (A0)(A1)(A2)(A3) - , (unspecified_) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - (scalar_< fundamental_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 a2, A3 const& a3) const - { - if (a3) - *(a1+a2) = a0; - } - }; - - /// INTERNAL ONLY - Regular scalar store with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_, tag::cpu_ - , (A0)(A1)(A2) - , (unspecified_) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 a2) const - { - *(a1+a2) = a0; - } - }; - - /// INTERNAL ONLY - mask Regular scalar store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_, tag::cpu_ - , (A0)(A1)(A2) - , (unspecified_) - (iterator_< unspecified_ >) - (scalar_< fundamental_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - if (a2) - *a1 = a0; - } - }; - - /// INTERNAL ONLY - Regular scalar store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (iterator_< unspecified_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1) const - { - *a1 = a0; - } - }; - - /// INTERNAL ONLY - Fusion sequence store with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_, tag::cpu_ - , (A0)(A1)(A2) - , (fusion_sequence_) - (fusion_sequence_) - (generic_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1, A2 a2) const - { - boost::simd::store(a0,a1,a2); - } - }; - - /// INTERNAL ONLY - Fusion sequence store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - (fusion_sequence_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1) const - { - boost::simd::store(a0,a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/extract.hpp b/inst/include/boost/simd/memory/functions/scalar/extract.hpp deleted file mode 100644 index ebd0175..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/extract.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_EXTRACT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( extract_ - , tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/insert.hpp b/inst/include/boost/simd/memory/functions/scalar/insert.hpp deleted file mode 100644 index 730c4f1..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/insert.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_INSERT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( insert_ - , tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1& a1, A2) const - { - a1 = a0; - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( insert_ - , tag::cpu_ - , (A0)(A1)(A2) - , (fusion_sequence_) - (fusion_sequence_) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2) const - { - a1 = a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/load.hpp b/inst/include/boost/simd/memory/functions/scalar/load.hpp deleted file mode 100644 index 727c2fb..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/load.hpp +++ /dev/null @@ -1,221 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 a2) const - { - return load(a0+a2); - } - }; - - /// INTERNAL ONLY - masked scalar load offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(A4) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< integer_ >) - (scalar_< fundamental_ >) - (unspecified_) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 a2, A3 const& a3, A4 const& a4 ) const - { - return load(a0+a2,a3,a4); - } - }; - - /// INTERNAL ONLY - masked scalar load offset, zero - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< integer_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 a2, A3 const& a3 ) const - { - return load(a0+a2,a3,result_type(0)); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&) const { return *a0; } - }; - - /// INTERNAL ONLY - masked scalar load, zero - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2 ) const - { - return load(a0,a2,result_type(0)); - } - }; - - /// INTERNAL ONLY - masked scalar load - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3) - , (iterator_< unspecified_ >) - (target_< unspecified_ >) - (scalar_< fundamental_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, A2 const& a2, A3 const& a3 ) const - { - return (a2 ? *a0 : a3); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2) - , (fusion_sequence_) - ((target_< fusion_sequence_ >)) - (generic_< integer_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const&, A2 const& a2) const - { - result_type that; - meta::iterate < fusion::result_of::size::type::value> - ( details::loader < boost::simd:: - tag::load_(A0, result_type, A2) - >(a0, that, a2) - ); - return that; - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A2) - , (fusion_sequence_) - ((target_< fusion_sequence_ >)) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A2 const&) const - { - result_type that; - meta::iterate < fusion::result_of::size::type::value> - ( details::loader < boost::simd:: - tag::load_(A0, result_type) - >(a0, that) - ); - return that; - } - }; - - /// INTERNAL ONLY - Load through pointer of fusion sequence - BOOST_DISPATCH_IMPLEMENT_IF ( load_ - , tag::cpu_ - , (A0)(A1)(A2) - , (mpl::not_< simd::meta::is_native >) - , (iterator_< fusion_sequence_ >) - (target_< fusion_sequence_ >) - (scalar_< integer_ >) - ) - { - typedef typename A1::type result_type; - inline result_type operator()(const A0& a0, const A1&, const A2& a2) const - { - result_type that; - - static const int N = fusion::result_of::size::type::value; - meta::iterate( details::inserter(a0,that,a2) ); - - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( load_ - , tag::cpu_ - , (A0)(A2) - , (mpl::not_< simd::meta::is_native >) - , (iterator_< fusion_sequence_ >) - (target_< fusion_sequence_ >) - ) - { - typedef typename A2::type result_type; - inline result_type operator()(const A0& a0, const A2&) const - { - result_type that; - - static const int N = fusion::result_of::size::type::value; - meta::iterate( details::inserter(a0,that) ); - - return that; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/make.hpp b/inst/include/boost/simd/memory/functions/scalar/make.hpp deleted file mode 100644 index f7ee700..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/make.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_MAKE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( make_, tag::cpu_ - , (A0) - , (target_< scalar_< fundamental_ > >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return a0; } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/slide.hpp b/inst/include/boost/simd/memory/functions/scalar/slide.hpp deleted file mode 100644 index 6448b9e..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/slide.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_SLIDE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::cpu_ - , (A0)(N) - , (scalar_< arithmetic_ >) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, N const&) const - { - return N::value==0 ? a0 : 0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::cpu_ - , (A0)(N) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A0 a1, N const&) const - { - return N::value == 1 ? a1 : ( (N::value == -1 || !N::value) ? a0 : 0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/splat.hpp b/inst/include/boost/simd/memory/functions/scalar/splat.hpp deleted file mode 100644 index 4a9e17e..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/splat.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_SPLAT_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splat_ , tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (target_< scalar_< unspecified_ > >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1&) const - { - return static_cast(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/sse2/stream.hpp b/inst/include/boost/simd/memory/functions/scalar/sse2/stream.hpp deleted file mode 100644 index b35e2f6..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/sse2/stream.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_SSE2_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_SSE2_STREAM_HPP_INCLUDED -#if defined(BOOST_SIMD_HAS_SSE2_SUPPORT) - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - Integer stream with offset - BOOST_DISPATCH_IMPLEMENT ( stream_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< ints32_ >) - (iterator_< scalar_< unspecified_ > >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 a1, A2 a2) const - { - _mm_stream_si32(reinterpret_cast(a1+a2), static_cast(a0)); - } - }; - - /// INTERNAL ONLY - Integer stream without offset - BOOST_DISPATCH_IMPLEMENT ( stream_, tag::cpu_ - , (A0)(A1) - , (scalar_< ints32_ >) - (iterator_< scalar_< unspecified_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 a1) const - { - _mm_stream_si32(reinterpret_cast(a1), static_cast(a0)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/store.hpp b/inst/include/boost/simd/memory/functions/scalar/store.hpp deleted file mode 100644 index 57a3311..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/store.hpp +++ /dev/null @@ -1,173 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - Scalar store and store are equivalent - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2) - , (unspecified_) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 a2) const - { - *(a1+a2) = a0; - } - }; - - /// INTERNAL ONLY - Scalar store and store are equivalent - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1) - , (unspecified_) - (iterator_< unspecified_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - *a1 = a0; - } - }; - - /// INTERNAL ONLY - scalar masked store - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2) - , (unspecified_) - (iterator_< unspecified_ >) - (scalar_< fundamental_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - if (a2) - *a1 = a0; - } - }; - - /// INTERNAL ONLY - Scalar masked offset store - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(A3) - , (unspecified_) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - (scalar_< fundamental_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 a2, A3 const& a3) const - { - if (a3) - *(a1+a2) = a0; - } - }; - - /// INTERNAL ONLY - Fusion sequence store with offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2) - , (fusion_sequence_) - (fusion_sequence_) - (generic_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1, A2 a2) const - { - meta::iterate < fusion::result_of::size::type::value> - ( details::storer < boost::simd:: - tag::store_(A0, A1, A2) - >(a0, a1, a2) - ); - } - }; - - /// INTERNAL ONLY - Scalar store and store are equivalent - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - (fusion_sequence_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1) const - { - meta::iterate < fusion::result_of::size::type::value> - ( details::storer < boost::simd:: - tag::store_(A0, A1) - >(a0, a1) - ); - } - }; - - /// Handles store( seq, seq'*) - BOOST_DISPATCH_IMPLEMENT_IF ( store_ - , tag::cpu_ - , (A0)(A1) - , (mpl::not_< simd::meta::is_native >) - , (fusion_sequence_) - (iterator_< fusion_sequence_ >) - ) - { - typedef void result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - static const int N = fusion::result_of::size::type::value; - meta::iterate( details::extractor(a0,a1) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( store_ - , tag::cpu_ - , (A0)(A1)(A2) - , (mpl::not_< simd::meta::is_native >) - , (fusion_sequence_) - (iterator_< fusion_sequence_ >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - BOOST_SIMD_FUNCTOR_CALL(3) - { - static const int N = fusion::result_of::size::type::value; - meta::iterate( details::extractor(a0,a1,a2) ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/scalar/stream.hpp b/inst/include/boost/simd/memory/functions/scalar/stream.hpp deleted file mode 100644 index d3778d9..0000000 --- a/inst/include/boost/simd/memory/functions/scalar/stream.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SCALAR_STREAM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - Scalar stream and store are equivalent - BOOST_DISPATCH_IMPLEMENT ( stream_ - , tag::cpu_ - , (A0)(A1)(A2) - , (unspecified_) - (iterator_< scalar_< unspecified_ > >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1, A2 a2) const - { - boost::simd::aligned_store(a0,a1,a2); - } - }; - - /// INTERNAL ONLY - Scalar stream and store are equivalent - BOOST_DISPATCH_IMPLEMENT ( stream_ - , tag::cpu_ - , (A0)(A1) - , (unspecified_) - (iterator_< scalar_< unspecified_ > >) - ) - { - - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - boost::simd::aligned_store(a0,a1); - } - }; - - /// INTERNAL ONLY - Fusion sequence stream with offset - BOOST_DISPATCH_IMPLEMENT ( stream_, tag::cpu_ - , (A0)(A1)(A2) - , (fusion_sequence_) - (fusion_sequence_) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1, A2 a2) const - { - meta::iterate < fusion::result_of::size::type::value> - ( details::storer < boost::simd:: - tag::stream_(A0, A1, A2) - >(a0, a1, a2) - ); - } - }; - - /// INTERNAL ONLY - Fusion sequence stream without offset - BOOST_DISPATCH_IMPLEMENT ( stream_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - (fusion_sequence_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1) const - { - meta::iterate < fusion::result_of::size::type::value> - ( details::storer < boost::simd:: - tag::stream_(A0, A1) - >(a0, a1) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/aligned_load.hpp b/inst/include/boost/simd/memory/functions/simd/common/aligned_load.hpp deleted file mode 100644 index 572f7b5..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/aligned_load.hpp +++ /dev/null @@ -1,535 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - Regular SIMD mask load with offset, zero - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(A3)(X) - , (iterator_ >) - ((target_< simd_,X> >)) - (scalar_< integer_ >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,A1 const&,const A2& a2, const A3& a3) const - { - return aligned_load(a0+a2,a3); - } - }; - - /// INTERNAL ONLY - Regular SIMD mask load with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(A3)(A4)(X) - , (iterator_ >) - ((target_< simd_,X> >)) - (scalar_< integer_ >) - ((simd_< logical_ - , X - > - )) - ((simd_< unspecified_, X>)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,A1 const&,const A2& a2, const A3& a3, const A4& a4) const - { - return aligned_load(a0+a2,a3,a4); - } - }; - - /// INTERNAL ONLY - Regular SIMD load with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(X) - , (iterator_ >) - ((target_< simd_,X> >)) - (scalar_< integer_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,A1 const& ,const A2& a2) const - { - return aligned_load(a0+a2); - } - }; - - /// INTERNAL ONLY - Misaligned mask load with offset, zero - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(A3)(A4)(X) - , (iterator_ > >) - ((target_, X> >)) - (scalar_ >) - (mpl_integral_ > >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, const A2& a2, const A3&, const A4& a4) const - { - return boost::simd::aligned_load( a0+a2, a4); - } - }; - - /// INTERNAL ONLY - Misaligned mask load with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(A3)(A4)(A5)(X) - , (iterator_ > >) - ((target_, X> >)) - (scalar_ >) - (mpl_integral_ > >) - ((simd_< logical_ - , X - > - )) - ((simd_< unspecified_, X>)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, const A2& a2, const A3&, const A4& a4, const A5& a5) const - { - return boost::simd::aligned_load( a0+a2, a4, a5 ); - } - }; - - /// INTERNAL ONLY - Misaligned load with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(A3)(X) - , (iterator_ > >) - ((target_, X> >)) - (scalar_ >) - (mpl_integral_ > >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A1 const&, const A2& a2, const A3&) const - { - return boost::simd::aligned_load( a0+a2 ); - } - }; - - /// INTERNAL ONLY - Regular SIMD mask load without offset, mask - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(X) - , (iterator_< scalar_ > >) - ((target_< simd_,X> >)) - ((simd_< logical_ - , X - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,const A2&, const A3& a3) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a0, result_type, typename std::iterator_traits::value_type); - return load(a0, a3, Zero()); - } - }; - - /// INTERNAL ONLY - Regular SIMD mask load without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(A4)(X) - , (iterator_< scalar_ > >) - ((target_< simd_,X> >)) - ((simd_< logical_ - , X - > - )) - ((simd_< unspecified_, X>)) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,const A2&, const A3& a3, const A4& a4) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a0, result_type, typename std::iterator_traits::value_type); - return load(a0, a3, a4); - } - }; - - /// INTERNAL ONLY - Regular SIMD load without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(X) - , (iterator_< scalar_ > >) - ((target_< simd_,X> >)) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,const A2&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a0, result_type, typename std::iterator_traits::value_type); - return load(a0); - } - }; - -/// INTERNAL ONLY - SIMD mask load with misalignment without offset, zero - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(A4)(X) - , (iterator_< scalar_< arithmetic_ > >) - ((target_, X > >)) - (mpl_integral_< scalar_< integer_ > >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A2&, const A3&, const A4& a4) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a0-A3::value, result_type, typename std::iterator_traits::value_type); - return load(a0, a4, Zero()); - } - }; - - /// INTERNAL ONLY - SIMD mask load with misalignment without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(A4)(A5)(X) - , (iterator_< scalar_< arithmetic_ > >) - ((target_, X > >)) - (mpl_integral_< scalar_< integer_ > >) - ((simd_< logical_ - , X - > - )) - ((simd_< unspecified_, X>)) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A2&, const A3&, const A4& a4, const A5& a5) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a0-A3::value, result_type, typename std::iterator_traits::value_type); - return load(a0, a4, a5); - } - }; - - /// INTERNAL ONLY - SIMD load with misalignment without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(X) - , (iterator_< scalar_< arithmetic_ > >) - ((target_, X > >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A2&, const A3&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a0-A3::value, result_type, typename std::iterator_traits::value_type); - return load(a0); - } - }; - - /// INTERNAL ONLY - SIMD mask load with gather - gather means SIMD offset, zero - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(A3)(X)(Y) - , ( mpl::equal_to - < boost::simd::meta - ::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , (iterator_< unspecified_ >) - ((target_,Y> >)) - ((simd_< integer_, X >)) - ((simd_< logical_ - , X - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, const A1&, const A2& a2, const A3& a3) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a0, result_type, typename std::iterator_traits::value_type); - return load(a0, a2, a3, details::Zero_or_False()); - } - }; - - /// INTERNAL ONLY - SIMD mask load with gather - gather means SIMD offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(A3)(A4)(X)(Y) - , ( mpl::equal_to - < boost::simd::meta - ::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , (iterator_< unspecified_ >) - ((target_,Y> >)) - ((simd_< fundamental_, X >)) - ((simd_< logical_ - , X - > - )) - ((simd_< unspecified_, X>)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, const A1&, const A2& a2, const A3& a3, const A4& a4) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a0, result_type, typename std::iterator_traits::value_type); - return load(a0, a2, a3, a4); - } - }; - - /// INTERNAL ONLY - SIMD load with gather - gather means SIMD offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(X)(Y) - , ( mpl::equal_to - < boost::simd::meta - ::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , (iterator_< unspecified_ >) - ((target_,Y> >)) - ((simd_< fundamental_, X >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, const A1&, const A2& a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a0, result_type, typename std::iterator_traits::value_type); - return load(a0, a2); - } - }; - - // INTERNAL ONLY - SIMD mask load for deinterlacing or logical, mask - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(X) - , (iterator_ >) - ((target_< simd_,X> >)) - ((simd_< logical_ - , X - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,const A2&, const A3& a3) const - { - return load(a0, a3, details::Zero_or_False()); - } - }; - - // INTERNAL ONLY - SIMD mask load for deinterlacing or logical - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(A4)(X) - , (iterator_ >) - ((target_< simd_,X> >)) - ((simd_< logical_ - , X - > - )) - ((simd_< unspecified_, X>)) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,const A2&, const A3& a3, const A4& a4) const - { - return load(a0, a3, a4); - } - }; - - // INTERNAL ONLY - SIMD load for deinterlacing or logical - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(X) - , (iterator_ >) - ((target_< simd_,X> >)) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0,const A2&) const - { - return load(a0); - } - }; - - /// INTERNAL ONLY - SIMD mask load with misalignment without offset, zero - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(A4)(X) - , (iterator_ >) - ((target_, X > >)) - (mpl_integral_< scalar_< integer_ > >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A2&, const A3&, const A4& a4) const - { - return load(a0, a4, details::Zero_or_False()); - } - }; - - /// INTERNAL ONLY - SIMD mask load with misalignment without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(A4)(A5)(X) - , (iterator_ >) - ((target_, X > >)) - (mpl_integral_< scalar_< integer_ > >) - ((simd_< logical_ - , X - > - )) - ((simd_< unspecified_, X>)) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A2&, const A3&, const A4& a4, const A5& a5) const - { - return load(a0, a4, a5); - } - }; - - /// INTERNAL ONLY - SIMD load with misalignment without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , tag::cpu_ - , (A0)(A2)(A3)(X) - , (iterator_ >) - ((target_, X > >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A2&, const A3&) const - { - return load(a0); - } - }; - - /// INTERNAL ONLY - SIMD fusion sequence load with offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A1)(A2)(X) - , (fusion_sequence_) - ((target_,X> >)) - (generic_< integer_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A1&, const A2& a2) const - { - result_type that; - meta::iterate < fusion::result_of::size::type::value> - ( details::loader < boost::simd:: - tag::aligned_load_(A0, result_type, A2) - >(a0, that, a2) - ); - return that; - } - }; - - /// INTERNAL ONLY - SIMD fusion sequence load without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_, tag::cpu_ - , (A0)(A2)(X) - , (fusion_sequence_) - ((target_,X> >)) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A2&) const - { - result_type that; - meta::iterate < fusion::result_of::size::type::value> - ( details::loader < boost::simd:: - tag::aligned_load_(A0, result_type) - >(a0, that) - ); - return that; - } - }; -} } } - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/aligned_store.hpp b/inst/include/boost/simd/memory/functions/simd/common/aligned_store.hpp deleted file mode 100644 index 80858e3..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/aligned_store.hpp +++ /dev/null @@ -1,237 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_ALIGNED_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - mask Regular offset SIMD store - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X) - , ((simd_< unspecified_, X >)) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 a1, A2 a2, A3 const& a3) const - { - boost::simd::aligned_store(a0, a1+a2, a3); - } - }; - - /// INTERNAL ONLY - Regular offset SIMD store - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , ((simd_< unspecified_, X >)) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 a1, A2 a2) const - { - boost::simd::aligned_store(a0, a1+a2); - } - }; - - /// INTERNAL ONLY - masked Regular SIMD store - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , ((simd_, X >)) - (iterator_< scalar_< arithmetic_ > >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a1, A0, typename std::iterator_traits::value_type); - boost::simd::store(a0, a1, a2); - } - }; - - /// INTERNAL ONLY - Regular SIMD store - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(X) - , ((simd_, X >)) - (iterator_< scalar_< arithmetic_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a1, A0, typename std::iterator_traits::value_type); - boost::simd::store(a0, a1); - } - }; - - /// INTERNAL ONLY - Masked Scatter SIMD store - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_store_, tag::cpu_ - , (A0)(A1)(A2)(A3)(X)(Y) - , (mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_< unspecified_, X >)) - (iterator_< unspecified_ >) - ((simd_< integer_, Y >)) - ((simd_< logical_ - , X - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 a1, A2 const& a2, A3 const& a3) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a1, A0, typename std::iterator_traits::value_type); - boost::simd::store(a0, a1, a2, a3); - } - }; - - /// INTERNAL ONLY - Scatter SIMD store - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_store_, tag::cpu_ - , (A0)(A1)(A2)(X)(Y) - , (mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_< unspecified_, X >)) - (iterator_< unspecified_ >) - ((simd_< integer_, Y >)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR_CVT(a1, A0, typename std::iterator_traits::value_type); - boost::simd::store(a0, a1, a2); - } - }; - - /// INTERNAL ONLY - Masked SIMD store for interlacing or logical - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , ((simd_< unspecified_, X >)) - (iterator_< unspecified_ >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - boost::simd::store(a0, a1, a2); - } - }; - - /// INTERNAL ONLY - SIMD store for interlacing or logical - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X >)) - (iterator_< unspecified_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 a1) const - { - boost::simd::store(a0, a1); - } - }; - - /// INTERNAL ONLY - SIMD Fusion sequence store - BOOST_DISPATCH_IMPLEMENT ( aligned_store_, tag::cpu_ - , (A0)(A1)(A2)(X) - , ((simd_< fusion_sequence_, X >)) - (fusion_sequence_) - (generic_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - static const int N = fusion::result_of::size::type::value; - meta::iterate( details::storer< boost::simd:: - tag::aligned_store_(A0, A1, A2) - >(a0, a1, a2) - ); - } - }; - /// INTERNAL ONLY - SIMD Fusion sequence store - BOOST_DISPATCH_IMPLEMENT ( aligned_store_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< fusion_sequence_, X >)) - (fusion_sequence_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const& a1) const - { - static const int N = fusion::result_of::size::type::value; - meta::iterate( details::storer< boost::simd:: - tag::aligned_store_(A0, A1) - >(a0, a1) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/bitwise_cast.hpp b/inst/include/boost/simd/memory/functions/simd/common/bitwise_cast.hpp deleted file mode 100644 index 9acb060..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/bitwise_cast.hpp +++ /dev/null @@ -1,123 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_BITWISE_CAST_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ -#ifndef BOOST_SIMD_NO_STRICT_ALIASING - - // logical <-> non-logical are normally the same type inside (or castable to it) - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< logical_, X >)) - ((target_< simd_< unspecified_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - typename A0::type arith0 = (typename A0::type::native_type)a0(); - return bitwise_cast(arith0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X >)) - ((target_< simd_< logical_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return (typename result_type::native_type)bitwise_cast(a0)(); - } - }; - - // the next two specializations apparently allow to generate better code with MSVC - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_cast_, tag::cpu_ - , (A0)(A1)(X) - , (is_same) - , ((simd_< logical_, X >)) - ((target_< simd_< arithmetic_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return (typename A1::type::native_type)a0(); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_cast_, tag::cpu_ - , (A0)(A1)(X) - , (is_same) - , ((simd_< arithmetic_, X >)) - ((target_< simd_< logical_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return (typename A1::type::native_type)a0(); - } - }; - - // logical<->logical, call bitwise_cast three times - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< logical_, X >)) - ((target_< simd_< logical_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return bitwise_cast(bitwise_cast(bitwise_cast(a0))); - } - }; - - // the different arithmetic types on the same extension are usually aliasable - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< arithmetic_, X >)) - ((target_< simd_< arithmetic_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_MPL_ASSERT_MSG - ( (sizeof(A0) == sizeof(typename A1::type)) - , BOOST_SIMD_TARGET_IS_NOT_SAME_SIZE_AS_SOURCE_IN_BITWISE_CAST - , (A0&,typename A1::type&) - ); - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - //return (typename result_type::native_type)a0(); - return reinterpret_cast(a0()); - } - }; - -#endif -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/extract.hpp b/inst/include/boost/simd/memory/functions/simd/common/extract.hpp deleted file mode 100644 index 2bd9082..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/extract.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_EXTRACT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(__INTEL_COMPILER) -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( extract_ - , tag::cpu_ - , (A0)(A1)(X) - , ((simd_< arithmetic_, X >)) - (scalar_< integer_ >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - return reinterpret_cast::type*>(&a0.data_)[a1]; - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( extract_ - , tag::cpu_ - , (A0)(A1)(X) - , (mpl::equal_to - < mpl::sizeof_ - , mpl::sizeof_ - > - ) - , ((simd_< logical_, X >)) - (scalar_< integer_ >) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - #if defined(__GNUC__) - typedef typename A0::type::value_type stype; - return result_type(reinterpret_cast::type*>(&a0.data_)[a1]); - #else - return result_type(extract(bitwise_cast(a0), a1)); - #endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( extract_ - , tag::cpu_ - , (A0)(A1)(X) - , ((simd_< fusion_sequence_, X >)) - (scalar_< integer_ >) - ) - { - struct extract_fusion - { - extract_fusion(A1 a1_) : a1(a1_) {} - - template struct result; - - template - struct result - : dispatch::meta::strip::type> - {}; - - template - typename meta::scalar_of::type operator()(T const& a0) const - { - return extract(a0, a1); - } - - A1 a1; - }; - - typedef typename meta::scalar_of::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - return simd::as_tuple(a0, extract_fusion(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/insert.hpp b/inst/include/boost/simd/memory/functions/simd/common/insert.hpp deleted file mode 100644 index 60a3b5d..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/insert.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_INSERT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( insert_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , (scalar_< arithmetic_ >) - ((simd_< arithmetic_, X >)) - (scalar_< integer_ >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0, A1& a1, A2 a2) const - { - typedef typename meta::scalar_of::type stype; - typedef typename meta::may_alias::type* rtype; - - reinterpret_cast(&a1.data_)[a2] = a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( insert_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , (mpl::equal_to - < mpl::sizeof_ - , mpl::sizeof_ - > - ) - , (scalar_< logical_ >) - ((simd_< logical_, X >)) - (scalar_< integer_ >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2 a2) const - { - typedef typename meta::scalar_of::type stype; - typedef typename meta::may_alias::type* rtype; - - reinterpret_cast(&a1.data_)[a2] = genmask(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( insert_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , (fusion_sequence_) - ((simd_< fusion_sequence_, X >)) - (scalar_< integer_ >) - ) - { - struct insert_fusion - { - insert_fusion(A0 const& a0_, A1& a1_, A2 a2_) - : a0(a0_), a1(a1_), a2(a2_) - {} - - template BOOST_FORCEINLINE void operator()() const - { - insert(fusion::at_c(a0), fusion::at_c(a1), a2); - } - - A0 const& a0; - A1& a1; - A2 a2; - - private: - insert_fusion& operator=(insert_fusion const&); - }; - - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1& a1, A2 const& a2) const - { - static const bool check = fusion::result_of::size::value - == fusion::result_of::size::value; - - BOOST_MPL_ASSERT_MSG( check - , BOOST_SIMD_INSERT_FUSION_SEQUENCE_SIZE_MISMATCH - , (A0&, A1&) - ); - - static const int N = fusion::result_of::size::type::value; - meta::iterate(insert_fusion(a0, a1, a2)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/load.hpp b/inst/include/boost/simd/memory/functions/simd/common/load.hpp deleted file mode 100644 index de9d8b1..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/load.hpp +++ /dev/null @@ -1,324 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - SIMD mask load via Scalar emulation without offset, zero - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , (iterator_ >) - ((target_, X> >)) - ((simd_< logical_ - , X - > - )) - ) - { - typedef typename A1::type result_type; - typedef typename meta::scalar_of::type stype; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&, A2 const& a2) const - { - return load(a0,a2,details::Zero_or_False()); - } - }; - - /// INTERNAL ONLY - SIMD mask load via Scalar emulation without offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X) - , (iterator_ >) - ((target_, X> >)) - ((simd_< logical_ - , X - > - )) - ((simd_< unspecified_, X>)) - ) - { - typedef typename A1::type result_type; - typedef typename meta::scalar_of::type stype; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&, A2 const& a2, A3 const& a3 ) const - { - return if_else(a2,load(a0),a3); - } - }; - - /// INTERNAL ONLY - SIMD load via Scalar emulation without offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A2)(X) - , (iterator_ >) - ((target_, X> >)) - ) - { - typedef typename A2::type result_type; - typedef typename meta::scalar_of::type stype; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A2 const&) const - { - result_type that; - for(std::size_t i=0; i!=meta::cardinal_of::value; ++i) - that[i] = static_cast(a0[i]); - return that; - } - }; - - /// INTERNAL ONLY - SIMD mask load via Scalar emulation with scalar offset, zero - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X) - , (iterator_ >) - ((target_, X> >)) - (scalar_< integer_ >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef typename A1::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&, A2 a2, A3 const& a3) const - { - return load(a0+a2,a3); - } - }; - - /// INTERNAL ONLY - SIMD mask load via Scalar emulation with scalar offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(A4)(X) - , (iterator_ >) - ((target_, X> >)) - (scalar_< integer_ >) - ((simd_< logical_ - , X - > - )) - ((simd_< unspecified_, X>)) - ) - { - typedef typename A1::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&, A2 a2, A3 const& a3, A4 const& a4) const - { - return load(a0+a2,a3,a4); - } - }; - - /// INTERNAL ONLY - SIMD load via Scalar emulation with offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , (iterator_ >) - ((target_, X> >)) - (scalar_< integer_ >) - ) - { - typedef typename A1::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&, A2 a2) const - { - return load(a0+a2); - } - }; - - /// INTERNAL ONLY - Unaligned gather - BOOST_DISPATCH_IMPLEMENT_IF ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(X)(Y) - , (mpl::equal_to - < boost::simd::meta - ::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , (iterator_< unspecified_ >) - ((target_, Y> >)) - ((simd_< integer_, X >)) - ) - { - typedef typename A1::type result_type; - typedef typename meta::scalar_of::type stype; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, const A1&, const A2& a2) const - { - BOOST_ASSERT_MSG( meta::cardinal_of::value == meta::cardinal_of::value - , "inconsistent cardinal in load gather" - ); - - result_type that; - for(std::size_t i=0; i!=meta::cardinal_of::value; ++i) - { - stype value = static_cast(a0[a2[i]]); -#if defined(__INTEL_COMPILER) && defined(__MIC__) - asm volatile(""::"m"(value)); -#endif - that[i] = value; - } - return that; - } - }; - - /// INTERNAL ONLY - Masked unaligned gather zero - BOOST_DISPATCH_IMPLEMENT_IF ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X)(Y) - , (mpl::equal_to - < boost::simd::meta - ::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , (iterator_< unspecified_ >) - ((target_, Y> >)) - ((simd_< integer_, X >)) - ((simd_< logical_ - , Y - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, const A1&, const A2& a2, const A3& a3 ) const - { - return load(a0,a2,a3,details::Zero_or_False()); - } - }; - - /// INTERNAL ONLY - Masked unaligned gather - BOOST_DISPATCH_IMPLEMENT_IF ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(A4)(X)(Y) - , (mpl::equal_to - < boost::simd::meta - ::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , (iterator_< unspecified_ >) - ((target_, Y> >)) - ((simd_< integer_, X >)) - ((simd_< logical_ - , Y - > - )) - ((simd_< unspecified_, Y>)) - ) - { - typedef typename A1::type result_type; - typedef typename meta::scalar_of::type stype; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, const A1&, const A2& a2, const A3& a3, const A4& a4 ) const - { - BOOST_ASSERT_MSG( meta::cardinal_of::value == meta::cardinal_of::value - && meta::cardinal_of::value == meta::cardinal_of::value - , "inconsistent cardinal in load masked gather" - ); - - result_type that; - for(std::size_t i=0; i!=meta::cardinal_of::value; ++i) - { - stype value = static_cast(a0[a2[i]]); -#if defined(__INTEL_COMPILER) && defined(__MIC__) - asm volatile(""::"m"(value)); -#endif - that[i] = if_else(a3[i],value,static_cast(a4[i])); - } - return that; - } - }; - - /// INTERNAL ONLY - SIMD unaligned load for Fusion Sequence - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , (fusion_sequence_) - ((target_ < simd_ < fusion_sequence_ - , X - > - > - )) - (generic_< integer_ >) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& a0, const A1&, const A2& a2) const - { - static const int N = fusion::result_of::size::type::value; - result_type that; - meta::iterate( details::loader< boost::simd:: - tag::load_(A0, result_type, A2) - >(a0, that, a2) - ); - return that; - } - }; - - /// INTERNAL ONLY - SIMD unaligned load for Fusion Sequence - BOOST_DISPATCH_IMPLEMENT ( load_ - , tag::cpu_ - , (A0)(A2)(X) - , (fusion_sequence_) - ((target_ < simd_ < fusion_sequence_ - , X - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& a0, const A2&) const - { - static const int N = fusion::result_of::size::type::value; - result_type that; - meta::iterate( details::loader< boost::simd:: - tag::load_(A0, result_type) - >(a0, that) - ); - return that; - } - }; -} } } - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/make.hpp b/inst/include/boost/simd/memory/functions/simd/common/make.hpp deleted file mode 100644 index dcb845d..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/make.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_MAKE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( make_, tag::cpu_ - , (A0)(X) - , ((target_< simd_< unspecified_, X > >)) - ) - { - typedef typename A0::type result_type; - typedef typename meta::scalar_of::type stype; - - #define M0(z,n,t) \ - BOOST_FORCEINLINE result_type \ - operator()(BOOST_PP_ENUM_PARAMS(n, stype const& a)) const \ - { \ - BOOST_SIMD_ALIGNED_TYPE(stype) tmp[n] = { BOOST_PP_ENUM_PARAMS(n, a) }; \ - return aligned_load(&tmp[0], 0); \ - } \ - /**/ - - BOOST_SIMD_PP_REPEAT_POWER_OF_2(M0, ~) - #undef M0 - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( make_, tag::cpu_ - , (A0)(X) - , (simd::meta::is_logical_mask) - , ((target_< simd_< logical_, X > >)) - ) - { - typedef typename A0::type result_type; - typedef typename meta::scalar_of::type stype; - typedef typename dispatch::meta::as_integer::type iresult_type; - typedef typename meta::scalar_of::type istype; - - #define M1(z,n,t) bitwise_cast(genmask(a##n)) - - #define M0(z,n,t) \ - BOOST_FORCEINLINE result_type \ - operator()(BOOST_PP_ENUM_PARAMS(n, stype const& a)) const \ - { \ - return bitwise_cast(make(BOOST_PP_ENUM(n, M1, ~))); \ - } \ - /**/ - - BOOST_SIMD_PP_REPEAT_POWER_OF_2(M0, ~) - #undef M0 - #undef M1 - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/slide.hpp b/inst/include/boost/simd/memory/functions/simd/common/slide.hpp deleted file mode 100644 index 1d61615..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/slide.hpp +++ /dev/null @@ -1,113 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_SLIDE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::cpu_ - , (A0)(N)(X) - , ((simd_,X>)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, N const&) const - { - return eval(a0,boost::mpl::bool_<(N::value>=0)>()); - } - - BOOST_FORCEINLINE - result_type eval(A0 const& a0, boost::mpl::true_ const&) const - { - return slide(a0,Zero()); - } - - BOOST_FORCEINLINE - result_type eval(A0 const& a0, boost::mpl::false_ const&) const - { - return slide::value+N::value>(Zero(),a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::cpu_ - , (A0)(N)(X) - , ((simd_,X>)) - ((simd_, X>)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, N const&) const - { - return side ( a0, a1 - , boost::mpl::bool_< (N::value>=0) >() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::true_ const&) const - { - return eval ( a0, a1 - , boost::mpl::bool_() - , boost::mpl::bool_() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::false_ const&) const - { - return slide(a1,a0); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& - , boost::mpl::true_ const&, boost::mpl::false_ const& - ) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval( A0 const&, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::true_ const& - ) const - { - return a1; - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::false_ const& - ) const - { - result_type that; - static const int limit = A0::static_size-N::value; - - for(int i=0;i -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // With no idea what we're doing, just fill the vector piecewise - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( splat_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< unspecified_ >) - ((target_< simd_< unspecified_, X > >)) - ) - { - typedef typename A1::type result_type; - typedef typename meta::scalar_of::type sA1; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1&) const - { - return eval(a0,typename simd::meta::cardinal_of::type()); - } - - #define M0(z, n, t) static_cast(a0) - - BOOST_SIMD_PP_IMPLEMENT_WITH_MAKE(1, M0) - - #undef M0 - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( splat_, tag::cpu_ - , (A0)(A1)(X)(Y) - , (mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , ((simd_< unspecified_, X >)) - ((target_< simd_< unspecified_, Y > >)) - ) - { - typedef typename A1::type result_type; - typedef typename meta::scalar_of::type sA1; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1&) const - { - return eval(a0,typename simd::meta::cardinal_of::type()); - } - - #define M0(z, n, t) static_cast(extract(a0)) - - BOOST_SIMD_PP_IMPLEMENT_WITH_MAKE(1, M0) - - #undef M0 - }; - - //============================================================================ - // Splatting a SIMD value to another can use toint, touint or tofloat (optimizations) - //============================================================================ - BOOST_DISPATCH_IMPLEMENT_IF ( splat_, tag::cpu_ - , (A0)(A1)(X) - , (mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , ((simd_< arithmetic_, X >)) - ((target_< simd_< floating_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return simd::tofloat(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( splat_, tag::cpu_ - , (A0)(A1)(X) - , (mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , ((simd_< arithmetic_, X >)) - ((target_< simd_< int_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - // bitwise_cast because long vs long long for same width - return bitwise_cast(simd::toint(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( splat_, tag::cpu_ - , (A0)(A1)(X) - , (mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta - ::cardinal_of - > - ) - , ((simd_< arithmetic_, X >)) - ((target_< simd_< uint_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - // bitwise_cast because long vs long long for same width - return bitwise_cast(simd::touint(a0)); - } - }; - - //============================================================================ - // splat logical is genmask + splat - //============================================================================ - BOOST_DISPATCH_IMPLEMENT_IF ( splat_, tag::cpu_ - , (A0)(A1)(X) - , (boost::simd::meta::is_logical_mask) - , (scalar_< unspecified_ >) - ((target_< simd_< logical_, X > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - typedef typename meta::scalar_of::type stype; - return bitwise_cast(splat(a0 ? Allbits() : Zero())); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/store.hpp b/inst/include/boost/simd/memory/functions/simd/common/store.hpp deleted file mode 100644 index 6fd0308..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/store.hpp +++ /dev/null @@ -1,281 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - SIMD store without offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X >)) - (iterator_ >) - ) - { - typedef void result_type; - - struct local_ - { - BOOST_FORCEINLINE local_( A0 const& a0_, A1 const& a1_ ) - : a0(a0_), a1(a1_) {} - - template BOOST_FORCEINLINE void operator()() const - { - typedef typename boost::pointee::type stype; - a1[I] = static_cast( extract(a0) ); - } - - A0 const& a0; - A1 const& a1; - - private: - local_& operator=(local_ const&); - }; - - BOOST_FORCEINLINE result_type - operator()(const A0& a0, A1 a1) const - { - static const int N = meta::cardinal_of::value; - meta::iterate(local_(a0,a1)); - } - }; - - /// INTERNAL ONLY - SIMD masked store without offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , ((simd_< unspecified_, X >)) - (iterator_ >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef void result_type; - - struct local_ - { - BOOST_FORCEINLINE local_( A0 const& a0_, A1 const& a1_, A2 const& a2_) - : a0(a0_), a1(a1_), a2(a2_) {} - - template BOOST_FORCEINLINE void operator()() const - { - typedef typename boost::pointee::type stype; - if (extract(a2)) - a1[I] = static_cast( extract(a0) ); - } - - A0 const& a0; - A1 const& a1; - A2 const& a2; - - private: - local_& operator=(local_ const&); - }; - - BOOST_FORCEINLINE result_type - operator()(const A0& a0, A1 a1, A2 const& a2) const - { - BOOST_STATIC_ASSERT( meta::cardinal_of::value == meta::cardinal_of::value ); - static const int N = meta::cardinal_of::value; - meta::iterate(local_(a0,a1,a2)); - } - }; - - /// INTERNAL ONLY - SIMD store via scalar emulation with offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , ((simd_< unspecified_, X >)) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& a0, A1 a1, A2 a2) const - { - boost::simd::store(a0,a1+a2); - } - }; - - /// INTERNAL ONLY - masked SIMD store via scalar emulation with offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X) - , ((simd_< unspecified_, X >)) - (iterator_< unspecified_ >) - (scalar_< integer_ >) - ((simd_< logical_ - , X - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& a0, A1 a1, A2 a2, A3 const& a3) const - { - boost::simd::store(a0,a1+a2,a3); - } - }; - - /// INTERNAL ONLY - SIMD scatter store via scalar emulation - BOOST_DISPATCH_IMPLEMENT_IF ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(X)(Y) - , (mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_< unspecified_, X >)) - (iterator_< scalar_< unspecified_ > >) - ((simd_< integer_, Y >)) - ) - { - typedef void result_type; - - struct local_ - { - BOOST_FORCEINLINE local_( A0 const& a0_, A1 const& a1_, A2 const& a2_) - : a0(a0_), a1(a1_), a2(a2_) {} - - template BOOST_FORCEINLINE void operator()() const - { - typedef typename boost::pointee::type stype; - a1[ extract(a2) ] = static_cast( extract(a0) ); - } - - A0 const& a0; - A1 const& a1; - A2 const& a2; - - private: - local_& operator=(local_ const&); - }; - - BOOST_FORCEINLINE result_type - operator()(const A0& a0, A1 a1, A2 const& a2) const - { - BOOST_STATIC_ASSERT( meta::cardinal_of::value == meta::cardinal_of::value ); - static const int N = meta::cardinal_of::value; - meta::iterate(local_(a0,a1,a2)); - } - }; - - /// INTERNAL ONLY - masked SIMD scatter store via scalar emulation - BOOST_DISPATCH_IMPLEMENT_IF ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(A3)(X)(Y) - , (mpl::equal_to - < boost::simd::meta::cardinal_of - , boost::simd::meta::cardinal_of - > - ) - , ((simd_< unspecified_, X >)) - (iterator_< scalar_< unspecified_ > >) - ((simd_< integer_, Y >)) - ((simd_< logical_ - , X - > - )) - ) - { - typedef void result_type; - - struct local_ - { - BOOST_FORCEINLINE local_( A0 const& a0_, A1 const& a1_, A2 const& a2_, A3 const& a3_) - : a0(a0_), a1(a1_), a2(a2_), a3(a3_) {} - - template BOOST_FORCEINLINE void operator()() const - { - typedef typename boost::pointee::type stype; - if (extract(a3)) a1[extract(a2)] = static_cast(extract(a0)); - } - - A0 const& a0; - A1 const& a1; - A2 const& a2; - A3 const& a3; - - private: - local_& operator=(local_ const&); - }; - - BOOST_FORCEINLINE result_type - operator()(const A0& a0, A1 a1, A2 const& a2, A3 const& a3) const - { - BOOST_STATIC_ASSERT( meta::cardinal_of::value == meta::cardinal_of::value - && meta::cardinal_of::value == meta::cardinal_of::value - ); - static const int N = meta::cardinal_of::value; - meta::iterate(local_(a0,a1,a2,a3)); - } - }; - - /// INTERNAL ONLY - SIMD store for Fusion Sequence with offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , ((simd_< fusion_sequence_, X >)) - (fusion_sequence_) - (generic_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& a0, const A1& a1, const A2& a2) const - { - static const int N = fusion::result_of::size::type::value; - meta::iterate( details::storer< boost::simd:: - tag::store_(A0, A1, A2) - >(a0, a1, a2) - ); - } - }; - - /// INTERNAL ONLY - SIMD store for Fusion Sequence without offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , tag::cpu_ - , (A0)(A1)(X) - , ((simd_< fusion_sequence_, X >)) - (fusion_sequence_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1) const - { - static const int N = fusion::result_of::size::type::value; - meta::iterate( details::storer< boost::simd:: - tag::store_(A0, A1) - >(a0, a1) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/common/stream.hpp b/inst/include/boost/simd/memory/functions/simd/common/stream.hpp deleted file mode 100644 index ad876aa..0000000 --- a/inst/include/boost/simd/memory/functions/simd/common/stream.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_COMMON_STREAM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - If no stream intrinsic, do a classical store. - BOOST_DISPATCH_IMPLEMENT ( stream_ - , tag::cpu_ - , (A0)(A1)(A2)(X) - , ((simd_< unspecified_, X >)) - (iterator_< scalar_< unspecified_ > >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 a1, A2 const& a2) const - { - boost::simd::aligned_store(a0, a1, a2); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/aligned_load.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/aligned_load.hpp deleted file mode 100644 index 6ef36b9..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/aligned_load.hpp +++ /dev/null @@ -1,277 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_ALIGNED_LOAD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , boost::simd::tag::avx_ - , (A0)(A2)(A3) - , (iterator_< scalar_< double_ > >) - ((target_ < simd_ < double_ - , boost::simd::tag::sse_ - > - > - )) - ((simd_< logical_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&, const A3& a3) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm_maskload_pd(a0,_mm_castpd_si128(a3)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , boost::simd::tag::avx_ - , (A0)(A2)(A3) - , (iterator_< scalar_< single_ > >) - ((target_ < simd_ < single_ - , boost::simd::tag::sse_ - > - > - )) - ((simd_< logical_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&, const A3& a3) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm_maskload_ps(a0,_mm_castps_si128(a3)); - } - }; - - /// INTERNAL ONLY - Regular SIMD mask load for double without offset, zero case - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , boost::simd::tag::avx_ - , (A0)(A2)(A3) - , (iterator_< scalar_< double_ > >) - ((target_ < simd_ < double_ - , boost::simd::tag::avx_ - > - > - )) - ((simd_< logical_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&, const A3& a3) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm256_maskload_pd(a0,_mm256_castpd_si256(a3)); - } - }; - - /// INTERNAL ONLY - Regular SIMD load for double without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , boost::simd::tag::avx_ - , (A0)(A2) - , (iterator_< scalar_< double_ > >) - ((target_ < simd_ < double_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm256_load_pd(a0); - } - }; - - /// INTERNAL ONLY - Regular SIMD mask load for double without offset, zero case - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , boost::simd::tag::avx_ - , (A0)(A2)(A3) - , (iterator_< scalar_< single_ > >) - ((target_ < simd_ < single_ - , boost::simd::tag::avx_ - > - > - )) - ((simd_< logical_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&, const A3& a3) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm256_maskload_ps(a0,_mm256_castps_si256(a3)); - } - }; - - /// INTERNAL ONLY - Regular SIMD load for single without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , boost::simd::tag::avx_ - , (A0)(A2) - , (iterator_< scalar_< single_ > >) - ((target_ < simd_ < single_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm256_load_ps(a0); - } - }; - - /// INTERNAL ONLY - Regular SIMD load for integers without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_ - , boost::simd::tag::avx_ - , (A0)(A2) - , ( simd::meta::is_pointing_to - < A0 - , typename A2::type::value_type - > - ) - , (iterator_< scalar_< integer_ > >) - ((target_ < simd_ - < integer_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm256_load_si256(reinterpret_cast<__m256i const*>(a0)); - } - }; - - /// INTERNAL ONLY - Masked misaligned load without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_ - , boost::simd::tag::avx_ - , (A0)(A2)(A3)(A4)(A5) - , ( simd::meta::is_pointing_to - < A0 - , typename A2::type::value_type - > - ) - , (iterator_< scalar_< arithmetic_ > >) - ((target_ < simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - > - )) - (mpl_integral_< scalar_< integer_ > >) - ((simd_< logical_ - , boost::simd::tag::avx_ - > - )) - ((simd_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef typename A2::type result_type; - - typedef typename A3::value_type align_t; - static const std::size_t cardinal = meta::cardinal_of::value; - static const align_t unalignment = A3::value % cardinal; - - typedef typename boost::mpl::if_c < unalignment - , boost::simd::tag::load_ - , boost::simd::tag::aligned_load_ - >::type func_t; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2& a2, const A3&, const A4& a4, const A5& a5) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0 - A3::value, sizeof(result_type)); - typename boost::dispatch::make_functor::type callee; - return callee( a0, a2, a4, a5 ); - } - }; - - /// INTERNAL ONLY - Misaligned load without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_ - , boost::simd::tag::avx_ - , (A0)(A2)(A3) - , ( simd::meta::is_pointing_to - < A0 - , typename A2::type::value_type - > - ) - , (iterator_< scalar_< arithmetic_ > >) - ((target_ < simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename A2::type result_type; - - typedef typename A3::value_type align_t; - static const std::size_t cardinal = meta::cardinal_of::value; - static const align_t unalignment = A3::value % cardinal; - - typedef typename boost::mpl::if_c < unalignment != 0 - , boost::simd::tag::load_ - , boost::simd::tag::aligned_load_ - >::type func_t; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2& a2, const A3&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0 - A3::value, sizeof(result_type)); - typename boost::dispatch::make_functor::type callee; - return callee( a0, a2 ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/aligned_store.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/aligned_store.hpp deleted file mode 100644 index 6ec9903..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/aligned_store.hpp +++ /dev/null @@ -1,185 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_ALIGNED_STORE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , boost::simd::tag::avx_ - , (A0)(A1)(A2) - , ((simd_ < double_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< double_ > >) - ((simd_< logical_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128d a0, A1 a1, const A2& a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m128d)); - _mm_maskstore_pd(a1,_mm_castpd_si128(a2),a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , boost::simd::tag::avx_ - , (A0)(A1)(A2) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< single_ > >) - ((simd_< logical_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 a0, A1 a1, const A2& a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m128)); - _mm_maskstore_ps(a1,_mm_castps_si128(a2),a0); - } - }; - - /// INTERNAL ONLY - masked AVX double SIMD store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , boost::simd::tag::avx_ - , (A0)(A1)(A2) - , ((simd_ < double_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< double_ > >) - ((simd_< logical_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256d a0, A1 a1, const A2& a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m256d)); - _mm256_maskstore_pd(a1,_mm256_castpd_si256(a2),a0); - } - }; - - /// INTERNAL ONLY - AVX double SIMD store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < double_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< double_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256d a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m256d)); - _mm256_store_pd(a1,a0); - } - }; - - /// INTERNAL ONLY - masked AVX single SIMD store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , boost::simd::tag::avx_ - , (A0)(A1)(A2) - , ((simd_ < single_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< single_ > >) - ((simd_< logical_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256 a0, A1 a1, const A2& a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m256)); - _mm256_maskstore_ps(a1,_mm256_castps_si256(a2),a0); - } - }; - - /// INTERNAL ONLY - AVX single SIMD store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < single_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< single_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256 a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m256)); - _mm256_store_ps(a1,a0); - } - }; - - /// INTERNAL ONLY - AVX integral SIMD store without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_store_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ( simd::meta::is_pointing_to - < A1 - , typename dispatch::meta - ::scalar_of::type - > - ) - , ((simd_ < integer_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< integer_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256i a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m256i)); - _mm256_store_si256(reinterpret_cast<__m256i*>(a1), a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/bitwise_cast.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/bitwise_cast.hpp deleted file mode 100644 index 51b4555..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/bitwise_cast.hpp +++ /dev/null @@ -1,118 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_BITWISE_CAST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< integer_, boost::simd::tag::avx_ >)) - ((target_< simd_< integer_, boost::simd::tag::avx_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return a0(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< integer_, boost::simd::tag::avx_ >)) - ((target_< simd_< single_, boost::simd::tag::avx_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_castsi256_ps(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< integer_, boost::simd::tag::avx_ >)) - ((target_< simd_< double_, boost::simd::tag::avx_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_castsi256_pd(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< single_, boost::simd::tag::avx_ >)) - ((target_< simd_< integer_, boost::simd::tag::avx_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_castps_si256(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< double_, boost::simd::tag::avx_ >)) - ((target_< simd_< integer_, boost::simd::tag::avx_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_castpd_si256(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< double_, boost::simd::tag::avx_ >)) - ((target_< simd_< single_, boost::simd::tag::avx_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_castpd_ps(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< single_, boost::simd::tag::avx_ >)) - ((target_< simd_< double_, boost::simd::tag::avx_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_castps_pd(a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/extract.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/extract.hpp deleted file mode 100644 index e5f6e5d..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/extract.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NUMSCALE SAS -// -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_EXTRACT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< integer_, boost::simd::tag::avx_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - typedef typename meta::retarget::type ltype; - typedef typename meta::cardinal_of::type card; - - ltype that = _mm256_extractf128_si256(a0(), A1::value / ltype::static_size); - return extract(that, mpl::modulus< A1, card >()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< single_, boost::simd::tag::avx_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - typedef typename meta::retarget::type ltype; - typedef typename meta::cardinal_of::type card; - - ltype that = _mm256_extractf128_ps(a0(), A1::value / ltype::static_size); - return extract(that, mpl::modulus< A1, card >()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_< double_, boost::simd::tag::avx_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - typedef typename meta::retarget::type ltype; - typedef typename meta::cardinal_of::type card; - - ltype that = _mm256_extractf128_pd(a0(), A1::value / ltype::static_size); - return extract(that, mpl::modulus< A1, card >()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/insert.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/insert.hpp deleted file mode 100644 index f361173..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/insert.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NUMSCALE SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_INSERT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( insert_ - , boost::simd::tag::avx_ - , (A0)(A1)(A2) - , (scalar_< integer_ >) - ((simd_< integer_, boost::simd::tag::avx_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2) const - { - typedef typename meta::retarget::type ltype; - typedef typename meta::cardinal_of::type card; - - ltype that = _mm256_extractf128_si256(a1(), A2::value / ltype::static_size); - insert(a0, that, mpl::modulus< A2, card >()); - a1 = _mm256_insertf128_si256(a1(), that, A2::value / ltype::static_size); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( insert_ - , boost::simd::tag::avx_ - , (A0)(A1)(A2) - , (scalar_< integer_ >) - ((simd_< single_, boost::simd::tag::avx_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2) const - { - typedef typename meta::retarget::type ltype; - typedef typename meta::cardinal_of::type card; - - ltype that = _mm256_extractf128_ps(a1(), A2::value / ltype::static_size); - insert(a0, that, mpl::modulus< A2, card >()); - a1 = _mm256_insertf128_ps(a1(), that, A2::value / ltype::static_size); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( insert_ - , boost::simd::tag::avx_ - , (A0)(A1)(A2) - , (scalar_< integer_ >) - ((simd_< double_, boost::simd::tag::avx_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2) const - { - typedef typename meta::retarget::type ltype; - typedef typename meta::cardinal_of::type card; - - ltype that = _mm256_extractf128_pd(a1(), A2::value / ltype::static_size); - insert(a0, that, mpl::modulus< A2, card >()); - a1 = _mm256_insertf128_pd(a1(), that, A2::value / ltype::static_size); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/load.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/load.hpp deleted file mode 100644 index abbc8d7..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/load.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_LOAD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - load double without offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (iterator_< scalar_< double_ > >) - ((target_ < simd_ < double_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A1&) const - { - return _mm256_loadu_pd(a0); - } - }; - - /// INTERNAL ONLY - load single without offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (iterator_< scalar_< single_ > >) - ((target_ < simd_ < single_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A1&) const - { - return _mm256_loadu_ps(a0); - } - }; - - /// INTERNAL ONLY - load integers without offset - BOOST_DISPATCH_IMPLEMENT_IF ( load_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ( simd::meta::is_pointing_to - < A0 - , typename A1::type::value_type - > - ) - , (iterator_< scalar_< integer_ > >) - ((target_ < simd_ < integer_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A1&)const - { - return _mm256_loadu_si256(reinterpret_cast<__m256i const*>(a0)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/make.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/make.hpp deleted file mode 100644 index 8e760ad..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/make.hpp +++ /dev/null @@ -1,134 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_MAKE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::avx_ - , (A0) - , ((target_ < simd_ < double_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(4) - { - return _mm256_setr_pd(a0, a1, a2, a3); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::avx_ - , (A0) - , ((target_ < simd_ < ints64_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(4) - { -#ifndef BOOST_MSVC - return _mm256_setr_epi64x(a0, a1, a2, a3); -#else - return _mm256_setr_epi32( (uint64_t(a0) & 0x00000000FFFFFFFFULL) - , (uint64_t(a0) & 0xFFFFFFFF00000000ULL) >> 32 - , (uint64_t(a1) & 0x00000000FFFFFFFFULL) - , (uint64_t(a1) & 0xFFFFFFFF00000000ULL) >> 32 - , (uint64_t(a2) & 0x00000000FFFFFFFFULL) - , (uint64_t(a2) & 0xFFFFFFFF00000000ULL) >> 32 - , (uint64_t(a3) & 0x00000000FFFFFFFFULL) - , (uint64_t(a3) & 0xFFFFFFFF00000000ULL) >> 32 - ); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::avx_ - , (A0) - , ((target_ < simd_ < single_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(8) - { - return _mm256_setr_ps(a0, a1, a2, a3, a4, a5, a6, a7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::avx_ - , (A0) - , ((target_ < simd_ < ints32_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(8) - { - return _mm256_setr_epi32(a0, a1, a2, a3, a4, a5, a6, a7); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::avx_ - , (A0) - , ((target_ < simd_ < ints16_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(16) - { - return _mm256_setr_epi16( a0, a1, a2, a3, a4, a5, a6, a7 - , a8, a9, a10, a11, a12, a13, a14, a15 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::avx_ - , (A0) - , ((target_ < simd_ < ints8_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(32) - { - return _mm256_setr_epi8( a0, a1, a2, a3, a4, a5, a6, a7 - , a8, a9, a10, a11, a12, a13, a14, a15 - , a16, a17, a18, a19, a20, a21, a22, a23 - , a24, a25, a26, a27, a28, a29, a30, a31 - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/slide.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/slide.hpp deleted file mode 100644 index 961272e..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/slide.hpp +++ /dev/null @@ -1,196 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_SLIDE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::avx_ - , (A0)(N) - , ((simd_< arithmetic_ - , boost::simd::tag::avx_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, N const&) const - { - return eval ( a0 - , boost::mpl::bool_() - , boost::mpl::bool_ < (N::value == A0::static_size) - || (N::value == -A0::static_size) - >() - ); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0 - , boost::mpl::true_ const&, boost::mpl::false_ const& - ) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval( A0 const& - , boost::mpl::false_ const&, boost::mpl::true_ const& - ) const - { - return Zero(); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0 - , boost::mpl::false_ const&, boost::mpl::false_ const& - ) const - { - return eval(a0, mpl::bool_<(N::value>=0)>()); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, boost::mpl::true_ const& ) const - { - return slide(a0,Zero()); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, boost::mpl::false_ const& ) const - { - return slide(Zero(),a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::avx_ - , (A0)(N) - , ((simd_< arithmetic_ - , boost::simd::tag::avx_ - > - )) - ((simd_< arithmetic_ - , boost::simd::tag::avx_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - typedef typename meta::retarget::type sub_t; - typedef typename A0::template rebind::type u8type; - typedef typename sub_t::template rebind::type u8subtype; - static const int hcard = A0::static_size / 2; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, N const&) const - { - return side ( a0, a1 - , boost::mpl::bool_< (N::value>=0) >() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::true_ const&) const - { - return eval ( a0, a1 - , boost::mpl::bool_() - , boost::mpl::bool_() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::false_ const&) const - { - return slide(a1,a0); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& - , boost::mpl::true_ const&, boost::mpl::false_ const& - ) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval( A0 const&, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::true_ const& - ) const - { - return a1; - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::false_ const& - ) const - { - return eval ( bitwise_cast(a1) - , bitwise_cast(a0) - , boost::mpl::bool_<(N::value < hcard)>() - ); - } - - BOOST_FORCEINLINE - result_type eval(__m256i v0, __m256i v1, boost::mpl::true_ const&) const - { - u8subtype v0h = _mm256_extractf128_si256(v0, 0); - u8subtype v1h = _mm256_extractf128_si256(v1, 0); - u8subtype v1l = _mm256_extractf128_si256(v1, 1); - - sub_t s0h = bitwise_cast(v0h); - sub_t s1h = bitwise_cast(v1h); - sub_t s1l = bitwise_cast(v1l); - - s1h = slide(s1h, s1l); - s0h = slide(s1l, s0h); - - u8type that = _mm256_castsi128_si256(bitwise_cast(s1h)); - that = _mm256_insertf128_si256(that, bitwise_cast(s0h), 1); - - return bitwise_cast(that); - } - - BOOST_FORCEINLINE - result_type eval(__m256i v0, __m256i v1, boost::mpl::false_ const&) const - { - u8subtype v0l = _mm256_extractf128_si256(v0, 1); - u8subtype v0h = _mm256_extractf128_si256(v0, 0); - u8subtype v1l = _mm256_extractf128_si256(v1, 1); - - sub_t s0l = bitwise_cast(v0l); - sub_t s0h = bitwise_cast(v0h); - sub_t s1l = bitwise_cast(v1l); - - s1l = slide(s1l, s0h); - s0l = slide(s0h, s0l); - - u8type that = _mm256_castsi128_si256(bitwise_cast(s1l)); - that = _mm256_insertf128_si256(that, bitwise_cast(s0l), 1); - - return bitwise_cast(that); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/splat.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/splat.hpp deleted file mode 100644 index 3ccce75..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/splat.hpp +++ /dev/null @@ -1,138 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_SPLAT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < double_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_set1_pd(double(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < single_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_set1_ps(float(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < ints8_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_set1_epi8(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < ints16_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_set1_epi16(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < ints32_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm256_set1_epi32(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < ints64_ - , boost::simd::tag::avx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { -#ifndef BOOST_MSVC - return _mm256_set1_epi64x(a0); -#else - return make(a0, a0, a0, a0); -#endif - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/store.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/store.hpp deleted file mode 100644 index 9cbb0bd..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/store.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_STORE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - SIMD store double without offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < double_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< double_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256d a0, A1 a1) const - { - _mm256_storeu_pd(a1,a0); - } - }; - - /// INTERNAL ONLY - SIMD store float without offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < single_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< single_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256 a0, A1 a1) const - { - _mm256_storeu_ps(a1,a0); - } - }; - - /// INTERNAL ONLY - SIMD store integers without offset - BOOST_DISPATCH_IMPLEMENT_IF ( store_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ( simd::meta::is_pointing_to - < A1 - , typename dispatch::meta - ::scalar_of::type - > - ) - , ((simd_ < integer_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< integer_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256i a0, A1 a1) const - { - _mm256_storeu_si256(reinterpret_cast<__m256i*>(a1), a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/avx/stream.hpp b/inst/include/boost/simd/memory/functions/simd/sse/avx/stream.hpp deleted file mode 100644 index 9758264..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/avx/stream.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_AVX_STREAM_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - Stream double without offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < double_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< double_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256d a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m256d)); - _mm256_stream_pd(a1,a0); - } - }; - - /// INTERNAL ONLY - Stream single without offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < single_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< single_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256 a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m256)); - _mm256_stream_ps(a1,a0); - } - }; - - /// INTERNAL ONLY - Stream integers without offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < integer_ - , boost::simd::tag::avx_ - > - )) - (iterator_< scalar_< integer_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m256i a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m256i)); - _mm256_stream_si256(reinterpret_cast<__m256i*>(a1), a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/aligned_load.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/aligned_load.hpp deleted file mode 100644 index 22406c6..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/aligned_load.hpp +++ /dev/null @@ -1,159 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_ALIGNED_LOAD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4308) // negative integral conversion -#endif - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - Load register of SIMD double without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , boost::simd::tag::sse2_ - , (A0)(A2) - , (iterator_< scalar_< double_ > >) - ((target_ < simd_ < double_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm_load_pd(a0); - } - }; - - /// INTERNAL ONLY - Load register of SIMD float - BOOST_DISPATCH_IMPLEMENT ( aligned_load_ - , boost::simd::tag::sse2_ - , (A0)(A2) - , (iterator_< scalar_< single_ > >) - ((target_ < simd_ < single_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A2&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm_load_ps(a0); - } - }; - - /// INTERNAL ONLY - Load register of SIMD integers without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_ - , boost::simd::tag::sse2_ - , (A0)(A2) - , ( simd::meta::is_pointing_to - < A0 - , typename A2::type::value_type - > - ) - , (iterator_< scalar_< integer_ > >) - ((target_ < simd_ - < integer_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 a0, const A2&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return _mm_load_si128(reinterpret_cast<__m128i const*>(a0)); - } - }; - - /// INTERNAL ONLY - Load with Misalignment without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_ - , boost::simd::tag::sse2_ - , (A0)(A2)(A3) - , ( boost::is_same - < typename boost::pointee::type - , typename A2::type::value_type - > - ) - , (iterator_< scalar_< arithmetic_ > >) - ((target_ < simd_ - < arithmetic_ - , boost::simd::tag::sse_ - > - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename A2::type result_type; - - typedef typename A3::value_type align_t; - static const std::size_t cardinal = meta::cardinal_of::value; - static const align_t unalignment = A3::value % cardinal; - - BOOST_FORCEINLINE result_type - operator()(A0 a0, A2 const&, A3 const& a3) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0-A3::value, sizeof(result_type)); - return eval( a0, a3, boost::mpl::bool_() ); - } - - // Periodic case - Just load as normal - BOOST_FORCEINLINE result_type - eval( A0 a0, A3 const&, boost::mpl::true_ const&) const - { - return boost::simd::aligned_load(a0); - } - - // Non-periodic case - BOOST_FORCEINLINE result_type - eval(A0 a0, A3 const&, boost::mpl::false_ const&) const - { - // Load aligned sources - result_type a = aligned_load(a0-unalignment); - result_type b = aligned_load( a0-unalignment - , std::size_t(cardinal) - ); - return slide(a,b); - } - }; -} } } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/aligned_store.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/aligned_store.hpp deleted file mode 100644 index 3946940..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/aligned_store.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_ALIGNED_STORE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - SSE double SIMD store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < double_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< double_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128d a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m128d)); - _mm_store_pd(a1,a0); - } - }; - - /// INTERNAL ONLY - SSE single SIMD store without offset - BOOST_DISPATCH_IMPLEMENT ( aligned_store_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< single_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m128)); - _mm_store_ps(a1,a0); - } - }; - - /// INTERNAL ONLY - SSE integral SIMD store without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_store_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ( simd::meta::is_pointing_to - < A1 - , typename dispatch::meta - ::scalar_of::type - > - ) - , ((simd_ < integer_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< integer_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m128i)); - _mm_store_si128(reinterpret_cast<__m128i*>(a1), a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/bitwise_cast.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/bitwise_cast.hpp deleted file mode 100644 index 50dd441..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/bitwise_cast.hpp +++ /dev/null @@ -1,118 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_CAST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< integer_, boost::simd::tag::sse_ >)) - ((target_< simd_< integer_, boost::simd::tag::sse_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return a0(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< integer_, boost::simd::tag::sse_ >)) - ((target_< simd_< single_, boost::simd::tag::sse_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_castsi128_ps(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< integer_, boost::simd::tag::sse_ >)) - ((target_< simd_< double_, boost::simd::tag::sse_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_castsi128_pd(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< single_, boost::simd::tag::sse_ >)) - ((target_< simd_< integer_, boost::simd::tag::sse_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_castps_si128(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< double_, boost::simd::tag::sse_ >)) - ((target_< simd_< integer_, boost::simd::tag::sse_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_castpd_si128(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< double_, boost::simd::tag::sse_ >)) - ((target_< simd_< single_, boost::simd::tag::sse_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_castpd_ps(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< single_, boost::simd::tag::sse_ >)) - ((target_< simd_< double_, boost::simd::tag::sse_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_castps_pd(a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/extract.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/extract.hpp deleted file mode 100644 index 248579c..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/extract.hpp +++ /dev/null @@ -1,121 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_EXTRACT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< ints8_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - int v = _mm_extract_epi16(a0, A1::value / 2); - return result_type((v >> (8*(A1::value % 2)))& 0xFF); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< ints16_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - return result_type(_mm_extract_epi16(a0, A1::value)); - } - }; - -// workaround for bug with GCC 32-bit x87, causing weird issues with splat int,sse -> complex,sse -#if !(defined(BOOST_SIMD_COMPILER_GCC) && !defined(BOOST_SIMD_ARCH_X86_64) && defined(BOOST_SIMD_HAS_X87)) - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< ints32_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - return result_type(_mm_cvtsi128_si32(_mm_srli_si128(a0, A1::value * 4))); - } - }; -#endif - -#ifdef BOOST_SIMD_ARCH_X86_64 - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< ints64_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - return result_type(_mm_cvtsi128_si64(_mm_srli_si128(a0, A1::value * 8))); - } - }; -#endif - - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< single_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - return _mm_cvtss_f32(_mm_castsi128_ps(_mm_srli_si128(_mm_castps_si128(a0), A1::value * 4))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_< double_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - return _mm_cvtsd_f64(_mm_castsi128_pd(_mm_srli_si128(_mm_castpd_si128(a0), A1::value * 8))); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/insert.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/insert.hpp deleted file mode 100644 index c0f6512..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/insert.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_INSERT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( insert_ - , boost::simd::tag::sse2_ - , (A0)(A1)(A2) - , (scalar_< integer_ >) - ((simd_< ints16_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2) const - { - a1 = _mm_insert_epi16(a1, a0, A2::value); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/load.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/load.hpp deleted file mode 100644 index 1ac3569..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/load.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_LOAD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - double load without offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , (iterator_< scalar_< double_ > >) - ((target_< simd_< double_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A1::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0, const A1&) const - { - return _mm_loadu_pd(a0); - } - }; - - /// INTERNAL ONLY - single load without offset - BOOST_DISPATCH_IMPLEMENT ( load_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , (iterator_< scalar_< single_ > >) - ((target_< simd_< single_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A1::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0, const A1&) const - { - return _mm_loadu_ps(a0); - } - }; - - /// INTERNAL ONLY - integers load without offset - BOOST_DISPATCH_IMPLEMENT_IF ( load_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ( simd::meta::is_pointing_to - < A0 - , typename A1::type::value_type - > - ) - , (iterator_< scalar_< integer_ > >) - ((target_< simd_ - < integer_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A1::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 a0, const A1&) const - { - return _mm_loadu_si128(reinterpret_cast<__m128i const*>(a0)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/make.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/make.hpp deleted file mode 100644 index ae8ff1a..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/make.hpp +++ /dev/null @@ -1,117 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_MAKE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::sse2_ - , (A0) - , ((target_ < simd_ < double_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(2) { return _mm_setr_pd(a0, a1); } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::sse2_ - , (A0) - , ((target_ < simd_ < ints64_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(2) - { -#ifdef BOOST_SIMD_ARCH_X86_64 - return _mm_set_epi64x(a1, a0); -#else - return _mm_setr_epi32( (uint64_t(a0) & 0x00000000FFFFFFFFULL) - , (uint64_t(a0) & 0xFFFFFFFF00000000ULL) >> 32 - , (uint64_t(a1) & 0x00000000FFFFFFFFULL) - , (uint64_t(a1) & 0xFFFFFFFF00000000ULL) >> 32 - ); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::sse2_ - , (A0) - , ((target_ < simd_ < single_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(4) { return _mm_setr_ps(a0, a1, a2, a3); } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::sse2_ - , (A0) - , ((target_ < simd_ < ints32_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(4) { return _mm_setr_epi32(a0, a1, a2, a3); } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::sse2_ - , (A0) - , ((target_ < simd_ < ints16_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(8) - { - return _mm_setr_epi16(a0, a1, a2, a3 , a4, a5, a6, a7 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::sse2_ - , (A0) - , ((target_ < simd_ < ints8_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(16) - { - return _mm_setr_epi8 ( a0, a1 , a2, a3 , a4, a5, a6, a7 - , a8, a9, a10, a11 , a12, a13, a14, a15 ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/slide.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/slide.hpp deleted file mode 100644 index 21b2ff6..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/slide.hpp +++ /dev/null @@ -1,169 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_SLIDE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::sse2_ - , (A0)(N) - , ((simd_< arithmetic_ - , boost::simd::tag::sse_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, N const&) const - { - return eval ( a0 - , boost::mpl::bool_() - , boost::mpl::bool_ < (N::value == A0::static_size) - || (N::value == -A0::static_size) - >() - ); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0 - , boost::mpl::true_ const&, boost::mpl::false_ const& - ) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval( A0 const& - , boost::mpl::false_ const&, boost::mpl::true_ const& - ) const - { - return Zero(); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0 - , boost::mpl::false_ const&, boost::mpl::false_ const& - ) const - { - return eval(a0, mpl::bool_<(N::value>=0)>()); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, boost::mpl::true_ const& ) const - { - typedef typename A0::template rebind::type u8type; - - static const std::size_t s = (16u/meta::cardinal_of::value)*(N::value); - u8type that = _mm_srli_si128(bitwise_cast(a0),s); - - return bitwise_cast(that); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, boost::mpl::false_ const& ) const - { - typedef typename A0::template rebind::type u8type; - - static const std::size_t s = (16u/meta::cardinal_of::value)*(-N::value); - u8type that = _mm_slli_si128(bitwise_cast(a0),s); - - return bitwise_cast(that); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::sse2_ - , (A0)(N) - , ((simd_< arithmetic_ - , boost::simd::tag::sse_ - > - )) - ((simd_< arithmetic_ - , boost::simd::tag::sse_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, N const&) const - { - return side ( a0, a1 - , boost::mpl::bool_< (N::value>=0) >() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::true_ const&) const - { - return eval ( a0, a1 - , boost::mpl::bool_() - , boost::mpl::bool_() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::false_ const&) const - { - return slide(a1,a0); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& - , boost::mpl::true_ const&, boost::mpl::false_ const& - ) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval( A0 const&, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::true_ const& - ) const - { - return a1; - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::false_ const& - ) const - { - typedef typename A0::template rebind::type u8type; - - // Compute relative offsets for shifted loads pair - static const std::size_t cardinal = meta::cardinal_of::value; - static const std::size_t shifta = (16u/cardinal)*(N::value); - static const std::size_t shiftb = (16u/cardinal)*(cardinal-N::value); - - // Shift everything in place - u8type s = _mm_or_si128 ( _mm_srli_si128(bitwise_cast(a0),shifta) - , _mm_slli_si128(bitwise_cast(a1),shiftb) - ); - - return bitwise_cast(s); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/splat.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/splat.hpp deleted file mode 100644 index 20ed951..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/splat.hpp +++ /dev/null @@ -1,140 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_SPLAT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < double_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_set1_pd(double(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < single_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_set1_ps(float(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < ints8_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_set1_epi8(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < ints16_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_set1_epi16(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < ints32_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_set1_epi32(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < ints64_ - , boost::simd::tag::sse_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { -#ifdef BOOST_SIMD_ARCH_X86_64 - result_type that = _mm_set1_epi64x(a0); -#else - result_type that = make(a0, a0); -#endif - return that; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/store.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/store.hpp deleted file mode 100644 index 889e283..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/store.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_STORE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - double SIMD store without offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < double_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< double_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128d a0, A1 a1) const - { - _mm_storeu_pd(a1,a0); - } - }; - - /// INTERNAL ONLY - single SIMD store without offset - BOOST_DISPATCH_IMPLEMENT ( store_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< single_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 a0, A1 a1) const - { - _mm_storeu_ps(a1,a0); - } - }; - - /// INTERNAL ONLY - integers SIMD store without offset - BOOST_DISPATCH_IMPLEMENT_IF ( store_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ( simd::meta::is_pointing_to - < A1 - , typename dispatch::meta - ::scalar_of::type - > - ) - , ((simd_ < integer_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< integer_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i a0, A1 a1) const - { - _mm_storeu_si128(reinterpret_cast<__m128i*>(a1), a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse2/stream.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse2/stream.hpp deleted file mode 100644 index 152d92b..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse2/stream.hpp +++ /dev/null @@ -1,146 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE2_STREAM_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - double SIMD stream with offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , boost::simd::tag::sse2_ - , (A0)(A1)(A2) - , ((simd_ < double_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< double_ > >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128d a0, A1 a1, A2 a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1 + a2, sizeof(__m128d)); - _mm_stream_pd(a1+a2,a0); - } - }; - - /// INTERNAL ONLY - double SIMD stream without offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < double_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< double_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128d a0, A1 a1 ) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m128d)); - _mm_stream_pd(a1,a0); - } - }; - - /// INTERNAL ONLY - single SIMD stream with offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , boost::simd::tag::sse2_ - , (A0)(A1)(A2) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< single_ > >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 a0, A1 a1, A2 a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1 + a2, sizeof(__m128)); - _mm_stream_ps(a1+a2,a0); - } - }; - - /// INTERNAL ONLY - single SIMD stream without offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< single_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m128)); - _mm_stream_ps(a1,a0); - } - }; - - /// INTERNAL ONLY - integers SIMD stream with offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , boost::simd::tag::sse2_ - , (A0)(A1)(A2) - , ((simd_ < integer_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< integer_ > >) - (scalar_< integer_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i a0, A1 a1, A2 a2) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1 + a2, sizeof(__m128i)); - _mm_stream_si128(reinterpret_cast<__m128i*>(a1 + a2), a0); - } - }; - - /// INTERNAL ONLY - integers SIMD stream without offset - BOOST_DISPATCH_IMPLEMENT ( stream_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < integer_ - , boost::simd::tag::sse_ - > - )) - (iterator_< scalar_< integer_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(__m128i)); - _mm_stream_si128(reinterpret_cast<__m128i*>(a1), a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse4_1/extract.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse4_1/extract.hpp deleted file mode 100644 index 5c94c50..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse4_1/extract.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE4_1_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE4_1_EXTRACT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse4_2_ - , (A0)(A1) - , ((simd_< ints8_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - enum { value = A1::value }; - return result_type(_mm_extract_epi8(a0, value)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse4_2_ - , (A0)(A1) - , ((simd_< ints32_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - enum { value = A1::value }; - return result_type(_mm_extract_epi32(a0, value)); - } - }; - -#ifdef BOOST_SIMD_ARCH_X86_64 - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse4_2_ - , (A0)(A1) - , ((simd_< ints64_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - enum { value = A1::value }; - return result_type(_mm_extract_epi64(a0, value)); - } - }; -#endif - - BOOST_DISPATCH_IMPLEMENT ( extract_ - , boost::simd::tag::sse4_2_ - , (A0)(A1) - , ((simd_< single_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - float f; - enum { value = A1::value }; - _MM_EXTRACT_FLOAT(f, a0, value); - return f; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/sse4_1/insert.hpp b/inst/include/boost/simd/memory/functions/simd/sse/sse4_1/insert.hpp deleted file mode 100644 index 234312e..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/sse4_1/insert.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE4_1_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSE4_1_INSERT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( insert_ - , boost::simd::tag::sse2_ - , (A0)(A1)(A2) - , (scalar_< integer_ >) - ((simd_< ints8_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2) const - { - a1 = _mm_insert_epi8(a1, a0, A2::value); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( insert_ - , boost::simd::tag::sse2_ - , (A0)(A1)(A2) - , (scalar_< integer_ >) - ((simd_< ints32_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2) const - { - a1 = _mm_insert_epi32(a1, a0, A2::value); - } - }; - -#ifdef BOOST_SIMD_ARCH_X86_64 - BOOST_DISPATCH_IMPLEMENT ( insert_ - , boost::simd::tag::sse2_ - , (A0)(A1)(A2) - , (scalar_< integer_ >) - ((simd_< ints64_, boost::simd::tag::sse_ >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2) const - { - a1 = _mm_insert_epi64(a1, a0, A2::value); - } - }; -#endif - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/sse/ssse3/slide.hpp b/inst/include/boost/simd/memory/functions/simd/sse/ssse3/slide.hpp deleted file mode 100644 index b9660f6..0000000 --- a/inst/include/boost/simd/memory/functions/simd/sse/ssse3/slide.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSSE3_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_SSE_SSSE3_SLIDE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - slide between scalar values - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::ssse3_ - , (A0)(N) - , ((simd_< arithmetic_ - , boost::simd::tag::sse_ - > - )) - ((simd_< arithmetic_ - , boost::simd::tag::sse_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, N const&) const - { - return side ( a0, a1 - , boost::mpl::bool_< (N::value>=0) >() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::true_ const&) const - { - return eval ( a0, a1 - , boost::mpl::bool_() - , boost::mpl::bool_() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::false_ const&) const - { - return slide(a1,a0); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& - , boost::mpl::true_ const&, boost::mpl::false_ const& - ) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval( A0 const&, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::true_ const& - ) const - { - return a1; - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::false_ const& - ) const - { - typedef typename A0::value_type scalar_type; - typedef typename A0::template rebind::type u8type; - - typedef boost::mpl::int_ bitcount; - - return bitwise_cast - ( u8type( _mm_alignr_epi8 ( bitwise_cast(a1) - , bitwise_cast(a0) - , bitcount::value - ) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/aligned_load.hpp b/inst/include/boost/simd/memory/functions/simd/vmx/altivec/aligned_load.hpp deleted file mode 100644 index 21e961d..0000000 --- a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/aligned_load.hpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_ALIGNED_LOAD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - SIMD load without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_ - , boost::simd::tag::vmx_ - , (A0)(A2) - , ( simd::meta::is_pointing_to - < A0 - , typename A2::type::value_type - > - ) - , (iterator_< scalar_< arithmetic_ > >) - ((target_ - < simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A2::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0, sizeof(result_type)); - return vec_ld(0, char_helper(a0)); - } - }; - - /// INTERNAL ONLY - Load with static misalignment without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_load_ - , boost::simd::tag::vmx_ - , (A0)(A2)(A3) - , ( simd::meta::is_pointing_to - < A0 - , typename A2::type::value_type - > - ) - , (iterator_< scalar_< arithmetic_ > >) - ((target_ - < simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename A2::type result_type; - - typedef typename A3::value_type align_t; - static const std::size_t cardinal = meta::cardinal_of::value; - static const align_t unalignment = A3::value % cardinal; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&, const A3&) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a0-A3::value, sizeof(result_type)); - return eval( a0, boost::mpl::bool_() ); - } - - // Periodic case - Just load as normal - BOOST_FORCEINLINE result_type eval( A0 a0, boost::mpl::true_ const&) const - { - return boost::simd::aligned_load(a0); - } - - // Non-periodic case - BOOST_FORCEINLINE result_type eval(A0 a0, boost::mpl::false_ const&) const - { - // Load aligned sources - result_type a = simd::aligned_load(a0-unalignment); - result_type b = simd::aligned_load(a0-unalignment,cardinal); - - // Shift everything in place - return slide(a,b); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/aligned_store.hpp b/inst/include/boost/simd/memory/functions/simd/vmx/altivec/aligned_store.hpp deleted file mode 100644 index e254ed2..0000000 --- a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/aligned_store.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_ALIGNED_STORE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - SIMD store without offset - BOOST_DISPATCH_IMPLEMENT_IF ( aligned_store_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ( simd::meta::is_pointing_to - < A1 - , typename dispatch::meta - ::scalar_of::type - > - ) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - (iterator_< scalar_< arithmetic_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, A1 a1) const - { - BOOST_SIMD_DETAILS_CHECK_PTR(a1, sizeof(A0)); - vec_st(a0(), 0, char_helper(a1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/bitwise_cast.hpp b/inst/include/boost/simd/memory/functions/simd/vmx/altivec/bitwise_cast.hpp deleted file mode 100644 index 2fec75b..0000000 --- a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/bitwise_cast.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_CAST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_cast_, boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_< arithmetic_, boost::simd::tag::vmx_ >)) - ((target_< simd_< arithmetic_, boost::simd::tag::vmx_ > >)) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return (typename result_type::native_type)a0(); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/load.hpp b/inst/include/boost/simd/memory/functions/simd/vmx/altivec/load.hpp deleted file mode 100644 index adb53d8..0000000 --- a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/load.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_LOAD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - SIMD unaligned load without offset - BOOST_DISPATCH_IMPLEMENT_IF ( load_ - , boost::simd::tag::vmx_ - , (A0)(A2) - , ( simd::meta::is_pointing_to - < A0 - , typename A2::type::value_type - > - ) - , (iterator_< scalar_< arithmetic_ > >) - ((target_ - < simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A2::type result_type; - typedef typename boost::pointee::type value_t; - typedef typename result_type::native_type n_t; - - static const std::size_t sz = sizeof(value_t); - static const std::size_t card = meta::cardinal_of::value; - static const std::size_t cdz = card*sz-1; - - BOOST_FORCEINLINE result_type operator()(A0 a0, const A2&) const - { - typename char_helper_impl::type* ptr = char_helper(a0); - - n_t MSQ = vec_ld ( 0 , ptr ); - __vector unsigned char mask = vec_lvsl ( 0 , ptr ); - n_t LSQ = vec_ld ( cdz , ptr ); - - return vec_perm(MSQ, LSQ, mask); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/make.hpp b/inst/include/boost/simd/memory/functions/simd/vmx/altivec/make.hpp deleted file mode 100644 index e2c37e7..0000000 --- a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/make.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_MAKE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < type32_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(4) - { - typename result_type::native_type that = { a0, a1, a2, a3 }; - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < type16_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(8) - { - typename result_type::native_type that = { a0, a1, a2, a3 , a4, a5, a6, a7 }; - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( make_ - , boost::simd::tag::vmx_ - , (A0) - , ((target_ < simd_ < type8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - BOOST_SIMD_MAKE_BODY(16) - { - typename result_type::native_type that = { a0, a1 , a2, a3 , a4, a5, a6, a7 - , a8, a9, a10, a11 , a12, a13, a14, a15 }; - return that; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/slide.hpp b/inst/include/boost/simd/memory/functions/simd/vmx/altivec/slide.hpp deleted file mode 100644 index 0952c0c..0000000 --- a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/slide.hpp +++ /dev/null @@ -1,163 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_SLIDE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::vmx_ - , (A0)(N) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, N const&) const - { - return eval ( a0 - , boost::mpl::bool_() - , boost::mpl::bool_ < (N::value == A0::static_size) - || (N::value == -A0::static_size) - >() - ); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0 - , boost::mpl::true_ const&, boost::mpl::false_ const& - ) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval( A0 const& - , boost::mpl::false_ const&, boost::mpl::true_ const& - ) const - { - return Zero(); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0 - , boost::mpl::false_ const&, boost::mpl::false_ const& - ) const - { - return eval(a0, mpl::bool_<(N::value>=0)>()); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, boost::mpl::true_ const& ) const - { - typedef boost::mpl::char_ < ( sizeof(typename meta::scalar_of::type) - * N::value - ) <<3 - > v; - - __vector unsigned char s = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,v::value}; - return vec_slo( a0(), s ); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, boost::mpl::false_ const& ) const - { - typedef boost::mpl::char_ < ( sizeof(typename meta::scalar_of::type) - * (-N::value) - ) <<3 - > v; - - __vector unsigned char s = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,v::value}; - return vec_sro( a0(), s ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( slide_ - , boost::simd::tag::vmx_ - , (A0)(N) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, N const&) const - { - return side ( a0, a1 - , boost::mpl::bool_< (N::value>=0) >() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::true_ const&) const - { - return eval ( a0, a1 - , boost::mpl::bool_() - , boost::mpl::bool_() - ); - } - - BOOST_FORCEINLINE - result_type side(A0 const& a0, A0 const& a1, boost::mpl::false_ const&) const - { - return slide(a1,a0); - } - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& - , boost::mpl::true_ const&, boost::mpl::false_ const& - ) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval( A0 const&, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::true_ const& - ) const - { - return a1; - } - - - BOOST_FORCEINLINE - result_type eval( A0 const& a0, A0 const& a1 - , boost::mpl::false_ const&, boost::mpl::false_ const& - ) const - { - typedef typename meta::scalar_of::type scalar_type; - return vec_sld( a0(), a1() , sizeof(scalar_type) * N::value ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/splat.hpp b/inst/include/boost/simd/memory/functions/simd/vmx/altivec/splat.hpp deleted file mode 100644 index d17df25..0000000 --- a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/splat.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_SPLAT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splat_ - , boost::simd::tag::vmx_, (A0)(A1) - , (scalar_< fundamental_ >) - ((target_ < simd_ < arithmetic_ - ,boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename A1::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1&) const - { - result_type v; - v[0] = a0; - return vec_splat(v(), 0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/store.hpp b/inst/include/boost/simd/memory/functions/simd/vmx/altivec/store.hpp deleted file mode 100644 index 8740e0b..0000000 --- a/inst/include/boost/simd/memory/functions/simd/vmx/altivec/store.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SIMD_VMX_ALTIVEC_STORE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY SIMD unaligned store without offset - BOOST_DISPATCH_IMPLEMENT_IF ( store_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ( simd::meta::is_pointing_to - < A1 - , typename dispatch::meta - ::scalar_of::type - > - ) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - (iterator_< scalar_< arithmetic_ > >) - ) - { - typedef void result_type; - typedef typename boost::pointee::type value_t; - typedef typename A0::native_type n_t; - - static const std::size_t sz = sizeof(value_t); - static const std::size_t card = meta::cardinal_of::value; - static const std::size_t a2z = card*sz-1; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, A1 a1) const - { - typename char_helper_impl::type* ptr = char_helper(a1); - - n_t MSQ = vec_ld ( 0 , ptr ); - __vector unsigned char edgeAlign = vec_lvsl( 0 , ptr ); - n_t LSQ = vec_ld ( a2z , ptr ); - __vector unsigned char align = vec_lvsr( 0 , ptr ); - n_t edges = vec_perm( LSQ , MSQ, edgeAlign ); - - MSQ = vec_perm(edges, a0(), align); - LSQ = vec_perm(a0(), edges, align); - - vec_st(LSQ, a2z, ptr); - vec_st(MSQ, 0 , ptr); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/memory/functions/slide.hpp b/inst/include/boost/simd/memory/functions/slide.hpp deleted file mode 100644 index 631d67f..0000000 --- a/inst/include/boost/simd/memory/functions/slide.hpp +++ /dev/null @@ -1,102 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SLIDE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief slide generic tag - - Represents the slide function in generic contexts. - - @par Models: - Hierarchy - **/ - struct slide_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_slide_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_slide_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_slide_; - } - - /*! - @brief Shifted truncation of two vectors - - Compute a vector made of the first elements of the vector obtained by - shifting the concatenation of @c a0 and @c a1 by @c N elements on the left - or on the right depending on the sign of @c N. - - @par Semantic: - - @tparam N - @param a0 - @param a1 - **/ - template - BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - )>::type - slide(A0 const& a0, A1 const& a1) - { - typename boost::dispatch::meta - ::dispatch_call const& - )>::type callee; - - return callee(a0, a1, mpl::int_()); - } - - /*! - @brief Global vector shifting - - Compute a vector made of the first elements of the vector obtained by - shifting left the concatenation of @c a0 by @c N elements on the left or - on the right depending on the sign of @c N. - - @tparam N - @param a0 - **/ - template - BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const&)>::type - slide(A0 const& a0) - { - typename boost::dispatch::meta - ::dispatch_call const& - )>::type callee; - - return callee(a0, mpl::int_()); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/splat.hpp b/inst/include/boost/simd/memory/functions/splat.hpp deleted file mode 100644 index 9a3d58c..0000000 --- a/inst/include/boost/simd/memory/functions/splat.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_SPLAT_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief splat generic tag - - Represents the splat function in generic contexts. - - @par Models: - Hierarchy - **/ - struct splat_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_splat_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_splat_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_splat_; - } - - template BOOST_FORCEINLINE - typename boost::dispatch::meta::call)>::type - splat(A0 const& a0) - { - typename boost::dispatch::make_functor::type callee; - return callee(a0, boost::dispatch::meta::as_() ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/store.hpp b/inst/include/boost/simd/memory/functions/store.hpp deleted file mode 100644 index 44bcfda..0000000 --- a/inst/include/boost/simd/memory/functions/store.hpp +++ /dev/null @@ -1,107 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== - -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_STORE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief store generic tag - - Represents the store function in generic contexts. - - @par Models: - Hierarchy - **/ - struct store_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_store_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_store_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_store_; - } - - /*! - @brief Store a value at an arbitrary memory location - - Store a given value into a random memory location referenced by either - a pointer or a pointer and an offset. To support SIMD idioms like data - scattering or non-POD values, both pointer and offset arguments can - themselves be SIMD register or Fusion Sequences. - - @par Semantic: - - store semantic is similar to aligned_store semantic except for the fact - that memory location doesn't need to be aligned. - - @param val Value to stream - @param ptr Memory location to stream @c val to - @param offset Optional memory offset. Can be either a scalar or a SIMD type - of same cardinal than the value to write (scatter). - @param mask Optional logical mask. Only stores values for which the mask is true. - **/ - template - BOOST_FORCEINLINE void - store(Value const& val, Pointer const& ptr, Offset const& offset) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - callee(val, ptr, offset); - } - - /// @overload - template - BOOST_FORCEINLINE void - store(Value const& val, Pointer const& ptr) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - callee(val, ptr); - } - - /// @overload for mask scatter - template - BOOST_FORCEINLINE void - store(Value const& val, Pointer const& ptr, Offset const& offset, Mask const& mask) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - callee(val, ptr, offset, mask); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/functions/stream.hpp b/inst/include/boost/simd/memory/functions/stream.hpp deleted file mode 100644 index b350714..0000000 --- a/inst/include/boost/simd/memory/functions/stream.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_FUNCTIONS_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_FUNCTIONS_STREAM_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief stream generic tag - - Represents the stream function in generic contexts. - - @par Models: - Hierarchy - **/ - struct stream_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_stream_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_stream_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_stream_; - } - - /*! - @brief Stream a value in memory - - Store a given value into an arbitrary memory location referenced by either - a pointer or a pointer and an offset without polluting the caches. - - @par Semantic: - - stream semantic is similar to store semantic except for the fact that no - cache pollution occurs on architecture that support such memory operations. - On other architecture, stream is simply an alias for store. - - @param val Value to stream - @param ptr Memory location to stream @c val to - @param offset Optional memory offset. - **/ - template - BOOST_FORCEINLINE void - stream(Value const& val, Pointer const& ptr, Offset const& offset) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - callee(val, ptr, offset); - } - - /// @overload - template - BOOST_FORCEINLINE void stream(Value const& val, Pointer const& ptr) - { - typename boost::dispatch::meta - ::dispatch_call::type callee; - callee(val, ptr); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/aligned_load.hpp b/inst/include/boost/simd/memory/include/functions/aligned_load.hpp deleted file mode 100644 index 9518aef..0000000 --- a/inst/include/boost/simd/memory/include/functions/aligned_load.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/aligned_store.hpp b/inst/include/boost/simd/memory/include/functions/aligned_store.hpp deleted file mode 100644 index aab041f..0000000 --- a/inst/include/boost/simd/memory/include/functions/aligned_store.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/assign.hpp b/inst/include/boost/simd/memory/include/functions/assign.hpp deleted file mode 100644 index c04b44f..0000000 --- a/inst/include/boost/simd/memory/include/functions/assign.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_ASSIGN_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_ASSIGN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/bitwise_cast.hpp b/inst/include/boost/simd/memory/include/functions/bitwise_cast.hpp deleted file mode 100644 index 1b38fc7..0000000 --- a/inst/include/boost/simd/memory/include/functions/bitwise_cast.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/extract.hpp b/inst/include/boost/simd/memory/include/functions/extract.hpp deleted file mode 100644 index 2d680fc..0000000 --- a/inst/include/boost/simd/memory/include/functions/extract.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_EXTRACT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/insert.hpp b/inst/include/boost/simd/memory/include/functions/insert.hpp deleted file mode 100644 index a3609f0..0000000 --- a/inst/include/boost/simd/memory/include/functions/insert.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_INSERT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/load.hpp b/inst/include/boost/simd/memory/include/functions/load.hpp deleted file mode 100644 index 0d20db6..0000000 --- a/inst/include/boost/simd/memory/include/functions/load.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/make.hpp b/inst/include/boost/simd/memory/include/functions/make.hpp deleted file mode 100644 index 2796a4a..0000000 --- a/inst/include/boost/simd/memory/include/functions/make.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_MAKE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/aligned_load.hpp b/inst/include/boost/simd/memory/include/functions/scalar/aligned_load.hpp deleted file mode 100644 index 097787d..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/aligned_load.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/aligned_store.hpp b/inst/include/boost/simd/memory/include/functions/scalar/aligned_store.hpp deleted file mode 100644 index 39a580c..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/aligned_store.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_STORE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/assign.hpp b/inst/include/boost/simd/memory/include/functions/scalar/assign.hpp deleted file mode 100644 index 0fc4e3e..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/assign.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ASSIGN_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ASSIGN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/bitwise_cast.hpp b/inst/include/boost/simd/memory/include/functions/scalar/bitwise_cast.hpp deleted file mode 100644 index ea75852..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/bitwise_cast.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_BITWISE_CAST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/extract.hpp b/inst/include/boost/simd/memory/include/functions/scalar/extract.hpp deleted file mode 100644 index 27b092a..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/extract.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_EXTRACT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/insert.hpp b/inst/include/boost/simd/memory/include/functions/scalar/insert.hpp deleted file mode 100644 index 01858a4..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/insert.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_INSERT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/load.hpp b/inst/include/boost/simd/memory/include/functions/scalar/load.hpp deleted file mode 100644 index f673de2..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/load.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_LOAD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/make.hpp b/inst/include/boost/simd/memory/include/functions/scalar/make.hpp deleted file mode 100644 index c48f56e..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/make.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_MAKE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/slide.hpp b/inst/include/boost/simd/memory/include/functions/scalar/slide.hpp deleted file mode 100644 index 8f8f982..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/slide.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_SLIDE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/splat.hpp b/inst/include/boost/simd/memory/include/functions/scalar/splat.hpp deleted file mode 100644 index 898706e..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/splat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_SPLAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/store.hpp b/inst/include/boost/simd/memory/include/functions/scalar/store.hpp deleted file mode 100644 index dadf955..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/store.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_STORE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/scalar/stream.hpp b/inst/include/boost/simd/memory/include/functions/scalar/stream.hpp deleted file mode 100644 index 76fd7d6..0000000 --- a/inst/include/boost/simd/memory/include/functions/scalar/stream.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SCALAR_STREAM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/aligned_load.hpp b/inst/include/boost/simd/memory/include/functions/simd/aligned_load.hpp deleted file mode 100644 index 3b1482f..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/aligned_load.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_ALIGNED_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/aligned_store.hpp b/inst/include/boost/simd/memory/include/functions/simd/aligned_store.hpp deleted file mode 100644 index e1d9b29..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/aligned_store.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_ALIGNED_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_ALIGNED_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/assign.hpp b/inst/include/boost/simd/memory/include/functions/simd/assign.hpp deleted file mode 100644 index d707cdd..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/assign.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_ASSIGN_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_ASSIGN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/bitwise_cast.hpp b/inst/include/boost/simd/memory/include/functions/simd/bitwise_cast.hpp deleted file mode 100644 index e1b7d7c..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/bitwise_cast.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_BITWISE_CAST_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_BITWISE_CAST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/extract.hpp b/inst/include/boost/simd/memory/include/functions/simd/extract.hpp deleted file mode 100644 index 028884d..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/extract.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_EXTRACT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_EXTRACT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/insert.hpp b/inst/include/boost/simd/memory/include/functions/simd/insert.hpp deleted file mode 100644 index a51f01f..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/insert.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_INSERT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_INSERT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/load.hpp b/inst/include/boost/simd/memory/include/functions/simd/load.hpp deleted file mode 100644 index ca2048f..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/load.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_LOAD_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/make.hpp b/inst/include/boost/simd/memory/include/functions/simd/make.hpp deleted file mode 100644 index 8fd6572..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/make.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_MAKE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_MAKE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/slide.hpp b/inst/include/boost/simd/memory/include/functions/simd/slide.hpp deleted file mode 100644 index b060d54..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/slide.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_SLIDE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/splat.hpp b/inst/include/boost/simd/memory/include/functions/simd/splat.hpp deleted file mode 100644 index 950b76e..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/splat.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/store.hpp b/inst/include/boost/simd/memory/include/functions/simd/store.hpp deleted file mode 100644 index b947a02..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/store.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/simd/stream.hpp b/inst/include/boost/simd/memory/include/functions/simd/stream.hpp deleted file mode 100644 index 0910327..0000000 --- a/inst/include/boost/simd/memory/include/functions/simd/stream.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SIMD_STREAM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/slide.hpp b/inst/include/boost/simd/memory/include/functions/slide.hpp deleted file mode 100644 index 33a44d2..0000000 --- a/inst/include/boost/simd/memory/include/functions/slide.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SLIDE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SLIDE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/splat.hpp b/inst/include/boost/simd/memory/include/functions/splat.hpp deleted file mode 100644 index e0902df..0000000 --- a/inst/include/boost/simd/memory/include/functions/splat.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SPLAT_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/store.hpp b/inst/include/boost/simd/memory/include/functions/store.hpp deleted file mode 100644 index 2a0e480..0000000 --- a/inst/include/boost/simd/memory/include/functions/store.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_STORE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/include/functions/stream.hpp b/inst/include/boost/simd/memory/include/functions/stream.hpp deleted file mode 100644 index a95daa3..0000000 --- a/inst/include/boost/simd/memory/include/functions/stream.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_STREAM_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INCLUDE_FUNCTIONS_STREAM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/input_iterator.hpp b/inst/include/boost/simd/memory/input_iterator.hpp deleted file mode 100644 index 0593c42..0000000 --- a/inst/include/boost/simd/memory/input_iterator.hpp +++ /dev/null @@ -1,154 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_INPUT_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INPUT_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Read-only SIMD iterator - - input_iterator adapt an Iterator into a standard compliant iterator that - traverses this memory block using SIMD registers. - - @par Models: - - @model{ http://www.cplusplus.com/reference/iterator/RandomAccessIterator/ - , RandomAccessIterator - } - - @usage_output{memory/input_iterator.cpp,memory/input_iterator.out} - - @tparam Iterator Iterator type to adapt - @tparam C Width of the SIMD register to use as iteration value. By default - this value is equal to the optimal register cardinal for current - architecture and type @c T. - **/ - template< typename Iterator - , std::size_t C = meta::cardinal_of - < pack< typename std::iterator_traits - ::value_type - > - >::value - > - struct input_iterator - : details::input_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::load_ - > - { - typedef details::input_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::load_ - > parent; - - /// Default constructor - input_iterator() : parent() {} - - /// INTERNAL ONLY - input_iterator( parent const& src ) : parent(src) {} - - /// Constructor from an aligned pointer - explicit input_iterator(Iterator p) : parent(p) {} - }; - - /*! - @brief Adapter for SIMD read-only iterator - - Convert an existing iterator referencing the beginning of a contiguous memory - block into a SIMD aware read-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/input_iterator.cpp,memory/input_iterator.out} - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of input_iterator - **/ - template inline - input_iterator input_begin(Iterator p) - { - return input_iterator(p); - } - - /*! - @brief Adapter for SIMD read-only iterator - - Convert an existing iterator referencing the beginning of a contiguous memory - block into a SIMD aware read-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/input_iterator.cpp,memory/input_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of input_iterator - **/ - template inline - input_iterator input_begin(Iterator p) - { - return input_iterator(p); - } - - /*! - @brief Adapter for SIMD read-only iterator - - Convert an existing iterator referencing the end of a contiguous memory - block into a SIMD aware read-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/input_iterator.cpp,memory/input_iterator.out} - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of input_iterator - **/ - template inline - input_iterator input_end(Iterator p) - { - return input_iterator(p); - } - - /*! - @brief Adapter for SIMD read-only iterator - - Convert an existing iterator referencing the end of a contiguous memory - block into a SIMD aware read-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/input_iterator.cpp,memory/input_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of input_iterator - **/ - template inline - input_iterator input_end(Iterator p) - { - return input_iterator(p); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/input_range.hpp b/inst/include/boost/simd/memory/input_range.hpp deleted file mode 100644 index 2b03f64..0000000 --- a/inst/include/boost/simd/memory/input_range.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_INPUT_RANGE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_INPUT_RANGE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Adapter for SIMD read-only range - - Convert an existing range specified by two iterators into a SIMD aware - read-only iterator returning SIMD pack of optimal cardinal @c C. - - @usage_output{memory/input_range.cpp,memory/input_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param begin A Range addressing a contiguous memory block - @param end - @return An instance of input_range - **/ - template inline - boost::iterator_range > - input_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end), N) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range(input_begin(begin),input_end(end)); - } - - /*! - @brief Adapter for SIMD read-only range - - Convert an existing range specified by two iterators into a SIMD aware - read-only iterator returning SIMD pack of optimal cardinal for current - architecture. - - @usage_output{memory/input_range.cpp,memory/input_range.out} - - @param begin A Range addressing a contiguous memory block - @param end - @return An instance of input_range - **/ - template inline - boost::iterator_range< input_iterator > - input_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end) , input_iterator::cardinal) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range( input_begin(begin), input_end(end) ); - } - - /*! - @brief Adapter for SIMD read-only range - - Convert an existing range into a SIMD aware read-only iterator returning - SIMD pack of cardinal @c C. - - @usage_output{memory/input_range.cpp,memory/input_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param r A Range addressing a contiguous memory block - - @return An instance of input_range - **/ - template inline - boost::iterator_range::type,N> > - input_range( Range const& r ) - { - return input_range( boost::begin(r), boost::end(r) ); - } - - /*! - @brief Adapter for SIMD read-only range - - Convert an existing range into a SIMD aware read-only iterator returning - SIMD pack of optimal cardinal for current architecture. - - @usage_output{memory/input_range.cpp,memory/input_range.out} - - @param r A Range addressing a contiguous memory block - - @return An instance of input_range - **/ - template inline - boost::iterator_range::type> > - input_range( Range const& r ) - { - return input_range( boost::begin(r), boost::end(r) ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/is_aligned.hpp b/inst/include/boost/simd/memory/is_aligned.hpp deleted file mode 100644 index 6ef6508..0000000 --- a/inst/include/boost/simd/memory/is_aligned.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_IS_ALIGNED_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_IS_ALIGNED_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the is_aligned function -**/ - -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Alignment predicate for integers and pointers - - Checks if a value or pointer is aligned on an arbitrary alignment boundary - - @par Semantic: - - For any integer @c v and @c a: - - @code - bool r = is_aligned(v,a); - @endcode - - is equivalent to - - @code - bool r = (reinterpret_cast(v) % a) == 0 - @endcode - - If @c a is not a power of two, an assertion is triggered. - - @usage{memory/is_aligned.cpp} - - @param value Value to check - @param align Alignment boundary to check for. If unspecified, @c align is - equal to the current SIMD alignment. - - @return A boolean indicating if @c value is aligned on @c align - **/ - BOOST_FORCEINLINE - bool is_aligned ( std::size_t value - , std::size_t align = BOOST_SIMD_CONFIG_ALIGNMENT - ) - { - BOOST_ASSERT_MSG - ( boost::simd::is_power_of_2(align) - , "Invalid alignment boundary. You tried to check if " - "an address or a value is aligned on a non-power of 2 boundary." - ); - - return !(value & (align-1) ); - } - - /// @overload - template BOOST_FORCEINLINE - bool is_aligned ( T* ptr - , std::size_t align = BOOST_SIMD_CONFIG_ALIGNMENT - ) - { - return boost::simd::is_aligned(reinterpret_cast(ptr),align); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/is_power_of_2.hpp b/inst/include/boost/simd/memory/is_power_of_2.hpp deleted file mode 100644 index 4e97b1d..0000000 --- a/inst/include/boost/simd/memory/is_power_of_2.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_IS_POWER_OF_2_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_IS_POWER_OF_2_HPP_INCLUDED - -/*! - @file - @brief Defines and implements is_power_of_2 -**/ - -#include - -namespace boost { namespace simd -{ - /*! - @brief Power of two compliance predicate for integers - - Checks if a value is a non-zero power of two. - - @par Semantic: - - For any integer @c v : - - @code - bool r = is_power_of_2(v); - @endcode - - is equivalent to - - @code - bool r = (!(value & (value - 1)) && value); - @endcode - - If @c a is not a power of two, an assertion is triggered. - - @usage{memory/is_power_of_2.cpp} - - @param value Value to check - - @return A boolean indicating if @c value is a non-zero power of two - **/ - template BOOST_FORCEINLINE - bool is_power_of_2(Integer value) - { - return (!(value & (value - 1)) && value); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/iterator.hpp b/inst/include/boost/simd/memory/iterator.hpp deleted file mode 100644 index e626083..0000000 --- a/inst/include/boost/simd/memory/iterator.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/iterator_category.hpp b/inst/include/boost/simd/memory/iterator_category.hpp deleted file mode 100644 index 6b85e0b..0000000 --- a/inst/include/boost/simd/memory/iterator_category.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_ITERATOR_CATEGORY_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_ITERATOR_CATEGORY_HPP_INCLUDED - -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// Some hierarchies -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace dispatch { namespace meta -{ - template struct iterator_ : iterator_< typename T::parent > - { - typedef iterator_< typename T::parent > parent; - }; - - /// INTERNAL ONLY - template struct iterator_< unspecified_ > : unspecified_ - { - typedef unspecified_ parent; - }; - - /// INTERNAL ONLY - template struct iterator_< unknown_ > : unknown_ - { - typedef unknown_ parent; - }; -} } } - -namespace boost { namespace simd { namespace ext -{ - using boost::dispatch::meta::iterator_; -} } } - -//////////////////////////////////////////////////////////////////////////////// -// Specialize hierarchy for all iterator types -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace dispatch { namespace details -{ - template - struct value_of< T - , typename - boost::enable_if_c< meta::is_iterator::value>::type - > - : boost::pointee - {}; - - template<> - struct value_of - { - typedef void type; - }; - - template - struct hierarchy_of< T - , Origin - , typename - boost::enable_if_c< meta::is_iterator::value>::type - > - { - typedef typename boost::pointee::type pointee_type; - typedef typename remove_const::type stripped; - typedef typename mpl::if_< is_same, stripped, Origin>::type origin_; - typedef meta::iterator_ < typename - meta::hierarchy_of::type > type; - }; -} - -namespace meta -{ - template - struct hierarchy_of - { - typedef typename remove_const::type stripped; - typedef typename mpl::if_< is_same, stripped, Origin>::type origin_; - typedef meta::iterator_ > > type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/memory/memory.hpp b/inst/include/boost/simd/memory/memory.hpp deleted file mode 100644 index 15b7fe9..0000000 --- a/inst/include/boost/simd/memory/memory.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_MEMORY_MEMORY_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_MEMORY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/new.hpp b/inst/include/boost/simd/memory/new.hpp deleted file mode 100644 index 08e1ab7..0000000 --- a/inst/include/boost/simd/memory/new.hpp +++ /dev/null @@ -1,225 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_NEW_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_NEW_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -/* - MSVC and Android doesn't fully support exceptions has operators that don't - specify throw() at all. This macro prevent warning spam -*/ -#if defined(ANDROID) || defined(_MSC_VER) -#define BOOST_SIMD_MEMORY_BAD_ALLOC() -#else -#define BOOST_SIMD_MEMORY_BAD_ALLOC() throw(std::bad_alloc) -#endif - -/* - Avoid Clang warning - warning: replacement function 'operator new' cannot be declared 'inline' -*/ -#ifdef __GNUC__ -#define BOOST_SIMD_MEMORY_USED __attribute__((used)) -#else -#define BOOST_SIMD_MEMORY_USED -#endif - -/*! - @brief Aligned new operator for single object - - This is a global overload for the non-throwing operator new for single object - that performs allocation respecting the current architecture - SIMD alignment. - - @param sz Number of bytes to allocates - @param throw_status Non-throwing markup - - @return A pointer referencing a newly allocated aligned memory block -**/ -BOOST_FORCEINLINE BOOST_SIMD_MEMORY_USED BOOST_SIMD_MALLOC void* -operator new(std::size_t sz, const std::nothrow_t& throw_status) throw() -{ - return boost::simd::allocate(sz, throw_status); -} - -/*! - @brief Aligned new operator for single object - - This is a global overload for the throwing operator new for single object - that performs allocation respecting the current architecture - SIMD alignment or throw a @c std::bad_alloc if not. - - @param sz Number of bytes to allocates - - @return A pointer referencing a newly allocated aligned memory block -**/ -BOOST_FORCEINLINE BOOST_SIMD_MEMORY_USED BOOST_SIMD_MALLOC void* -operator new(std::size_t sz) BOOST_SIMD_MEMORY_BAD_ALLOC() -{ - return boost::simd::allocate(sz); -} - -/*! - @brief Aligned new operator for single object - - This is a global overload for the non-throwing operator new - for single object that performs allocation aligned on an arbitrary boundary. - - @param sz Number of bytes to allocates - @param align Alignment boundary to respect - @param throw_status Non-throwing markup - - @return A pointer referencing a newly allocated aligned memory block -**/ -inline BOOST_SIMD_MEMORY_USED BOOST_SIMD_MALLOC void* -operator new( std::size_t sz, std::size_t align - , const std::nothrow_t& throw_status - ) throw() -{ - return boost::simd::allocate(sz, align, throw_status); -} - -/*! - @brief Aligned new operator for single object - - This is a global overload for the throwing operator new for single object - that performs allocation aligned on an arbitrary boundary - or throw a @c std::bad_alloc if not. - - @param sz Number of bytes to allocates - @param align Alignment boundary to respect - - @return A pointer referencing a newly allocated aligned memory block -**/ -inline BOOST_SIMD_MEMORY_USED BOOST_SIMD_MALLOC void* -operator new(std::size_t sz, std::size_t align) BOOST_SIMD_MEMORY_BAD_ALLOC() -{ - return boost::simd::allocate(sz, align); -} - -/*! - @brief Aligned new operator for multiple objects - - This is a global overload for the non-throwing operator new - for multiple objects that performs allocation respecting the current - architecture SIMD alignment. - - @param sz Number of bytes to allocates - @param throw_status Non-throwing markup - - @return A pointer referencing a newly allocated aligned memory block -**/ -BOOST_FORCEINLINE BOOST_SIMD_MEMORY_USED BOOST_SIMD_MALLOC void* -operator new[](std::size_t sz, const std::nothrow_t& throw_status) throw() -{ - return boost::simd::allocate(sz, throw_status); -} - -/*! - @brief Aligned new operator for multiple objects - - This is a global overload for the throwing operator new for multiple objects - that performs allocation respecting the current architecture - SIMD alignment or throw a @c std::bad_alloc if not. - - @param sz Number of bytes to allocates - - @return A pointer referencing a newly allocated aligned memory block -**/ -BOOST_FORCEINLINE BOOST_SIMD_MEMORY_USED BOOST_SIMD_MALLOC void* -operator new[](std::size_t sz) BOOST_SIMD_MEMORY_BAD_ALLOC() -{ - return boost::simd::allocate(sz); -} - -/*! - @brief Aligned new operator for multiples object with specific alignment - - This is a global overload for the non-throwing operator new - for multiples object that performs allocation aligned on an arbitrary boundary. - - @param sz Number of bytes to allocates - @param align Alignment boundary to respect - @param throw_status Non-throwing markup - - @return A pointer referencing a newly allocated aligned memory block -**/ -inline BOOST_SIMD_MEMORY_USED BOOST_SIMD_MALLOC void* -operator new[]( std::size_t sz, std::size_t align - , const std::nothrow_t& throw_status - ) throw() -{ - return boost::simd::allocate(sz, align, throw_status); -} - -/*! - @brief Aligned new operator for multiple objects with specific alignment - - This is a global overload for the throwing operator new for multiple objects - that performs allocation aligned on an arbitrary boundary or throw a - @c std::bad_alloc if not. - - @param sz Number of bytes to allocates - @param align Alignment boundary to respect - - @return A pointer referencing a newly allocated aligned memory block -**/ -inline BOOST_SIMD_MEMORY_USED BOOST_SIMD_MALLOC void* -operator new[](std::size_t sz, std::size_t align) BOOST_SIMD_MEMORY_BAD_ALLOC() -{ - return boost::simd::allocate(sz,align); -} - -/*! - @brief Aligned delete operator - - @param m Pointer referencing the memory block to free -**/ -BOOST_FORCEINLINE BOOST_SIMD_MEMORY_USED -void operator delete(void* m) throw() -{ - boost::simd::deallocate(m); -} - -/*! - @brief Aligned delete[] operator - - @param m Pointer referencing the memory block to free -**/ -BOOST_FORCEINLINE BOOST_SIMD_MEMORY_USED -void operator delete[](void* m) throw() -{ - boost::simd::deallocate(m); -} - -/// @overload -BOOST_FORCEINLINE BOOST_SIMD_MEMORY_USED -void operator delete(void* m, const std::nothrow_t&) throw() -{ - boost::simd::deallocate(m); -} - -/// @overload -BOOST_FORCEINLINE BOOST_SIMD_MEMORY_USED -void operator delete[](void* m, const std::nothrow_t&) throw() -{ - boost::simd::deallocate(m); -} - -#undef BOOST_SIMD_MEMORY_USED -#undef BOOST_SIMD_MEMORY_BAD_ALLOC - -#endif diff --git a/inst/include/boost/simd/memory/new_allocator.hpp b/inst/include/boost/simd/memory/new_allocator.hpp deleted file mode 100644 index fb88bcb..0000000 --- a/inst/include/boost/simd/memory/new_allocator.hpp +++ /dev/null @@ -1,182 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_NEW_ALLOCATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_NEW_ALLOCATOR_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Allocator that uses the type's new operator for allocating memory - - @tparam Type of elements to allocate - **/ - template - struct new_allocator - { - typedef T value_type; - typedef T* pointer; - typedef T const* const_pointer; - typedef T& reference; - typedef T const& const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - /*! - @brief Allocator type rebinding meta-function - - Standard internal meta-function to build an @c new_allocator from an - @c new_allocator - - @tparam U Type to rebind the current new_allocator to - **/ - template - struct rebind - { - typedef new_allocator other; - }; - - /// Default constructor - new_allocator() {} - - /// Constructor from another SIMD new_allocator - template - new_allocator(new_allocator const& ) {} - - /// Retrieve the address of an element - pointer address(reference r) { return &r; } - - /// @overload - const_pointer address(const_reference r) { return &r; } - - /// Maximum amount of memory that can be allocated - size_type max_size() const { return size_type(~0); } - - /// Performs the construction of a given value in a given memory block - void construct(pointer p, const T& t) - { - p = new ((void*)p) value_type (t); - } - - /// Performs the destruction of a given value in a given memory block - void destroy(pointer p) { p->~value_type(); } - - /// Allocate a block of memory with T's new operator - pointer allocate( size_type c, const void* = 0 ) const - { - return static_cast(details::new_allocate_impl(c*sizeof(T), 0)); - } - - /// Deallocate a pointer allocated by the current new_allocator - void deallocate (pointer p, size_type ) const - { - return details::new_deallocate_impl(p, 0); - } - }; - - /// Equality comparison between two new_allocators - template - bool operator== (new_allocator const&, new_allocator const&) - { - return true; - } - - /// Inequality comparison between two new_allocators - template - bool operator!= (new_allocator const&, new_allocator const&) - { - return false; - } - - /*! - @brief Allocator that uses the type's new[] operator for allocating memory - - @tparam Type of elements to allocate - **/ - template - struct new_array_allocator - { - typedef T value_type; - typedef T* pointer; - typedef T const* const_pointer; - typedef T& reference; - typedef T const& const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - /*! - @brief Allocator type rebinding meta-function - - Standard internal meta-function to build an @c new_array_allocator from an - @c new_array_allocator - - @tparam U Type to rebind the current new_array_allocator to - **/ - template - struct rebind - { - typedef new_array_allocator other; - }; - - /// Default constructor - new_array_allocator() {} - - /// Constructor from another SIMD new_array_allocator - template - new_array_allocator(new_array_allocator const& ) {} - - /// Retrieve the address of an element - pointer address(reference r) { return &r; } - - /// @overload - const_pointer address(const_reference r) { return &r; } - - /// Maximum amount of memory that can be allocated - size_type max_size() const { return size_type(~0); } - - /// Performs the construction of a given value in a given memory block - void construct(pointer p, const T& t) - { - p = new ((void*)p) value_type (t); - } - - /// Performs the destruction of a given value in a given memory block - void destroy(pointer p) { p->~value_type(); } - - /// Allocate a block of memory with T's new operator - pointer allocate( size_type c, const void* = 0 ) const - { - return static_cast(details::new_array_allocate_impl(c*sizeof(T), 0)); - } - - /// Deallocate a pointer allocated by the current new_array_allocator - void deallocate (pointer p, size_type ) const - { - return details::new_array_deallocate_impl(p, 0); - } - }; - - /// Equality comparison between two new_array_allocators - template - bool operator== (new_array_allocator const&, new_array_allocator const&) - { - return true; - } - - /// Inequality comparison between two new_array_allocators - template - bool operator!= (new_array_allocator const&, new_array_allocator const&) - { - return false; - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/output_iterator.hpp b/inst/include/boost/simd/memory/output_iterator.hpp deleted file mode 100644 index 1c7e23e..0000000 --- a/inst/include/boost/simd/memory/output_iterator.hpp +++ /dev/null @@ -1,154 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_OUTPUT_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_OUTPUT_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Write-only SIMD iterator - - output_iterator adapt an Iterator into a standard compliant iterator that - traverses this memory block using SIMD registers. - - @par Models: - - @model{ http://www.cplusplus.com/reference/iterator/RandomAccessIterator/ - , RandomAccessIterator - } - - @usage_output{memory/output_iterator.cpp,memory/output_iterator.out} - - @tparam Iterator Iterator type to adapt - @tparam C Width of the SIMD register to use as iteration value. By default - this value is equal to the optimal register cardinal for current - architecture and type @c T. - **/ - template< typename Iterator - , std::size_t C = meta::cardinal_of - < pack< typename std::iterator_traits - ::value_type - > - >::value - > - struct output_iterator - : details::output_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::store_ - > - { - typedef details::output_iterator_base - < Iterator - , C - , typename std::iterator_traits::value_type - , tag::store_ - > parent; - - /// Default constructor - output_iterator() : parent() {} - - /// INTERNAL ONLY - output_iterator( parent const& src ) : parent(src) {} - - /// Constructor from an aligned pointer - explicit output_iterator(Iterator p) : parent(p) {} - }; - - /*! - @brief Adapter for SIMD write-only iterator - - Convert an existing iterator referencing the beginning of a contiguous memory - block into a SIMD aware write-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/output_iterator.cpp,memory/output_iterator.out} - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of output_iterator - **/ - template inline - output_iterator output_begin(Iterator p) - { - return output_iterator(p); - } - - /*! - @brief Adapter for SIMD write-only iterator - - Convert an existing iterator referencing the beginning of a contiguous memory - block into a SIMD aware write-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/output_iterator.cpp,memory/output_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the beginning of a contiguous memory block. - - @return An instance of output_iterator - **/ - template inline - output_iterator output_begin(Iterator p) - { - return output_iterator(p); - } - - /*! - @brief Adapter for SIMD write-only iterator - - Convert an existing iterator referencing the end of a contiguous memory - block into a SIMD aware write-only iterator returning SIMD pack of optimal - cardinal for current architecture. - - @usage_output{memory/output_iterator.cpp,memory/output_iterator.out} - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of output_iterator - **/ - template inline - output_iterator output_end(Iterator p) - { - return output_iterator(p); - } - - /*! - @brief Adapter for SIMD write-only iterator - - Convert an existing iterator referencing the end of a contiguous memory - block into a SIMD aware write-only iterator returning SIMD pack of cardinal - @c C. - - @usage_output{memory/output_iterator.cpp,memory/output_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p An iterator referencing the end of a contiguous memory block. - - @return An instance of output_iterator - **/ - template inline - output_iterator output_end(Iterator p) - { - return output_iterator(p); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/output_range.hpp b/inst/include/boost/simd/memory/output_range.hpp deleted file mode 100644 index 1de83d1..0000000 --- a/inst/include/boost/simd/memory/output_range.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_OUTPUT_RANGE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_OUTPUT_RANGE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Adapter for SIMD read-only range - - Convert an existing range specified by two iterators into a SIMD aware - read-only iterator returning SIMD pack of optimal cardinal @c C. - - @usage_output{memory/output_range.cpp,memory/output_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param begin A Range addressing a contiguous memory block - @param end - @return An instance of output_range - **/ - template inline - boost::iterator_range > - output_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end), C) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range ( output_begin(begin) - , output_end(end) - ); - } - - /*! - @brief Adapter for SIMD read-only range - - Convert an existing range specified by two iterators into a SIMD aware - read-only iterator returning SIMD pack of optimal cardinal for current - architecture. - - @usage_output{memory/output_range.cpp,memory/output_range.out} - - @param begin A Range addressing a contiguous memory block - @param end - @return An instance of output_range - **/ - template inline - boost::iterator_range< output_iterator > - output_range( Iterator begin, Iterator end ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end) , output_iterator::cardinal) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range( output_begin(begin), output_end(end) ); - } - - /*! - @brief Adapter for SIMD read-only range - - Convert an existing range into a SIMD aware read-only iterator returning - SIMD pack of cardinal @c C. - - @usage_output{memory/output_range.cpp,memory/output_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param r A Range addressing a contiguous memory block - - @return An instance of output_range - **/ - template inline - boost::iterator_range::type,C> > - output_range( Range& r ) - { - return output_range( boost::begin(r), boost::end(r) ); - } - - /*! - @brief Adapter for SIMD read-only range - - Convert an existing range into a SIMD aware read-only iterator returning - SIMD pack of optimal cardinal for current architecture. - - @usage_output{memory/output_range.cpp,memory/output_range.out} - - @param r A Range addressing a contiguous memory block - - @return An instance of output_range - **/ - template inline - boost::iterator_range::type> > - output_range( Range& r ) - { - return output_range( boost::begin(r), boost::end(r) ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/prefetch.hpp b/inst/include/boost/simd/memory/prefetch.hpp deleted file mode 100644 index 23b32d9..0000000 --- a/inst/include/boost/simd/memory/prefetch.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_PREFETCH_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_PREFETCH_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @enum prefetch_hints - @brief Prefecth strategies - - Provides short-cut for the prefetch strategies usable with prefetch_read and - prefetch_write. - - @see prefetch_read - @see prefetch_write - **/ - enum prefetch_hints - { non_temporal = 0 /**< Data are not kept in cache */ - , low_locality /**< Data are kept in few cache levels */ - , moderate_locality /**< Data are kept in some cache levels */ - , high_locality /**< Data are kept in all level of caches */ - }; - - /*! - @brief Prefetch for read operations - - Issue a software prefetch command for next read operations using a - given strategy for locality. - - @tparam Strategy Hint for locality handling - - @param pointer Memory address to prefetch from - - @see prefetch_hints - **/ - template - BOOST_FORCEINLINE void prefetch_read(void const* pointer) - { - #ifdef __GNUC__ - __builtin_prefetch(pointer, 0, Strategy); - #elif defined( BOOST_SIMD_HAS_SSE_SUPPORT ) - _mm_prefetch( static_cast(pointer), Strategy); - #endif - } - - /*! - @brief Prefetch for write operations - - Issue a software prefetch command for next write operations using a - given strategy for locality. - - @tparam Strategy Hint for locality handling - - @param pointer Memory address to prefetch to - - @see prefetch_hints - **/ - template - BOOST_FORCEINLINE void prefetch_write(void const* pointer) - { - #ifdef __GNUC__ - __builtin_prefetch(pointer, 1, Strategy); - #elif defined( BOOST_SIMD_HAS_SSE_SUPPORT ) - _mm_prefetch( static_cast(pointer), Strategy); - #endif - } - - /*! - @brief Prefetch temporary values - - Issue a software prefetch command for next read operations for temporary - data. - - @param pointer Memory address to prefetch to - - @see prefetch_hints - **/ - BOOST_FORCEINLINE void prefetch_temporary(void const* pointer) - { - prefetch_read(pointer); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/range.hpp b/inst/include/boost/simd/memory/range.hpp deleted file mode 100644 index d024d86..0000000 --- a/inst/include/boost/simd/memory/range.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_RANGE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_RANGE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/memory/realigned_input_range.hpp b/inst/include/boost/simd/memory/realigned_input_range.hpp deleted file mode 100644 index c33bdc9..0000000 --- a/inst/include/boost/simd/memory/realigned_input_range.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_REALIGNED_INPUT_RANGE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_REALIGNED_INPUT_RANGE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd -{ -/*! - @brief Clamped adapter for SIMD read-only range - - Convert a range represented as a pair of iterators into a read-only SIMD - aware range. This range's extrema are modified so that: - - * the beginning of the range is referencing the first aligned element of the - original range - * the end of the range is referencing past the last valid SIMD pack accessible - in the original range. - - Such clamped range is then safe to be iterated using aligned_iterator while - the remaining elements of the original range can be processed using regular - scalar iterators. - - @tparam C Width of the SIMD register to use as iteration value. - @param begin A Range addressing a contiguous memory block - @param end - - @return An instance of realigned_input_range - **/ - template inline - iterator_range > - realigned_input_range( Iterator begin, Iterator end ) - { - typedef typename std::iterator_traits::value_type type; - - // Offset to aligned begin - type const* ptr = &(*begin); - type const* new_ptr = align_on(ptr, C*sizeof(type)); - std::size_t db = std::distance(ptr,new_ptr); - - // Size in equivalent SIMD register - std::size_t sz = ((std::distance(begin,end)-db)/C)*C; - - return aligned_input_range( begin + db, begin + db + sz ); - } - - template inline - iterator_range< aligned_input_iterator > - realigned_input_range( Iterator begin, Iterator end ) - { - typedef typename std::iterator_traits::value_type type; - return realigned_input_range::static_size>(begin,end); - } - - template inline - iterator_range::type,C> > - realigned_input_range( Range const& r ) - { - return realigned_input_range( boost::begin(r), boost::end(r) ); - } - - template inline - iterator_range::type> > - realigned_input_range( Range const& r ) - { - return realigned_input_range( boost::begin(r), boost::end(r) ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/realigned_output_range.hpp b/inst/include/boost/simd/memory/realigned_output_range.hpp deleted file mode 100644 index 502e71a..0000000 --- a/inst/include/boost/simd/memory/realigned_output_range.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_REALIGNED_OUTPUT_RANGE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_REALIGNED_OUTPUT_RANGE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ -/*! - @brief Clamped adapter for SIMD read-only range - - Convert a range represented as a pair of iterators into a read-only SIMD - aware range. This range's extrema are modified so that: - - * the beginning of the range is referencing the first aligned element of the - original range - * the end of the range is referencing past the last valid SIMD pack accessible - in the original range. - - Such clamped range is then safe to be iterated using aligned_iterator while - the remaining elements of the original range can be processed using regular - scalar iterators. - - @tparam C Width of the SIMD register to use as iteration value. - @param begin A Range addressing a contiguous memory block - @param end - - @return An instance of realigned_output_range - **/ - template inline - iterator_range > - realigned_output_range( Iterator begin, Iterator end ) - { - typedef typename std::iterator_traits::value_type type; - - // Offset to aligned begin - type const* ptr = &(*begin); - type const* new_ptr = align_on(ptr, C*sizeof(type)); - std::size_t db = std::distance(ptr,new_ptr); - - // Size in equivalent SIMD register - std::size_t sz = ((std::distance(begin,end)-db)/C)*C; - - return aligned_output_range( begin + db, begin + db + sz ); - } - - template inline - iterator_range< aligned_output_iterator > - realigned_output_range( Iterator begin, Iterator end ) - { - typedef typename std::iterator_traits::value_type type; - return realigned_output_range::static_size>(begin,end); - } - - template inline - iterator_range::type,C> > - realigned_output_range( Range& r ) - { - return realigned_output_range( boost::begin(r), boost::end(r) ); - } - - template inline - iterator_range::type> > - realigned_output_range( Range& r ) - { - return realigned_output_range( boost::begin(r), boost::end(r) ); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/reallocate.hpp b/inst/include/boost/simd/memory/reallocate.hpp deleted file mode 100644 index b7ad4f2..0000000 --- a/inst/include/boost/simd/memory/reallocate.hpp +++ /dev/null @@ -1,191 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_REALLOCATE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_REALLOCATE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Aligned memory reallocation - - Reallocated a raw buffer of aligned bytes on an arbitrary alignment boundary. - - @param ptr Pointer to the memory to reallocate. - @param nbytes New number of bytes to allocate - @param align Hint on the alignment boundary used at allocation. - - @return A pointer to a reallocated memory block - - @pre @c align is a power of 2 - @post Returned pointer is aligned on @c align - **/ - BOOST_FORCEINLINE BOOST_SIMD_ALLOC_SIZE(2) - void* reallocate(void* ptr, std::size_t nbytes, std::size_t align) - { - return aligned_realloc(ptr,nbytes,align); - } - - /*! - @brief Aligned memory reallocation with a static alignment - - Reallocated a raw buffer of aligned bytes on statically specified alignment - boundary. - - @param ptr Pointer to the memory to reallocate. - @param nbytes New number of bytes to allocate - @tparam Alignment Hint on the alignment boundary used at allocation. By - default, this parameter is equal to the current system - SIMD alignment requirement. - - @return A pointer to a reallocated memory block - - @pre @c Alignment is a power of 2 - @post Returned pointer is aligned on @c Alignment - **/ - template - BOOST_FORCEINLINE BOOST_SIMD_ALLOC_SIZE(2) - typename meta::align_ptr::type - reallocate( void* ptr, std::size_t nbytes ) - { - return align_ptr(reallocate(ptr, nbytes, Alignment)); - } - - /// INTERNAL ONLY - BOOST_FORCEINLINE BOOST_SIMD_ALLOC_SIZE(2) - meta::align_ptr::type - reallocate( void* ptr, std::size_t nbytes ) - { - return reallocate( ptr, nbytes ); - } - - /*! - @brief Aligned allocator-based memory reallocation - - Reallocated a raw buffer of aligned bytes on an arbitrary alignment boundary - using an allocator. - - @param alloc Allocator performing the (de)allocation - @param ptr Pointer to the memory to reallocate. - @param nbytes New number of bytes to allocate - @param align Hint on the alignment boundary used at allocation. By default, - this parameter is equal to the current system SIMD alignment - requirement. - - @return A pointer to a reallocated memory block containing @c nbytes bytes. - - @pre @c align is a power of 2 - @post Returned pointer is aligned on @c align - **/ - template - BOOST_FORCEINLINE - #if defined(DOXYGEN_ONLY) - void* - #else - typename boost::dispatch::meta:: - enable_if_type::type - #endif - reallocate(Allocator& alloc, void* ptr, std::size_t nbytes, std::size_t align) - { - // Resizing to 0 free the pointer data and return - if(nbytes == 0) - { - deallocate(alloc, ptr); - return 0; - } - - // Reallocating empty pointer performs allocation - if(ptr == 0) - return allocate(alloc, nbytes, align); - - details::aligned_block_header* hdr = static_cast(ptr) - 1; - std::size_t const oldSize( hdr->allocated_size ); - - // Return if idempotent reallocation or small shrink is performed with good alignment - if( ( oldSize - nbytes ) < BOOST_SIMD_REALLOC_SHRINK_THRESHOLD && is_aligned(ptr, align) ) - { - return ptr; - } - - // Else reallocate manually/copy/deallocate old data - void* fresh_ptr = allocate(alloc, nbytes, align); - if( !fresh_ptr ) - return 0; - - std::memcpy( fresh_ptr, ptr, std::min( nbytes, oldSize ) ); - deallocate(alloc, ptr); - - return fresh_ptr; - } - - /*! - @brief Statically aligned allocator-based memory reallocation - - Reallocated a raw buffer of aligned bytes on statically specified alignment - boundary using an allocator. By default, this alignment is equal to current - SIMD preferred alignment. - - @param alloc Allocator performing the (de)allocation - @param ptr Pointer to the memory to reallocate. - @param nbytes New number of bytes to allocate - @tparam Alignment Static Hint on the alignment boundary used at allocation. - - @return A pointer to a reallocated memory block containing @c nbytes bytes. - - @pre @c Alignment is a power of 2 - @post Returned pointer is aligned on @c Alignment - **/ - template - BOOST_FORCEINLINE - #if defined(DOXYGEN_ONLY) - void* - #else - typename boost::dispatch::meta:: - enable_if_type< typename Allocator::pointer - , typename meta::align_ptr::type - >::type - #endif - reallocate( Allocator& alloc, void* ptr, std::size_t nbytes ) - { - return align_ptr(reallocate(alloc,ptr,nbytes,Alignment)); - } - - /// @overload - template - BOOST_FORCEINLINE - #if defined(DOXYGEN_ONLY) - void* - #else - typename boost::dispatch::meta:: - enable_if_type< typename Allocator::pointer - , typename meta::align_ptr::type - >::type - #endif - reallocate( Allocator& alloc, void* ptr, std::size_t nbytes ) - { - return reallocate(alloc,ptr,nbytes); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/reuse.hpp b/inst/include/boost/simd/memory/reuse.hpp deleted file mode 100644 index 33735bf..0000000 --- a/inst/include/boost/simd/memory/reuse.hpp +++ /dev/null @@ -1,188 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_REUSE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_REUSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -namespace boost { namespace simd -{ - /*! - @brief Aligned memory reallocation - - reused a raw buffer of aligned bytes on an arbitrary alignment boundary - without preserving contents. - - @param ptr Pointer to the memory to reuse. - @param nbytes New number of bytes to allocate - @param align Hint on the alignment boundary used at allocation. - - @return A pointer to a reused memory block - - @pre @c align is a power of 2 - @post Returned pointer is aligned on @c align - **/ - BOOST_FORCEINLINE void* - reuse(void* ptr, std::size_t nbytes, std::size_t align) - { - return aligned_reuse(ptr,nbytes,align); - } - - /*! - @brief Aligned memory reallocation with a static alignment - - reused a raw buffer of aligned bytes on statically specified alignment - boundary without preserving contents. - - @param ptr Pointer to the memory to reuse. - @param nbytes New number of bytes to allocate - @tparam Alignment Hint on the alignment boundary used at allocation. By - default, this parameter is equal to the current system - SIMD alignment requirement. - - @return A pointer to a reused memory block - - @pre @c Alignment is a power of 2 - @post Returned pointer is aligned on @c Alignment - **/ - template - BOOST_FORCEINLINE typename meta::align_ptr::type - reuse( void* ptr, std::size_t nbytes ) - { - return align_ptr(reuse(ptr, nbytes, Alignment)); - } - - /// INTERNAL ONLY - BOOST_FORCEINLINE - meta::align_ptr::type - reuse( void* ptr, std::size_t nbytes ) - { - return reuse( ptr, nbytes ); - } - - /*! - @brief Aligned allocator-based memory reallocation - - reused a raw buffer of aligned bytes on an arbitrary alignment boundary - using an allocator without preserving contents. - - @param alloc Allocator performing the (de)allocation - @param ptr Pointer to the memory to reuse. - @param nbytes New number of bytes to allocate - @param align Hint on the alignment boundary used at allocation. By default, - this parameter is equal to the current system SIMD alignment - requirement. - - @return A pointer to a reused memory block containing @c nbytes bytes. - - @pre @c align is a power of 2 - @post Returned pointer is aligned on @c align - **/ - template - BOOST_FORCEINLINE - #if defined(DOXYGEN_ONLY) - void* - #else - typename boost::dispatch::meta:: - enable_if_type::type - #endif - reuse(Allocator& alloc, void* ptr, std::size_t nbytes, std::size_t align) - { -// Resizing to 0 free the pointer data and return - if(nbytes == 0) - { - deallocate(alloc, ptr); - return 0; - } - - // Reallocating empty pointer performs allocation - if(ptr == 0) - return allocate(alloc, nbytes, align); - - details::aligned_block_header* hdr = static_cast(ptr) - 1; - std::size_t const oldSize( hdr->allocated_size ); - - // Return if idempotent reallocation or small shrink is performed with good alignment - if( ( oldSize - nbytes ) < BOOST_SIMD_REALLOC_SHRINK_THRESHOLD && is_aligned(ptr, align) ) - { - return ptr; - } - - // Else reallocate manually/copy/deallocate old data - void* fresh_ptr = allocate(alloc, nbytes, align); - if( !fresh_ptr ) - return 0; - - deallocate(alloc, ptr); - - return fresh_ptr; - } - - /*! - @brief Statically aligned allocator-based memory reallocation - - reused a raw buffer of aligned bytes on statically specified alignment - boundary using an allocator without preserving contents. By default, this - alignment is equal to current SIMD preferred alignment. - - @param alloc Allocator performing the (de)allocation - @param ptr Pointer to the memory to reuse. - @param nbytes New number of bytes to allocate - @tparam Alignment Static Hint on the alignment boundary used at allocation. - - @return A pointer to a reused memory block containing @c nbytes bytes. - - @pre @c Alignment is a power of 2 - @post Returned pointer is aligned on @c Alignment - **/ - template - BOOST_FORCEINLINE - #if defined(DOXYGEN_ONLY) - void* - #else - typename boost::dispatch::meta:: - enable_if_type< typename Allocator::pointer - , typename meta::align_ptr::type - >::type - #endif - reuse( Allocator& alloc, void* ptr, std::size_t nbytes ) - { - return align_ptr(reuse(alloc,ptr,nbytes,Alignment)); - } - - /// @overload - template - BOOST_FORCEINLINE - #if defined(DOXYGEN_ONLY) - void* - #else - typename boost::dispatch::meta:: - enable_if_type< typename Allocator::pointer - , typename meta::align_ptr::type - >::type - #endif - reuse( Allocator& alloc, void* ptr, std::size_t nbytes ) - { - return reuse(alloc,ptr,nbytes); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/shifted_iterator.hpp b/inst/include/boost/simd/memory/shifted_iterator.hpp deleted file mode 100644 index bd87c2c..0000000 --- a/inst/include/boost/simd/memory/shifted_iterator.hpp +++ /dev/null @@ -1,186 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_SHIFTED_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_SHIFTED_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Sliding window base SIMD iterator adapter - - shifted_iterator adapts an Iterator - - @tparam Iterator Iterator type to adapt - @tparam Region Region of Interest descriptor for the sliding window - @tparam C SIMD register cardinal to use - **/ - template - struct shifted_iterator - : public - boost::iterator_facade< shifted_iterator - , boost::array - < pack::value_type,C> - , Region::width - > const - , boost::forward_traversal_tag - > - { - public: - typedef typename std::iterator_traits::value_type value_type; - typedef pack pack_type; - typedef shifted_iterator derived_type; - typedef boost::array sequence_type; - - static const std::size_t cardinal = C; - - explicit shifted_iterator(Iterator p) : base(p) { } - - protected: - - /// INTERNAL ONLY - CT-recursive filling of the iterator data - template inline void fill( boost::mpl::int_ const& ) const - { - seq[N] = aligned_load(&*base+N+Region::w_min); - fill(boost::mpl::int_()); - } - - /// INTERNAL ONLY - inline void fill(boost::mpl::int_ const&) const {} - - /// INTERNAL ONLY - inline void fill() const { fill( boost::mpl::int_<0>() ); } - - private: - friend class boost::iterator_core_access; - - /// INTERNAL ONLY - required by iterator_facade - inline void increment() - { - base += C; - } - - /// INTERNAL ONLY - required by iterator_facade - inline bool equal(derived_type const& other) const - { - return (this->base == other.base); - } - - /// INTERNAL ONLY - required by iterator_facade - inline sequence_type const& dereference() const - { - fill(); - return seq; - } - - Iterator base; - mutable sequence_type seq; - }; - - /*! - @brief Adapter for SIMD sliding window iterator - - Convert an existing iterator referencing the beginning of a contiguous - memory block into a SIMD aware read-only iterator returning a sliding - window of SIMD registers. - - @usage_output{memory/shifted_iterator.cpp,memory/shifted_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p Iterator to adapt. - - @return An instance of shifted_iterator - **/ - template - inline shifted_iterator - shifted_begin(Iterator p, Region const& ) - { - return shifted_iterator(p+(Region::width/2)*C); - } - - /*! - @brief Adapter for SIMD sliding window iterator - - Convert an existing iterator referencing the end of a contiguous - memory block into a SIMD aware read-only iterator returning a sliding - window of SIMD registers. - - @usage_output{memory/shifted_iterator.cpp,memory/shifted_iterator.out} - - @tparam C Width of the SIMD register to use as iteration value. - - @param p Iterator to adapt. - - @return An instance of shifted_iterator - **/ - template - inline shifted_iterator - shifted_end(Iterator p, Region const& ) - { - return shifted_iterator(p-(Region::width/2)*C); - } - - /*! - @brief Adapter for SIMD sliding window iterator - - Convert an existing iterator referencing the beginning of a contiguous - memory block into a SIMD aware read-only iterator returning a sliding - window of SIMD registers. - - @usage_output{memory/shifted_iterator.cpp,memory/shifted_iterator.out} - - @param p Iterator to adapt. - @param r The Region of Interest descriptor of the sliding window. - - @return An instance of shifted_iterator - **/ - template - inline shifted_iterator - shifted_begin(Iterator p, Region const& r) - { - return shifted_begin::cardinal>(p,r); - } - - /*! - @brief Adapter for SIMD sliding window iterator - - Convert an existing iterator referencing the end of a contiguous - memory block into a SIMD aware read-only iterator returning a sliding - window of SIMD registers. - - @usage_output{memory/shifted_iterator.cpp,memory/shifted_iterator.out} - - @param p Iterator to adapt. - @param r The Region of Interest descriptor of the sliding window. - - @return An instance of shifted_iterator - **/ - template - inline shifted_iterator - shifted_end(Iterator p, Region const& r) - { - return shifted_end::cardinal>(p,r); - } -} } - -#endif diff --git a/inst/include/boost/simd/memory/shifted_range.hpp b/inst/include/boost/simd/memory/shifted_range.hpp deleted file mode 100644 index ddb07b8..0000000 --- a/inst/include/boost/simd/memory/shifted_range.hpp +++ /dev/null @@ -1,126 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_MEMORY_SHIFTED_RANGE_HPP_INCLUDED -#define BOOST_SIMD_MEMORY_SHIFTED_RANGE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Adapter for aligned SIMD read-only range - - Convert an existing range specified by two aligned iterators into a SIMD aware - read-only iterator returning SIMD pack of optimal cardinal @c C. - - @usage_output{memory/shifted_range.cpp,memory/shifted_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param r A Range addressing a contiguous memory block - - @return An instance of shifted_range - **/ - template inline - boost::iterator_range > - shifted_range( Iterator begin, Iterator end, Region const& r) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end), C) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range ( shifted_begin(begin) - , shifted_end(end) - ); - } - - /*! - @brief Adapter for aligned SIMD read-only range - - Convert an existing range specified by two aligned iterators into a SIMD aware - read-only iterator returning SIMD pack of optimal cardinal for current - architecture. - - @usage_output{memory/shifted_range.cpp,memory/shifted_range.out} - - @param begin A Range addressing a contiguous memory block - @param end A Range addressing a contiguous memory block - - @return An instance of shifted_range - **/ - template inline - boost::iterator_range< shifted_iterator > - shifted_range( Iterator begin, Iterator end, Region const& ) - { - BOOST_ASSERT_MSG - ( is_aligned(std::distance(begin,end) , shifted_iterator::cardinal) - , "Range being adapted holds a non integral number of SIMD pack." - ); - - return boost::make_iterator_range ( shifted_begin(begin) - , shifted_end(end) - ); - } - - /*! - @brief Adapter for aligned SIMD read-only range - - Convert an existing range into a SIMD aware read-only iterator returning - SIMD pack of cardinal @c C. - - @usage_output{memory/shifted_range.cpp,memory/shifted_range.out} - - @tparam C Width of the SIMD register to use as iteration value. - @param r A Range addressing a contiguous memory block - - @return An instance of shifted_range - **/ - template inline - boost::iterator_range - < shifted_iterator< typename range_iterator::type - , Region - , C - > - > - shifted_range( Range const& r, Region const& r) - { - return shifted_range( boost::begin(r), boost::end(r) ); - } - - /*! - @brief Adapter for aligned SIMD read-only range - - Convert an existing range into a SIMD aware read-only iterator returning - SIMD pack of optimal cardinal for current architecture. - - @usage_output{memory/shifted_range.cpp,memory/shifted_range.out} - - @param r A Range addressing a contiguous memory block - - @return An instance of shifted_range - **/ - template inline - boost::iterator_range - < shifted_iterator< typename range_iterator::type - , Region - > - > - shifted_range( Range const& r, Region const& r) - { - return shifted_range( boost::begin(r), boost::end(r) ); - } -} } - -#endif diff --git a/inst/include/boost/simd/meta/align_on.hpp b/inst/include/boost/simd/meta/align_on.hpp deleted file mode 100644 index 9eeb623..0000000 --- a/inst/include/boost/simd/meta/align_on.hpp +++ /dev/null @@ -1,132 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_ALIGN_ON_HPP_INCLUDED -#define BOOST_SIMD_META_ALIGN_ON_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief Align integral value on arbitrary boundary - - Statically align an integral value on an arbitrary alignment boundary. - - @par Semantic - - For any integral value @c Value and any power of 2 @c Align : - - @code - typedef align_on_c::type r; - @endcode - - is equivalent to - - @code - typedef integral_constant::type r; - @endcode - - where @c N verifies : - - @code - N >= Value && N % Align = 0 - @endcode - - If @c Align is not a power of two, a @c BOOST_SIMD_INVALID_ALIGNMENT_VALUE - static assertion is triggered. - - @usage{meta/align_on_c.cpp} - - @tparam Value Value to align. - @tparam Align Integral power of two alignment boundary. By default, - @c Align is equal to current SIMD extension alignment boundary. - **/ - template< std::size_t Value - , std::size_t Align = BOOST_SIMD_CONFIG_ALIGNMENT - > - struct align_on_c - #if !defined(DOXYGEN_ONLY) - : boost::mpl::integral_c - #endif - { - #if !defined(DOXYGEN_ONLY) - //========================================================================== - // ****BOOST_SIMD_INVALID_ALIGNMENT_VALUE**** - // If you trigger this assert, you tried to align a value on - // a boundary which is not a power of two. Fix your code accordingly. - // ****BOOST_SIMD_INVALID_ALIGNMENT_VALUE**** - //========================================================================== - /// INTERNAL ONLY - BOOST_MPL_ASSERT_MSG( (meta::is_power_of_2_c::value) - , BOOST_SIMD_INVALID_ALIGNMENT_VALUE - , (boost::mpl::integral_c) - ); - #endif - }; - - /*! - @brief Align @mplint on arbitrary boundary - - Statically align @mplint value on arbitrary alignment boundary. - - @par Semantic - - For any @mplint @c Value and any power of 2 @c Align : - - @code - typedef align_on::type r; - @endcode - - is equivalent to - - @code - typedef integral_constant::type r; - @endcode - - where @c N verifies : - - @code - N >= Value::value && N % Align::value = 0 - @endcode - - If @c Align is not a power of two, a @c BOOST_SIMD_INVALID_ALIGNMENT_VALUE - static assertion is triggered. - - @par Models: - - @metafunction - - @usage{meta/align_on.cpp} - - @tparam Value Value to align - @tparam Align @mplint power of two alignment boundary. By default, - @c Align is equal to current SIMD extension alignment boundary. - **/ - template< typename Value - , typename Align = boost::mpl::integral_c - > - struct align_on -#if !defined(DOXYGEN_ONLY) - : boost::mpl::integral_c - < typename Value::value_type - , typename Value::value_type(align_on_c < std::size_t(Value::value) - , std::size_t(Align::value) - >::value - ) - > -#endif - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/align_ptr.hpp b/inst/include/boost/simd/meta/align_ptr.hpp deleted file mode 100644 index 7206260..0000000 --- a/inst/include/boost/simd/meta/align_ptr.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_ALIGN_PTR_HPP_INCLUDED -#define BOOST_SIMD_META_ALIGN_PTR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ -#if defined(DOXYGEN_ONLY) - /*! - @brief Apply alignment attribute to type - - Return the compiler specific, attribute ridden version of @c Type so it - is recognized as being aligned on a boundary equal to @c Alignment. - - @par Semantic: - - For any type @c T and any integral value @c Alignment: - - @code - typedef meta::align_ptr::type r; - @endcode - - is equivalent to: - - @code - typedef T* aligned_attribute r; - @endcode - - where @a aligned_attribute is a compiler specific attribute indicating that - said type will be used to store an address aligned on @c Alignment. On some - compilers, the @a aligned_attribute is not available and the type returned - by meta::align_ptr will be a simple pointer to @c T. - - @par Models: - - @metafunction - - @usage{meta/align_ptr.cpp} - - @tparam T Type to mark as aligned. - @tparam Align Integral power of two alignment boundary. By default, - @c Align is equal to current SIMD extension alignment boundary. - **/ - template - struct align_ptr - { - typedef details::unspecified type; - }; -#else - template - struct align_ptr; -#endif - -#define M0(z,n,t) \ -template struct align_ptr \ -{ \ - typedef BOOST_SIMD_ALIGNED_TYPE_ON_TPL(T,n) base; \ - typedef base* type; \ - \ - static type value(T* pointer) \ - { \ - BOOST_SIMD_ASSUME_ALIGNED(type,pointer,n); \ - return static_cast(pointer); \ - } \ -}; \ -/**/ - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_BIG(M0, ~) - -#undef M0 - -} } } - -#endif diff --git a/inst/include/boost/simd/meta/double.hpp b/inst/include/boost/simd/meta/double.hpp deleted file mode 100644 index 8d06fac..0000000 --- a/inst/include/boost/simd/meta/double.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_DOUBLE_HPP_INCLUDED -#define BOOST_SIMD_META_DOUBLE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct double_ : real_c {}; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/float.hpp b/inst/include/boost/simd/meta/float.hpp deleted file mode 100644 index 90498c8..0000000 --- a/inst/include/boost/simd/meta/float.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_FLOAT_HPP_INCLUDED -#define BOOST_SIMD_META_FLOAT_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct single_ : real_c {}; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/int_c.hpp b/inst/include/boost/simd/meta/int_c.hpp deleted file mode 100644 index 6ca7442..0000000 --- a/inst/include/boost/simd/meta/int_c.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_INT_C_HPP_INCLUDED -#define BOOST_SIMD_META_INT_C_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace meta -{ - template struct int_c - { - BOOST_STATIC_CONSTANT(Type, value = Value); - typedef int_c type; - typedef Type value_type; - operator value_type() const { return Value; } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/is_aligned.hpp b/inst/include/boost/simd/meta/is_aligned.hpp deleted file mode 100644 index 22aff84..0000000 --- a/inst/include/boost/simd/meta/is_aligned.hpp +++ /dev/null @@ -1,115 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_IS_ALIGNED_HPP_INCLUDED -#define BOOST_SIMD_META_IS_ALIGNED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief Check alignment of arbitrary integral value - - Checks if any given integral value @c V is aligned on any - given power of two boundary @c N. - - @par Semantic: - For any given integral value @c N and @c V: - - @code - typedef is_aligned_c::type r; - @endcode - - is equivalent to: - - @code - typedef mpl::bool::type r; - @endcode - - If @c N is not a power of two, a BOOST_SIMD_INVALID_ALIGNMENT_VALUE static - assertion is triggered. - - @usage{meta/is_aligned_c.cpp} - - @tparam V Integral value to check - @tparam N Alignment to check for. By default, @c N is equal to current - architecture preferred alignment. - **/ - template< std::size_t V - , std::size_t N = BOOST_SIMD_CONFIG_ALIGNMENT - > - struct is_aligned_c -#if !defined(DOXYGEN_ONLY) - : boost::mpl::bool_ -#endif - { -#if !defined(DOXYGEN_ONLY) - //========================================================================== - // ****BOOST_SIMD_INVALID_ALIGNMENT_VALUE**** - // If this static assert triggers, a call to is_aligned_c has been issued - // with a non-power of 2 boundary argument. - // ****BOOST_SIMD_INVALID_ALIGNMENT_VALUE**** - //========================================================================== - BOOST_MPL_ASSERT_MSG - ( (boost::simd::meta::is_power_of_2_c::value) - , BOOST_SIMD_INVALID_ALIGNMENT_VALUE - , (boost::mpl::int_) - ); -#endif - }; - - /*! - @brief Check alignment of arbitrary @mplint - - Checks if any given @mplint @c V is aligned on any given power of two - boundary @c N. - - @par Semantic: - For any given @mplint @c N and @c V: - - @code - typedef is_aligned::type r; - @endcode - - is equivalent to: - - @code - typedef is_aligned_c::type r; - @endcode - - If @c N is not a power of two, a BOOST_SIMD_INVALID_ALIGNMENT_VALUE static - assertion is triggered. - - @par Models: - - @metafunction - - @usage{meta/is_aligned.cpp} - - @tparam V @mplint to check - @tparam N Alignment to check for. By default, @c N is equal to current - architecture preferred alignment. - **/ - template< typename V - , typename N = boost::mpl::size_t - > - struct is_aligned -#if !defined(DOXYGEN_ONLY) - : is_aligned_c -#endif - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/is_pointing_to.hpp b/inst/include/boost/simd/meta/is_pointing_to.hpp deleted file mode 100644 index 1646090..0000000 --- a/inst/include/boost/simd/meta/is_pointing_to.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_IS_POINTING_TO_HPP_INCLUDED -#define BOOST_SIMD_META_IS_POINTING_TO_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief Check for pointer/pointee compatibility - - This metafunction checks if a @c Pointer is actually pointing to a - value of type @c Pointer. - - @tparam Pointer Pointer type to check - @tparam Pointee Value type to check - **/ - template - struct is_pointing_to - : boost::is_same< typename std::iterator_traits::value_type - , Pointee - > - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/is_power_of_2.hpp b/inst/include/boost/simd/meta/is_power_of_2.hpp deleted file mode 100644 index 59a9d5a..0000000 --- a/inst/include/boost/simd/meta/is_power_of_2.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_IS_POWER_OF_2_HPP_INCLUDED -#define BOOST_SIMD_META_IS_POWER_OF_2_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief Checks if an integral value is a power of two. - - is_power_of_2_c checks if any given integral @c N is a non-zero power of two. - - @par Semantic: - For any given integral value @c N: - - @code - typedef is_power_of_2_c::type r; - @endcode - - is equivalent to: - - @code - typedef mpl::bool<(!(N & (N - 1)) && N)> r; - @endcode - - @usage{meta/is_power_of_2_c.cpp} - - @tparam N Integral value to check - **/ - template struct is_power_of_2_c -#if !defined(DOXYGEN_ONLY) - : boost::mpl::bool_<(!(N & (N - 1)) && N)> -#endif - {}; - - /*! - @brief Checks if an @mplint is a power of two. - - is_power_of_2_c is a Boolean @metafunction that checks if any given - @mplint @c N is a non-zero power of two. - - @par Semantic: - For any given @mplint @c N: - - @code - typedef is_power_of_2::type r; - @endcode - - is equivalent to: - - @code - typedef is_power_of_2_c::type r; - @endcode - - @usage{meta/is_power_of_2.cpp} - - @tparam N @mplint to check - **/ - template struct is_power_of_2 -#if !defined(DOXYGEN_ONLY) - : boost::mpl::bool_<(!(N::value & (N::value - 1)) && N::value)> -#endif - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/next_power_of_2.hpp b/inst/include/boost/simd/meta/next_power_of_2.hpp deleted file mode 100644 index bc583d8..0000000 --- a/inst/include/boost/simd/meta/next_power_of_2.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_NEXT_POWER_OF_2_HPP_INCLUDED -#define BOOST_SIMD_META_NEXT_POWER_OF_2_HPP_INCLUDED - -/*! - @file - @brief Defines and implements next_power_of_2 and next_power_of_2_c -**/ - -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - // Implementation courtesy from : - // http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 - template struct next_power_of_2_impl - { - BOOST_STATIC_CONSTANT(std::size_t, x0 = N-1 ); - BOOST_STATIC_CONSTANT(std::size_t, x1 = x0 | (x0 >> 1) ); - BOOST_STATIC_CONSTANT(std::size_t, x2 = x1 | (x1 >> 2) ); - BOOST_STATIC_CONSTANT(std::size_t, x3 = x2 | (x2 >> 4) ); - BOOST_STATIC_CONSTANT(std::size_t, x4 = x3 | (x3 >> 8) ); - BOOST_STATIC_CONSTANT(std::size_t, x5 = x4 | (x4 >> 16) ); - BOOST_STATIC_CONSTANT(std::size_t, value = x5 + 1 ); - }; - - // Required for MSVC - template<> struct next_power_of_2_impl<0> - { - BOOST_STATIC_CONSTANT(std::size_t, value = 0 ); - }; -} } } - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief Evaluates next power of 2 - - Computes the power of two greater or equal to any given integral value @c N. - - @par Semantic: - For any given integral value @c N: - - @code - typedef next_power_of_2_c::type r; - @endcode - - is equivalent to: - - @code - typedef mpl::size_t r; - @endcode - - Where @c M is greater or equal to N and so that it exists a given @c P so - that @c M is equal to 2 at the power of @c P. - - @usage{meta/next_power_of_2_c.cpp} - - @tparam N Integral value to upgrade - **/ - template struct next_power_of_2_c -#if !defined(DOXYGEN_ONLY) - : boost::mpl::size_t::value> -#endif - {}; - - /*! - @brief Evaluates next power of 2 - - Computes the power of two greater or equal to any given @mplint @c N. - - @par Semantic: - For any given @mplint @c N: - - @code - typedef next_power_of_2::type r; - @endcode - - is equivalent to: - - @code - typedef boost::mpl::integral_c< N::value_type - , next_power_of_2_c::value - > r; - @endcode - - @par Models: - - @metafunction - - @usage{meta/next_power_of_2.cpp} - - @tparam N @mplint to downgrade - **/ - template struct next_power_of_2 -#if !defined(DOXYGEN_ONLY) - : boost::mpl::integral_c< typename N::value_type - , details::next_power_of_2_impl::value - > -#endif - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/perform_aligned_allocation.hpp b/inst/include/boost/simd/meta/perform_aligned_allocation.hpp deleted file mode 100644 index a114162..0000000 --- a/inst/include/boost/simd/meta/perform_aligned_allocation.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_PERFORM_ALIGNED_ALLOCATION_HPP_INCLUDED -#define BOOST_SIMD_META_PERFORM_ALIGNED_ALLOCATION_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief Traits detecting aligned allocator - - Detects if a given allocator performs aligned allocation. - - @par Semantic: - - For any @c Allocator @c A : - - @code - typedef perform_aligned_allocation::type r; - @endcode - - evaluates to @c boost::mpl::true_ if @c A allocates memory in an aligned - way adn to @c @c boost::mpl::false_ otherwise - - @tparam Allocator - **/ - template - struct perform_aligned_allocation : boost::mpl::false_ - {}; - - template - struct perform_aligned_allocation< boost::simd::allocator > - : boost::mpl::true_ - {}; - - template - struct perform_aligned_allocation > - : boost::mpl::true_ - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/prev_power_of_2.hpp b/inst/include/boost/simd/meta/prev_power_of_2.hpp deleted file mode 100644 index ef275a1..0000000 --- a/inst/include/boost/simd/meta/prev_power_of_2.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_PREV_POWER_OF_2_HPP_INCLUDED -#define BOOST_SIMD_META_PREV_POWER_OF_2_HPP_INCLUDED - -/*! - @file - @brief Defines and implements prev_power_of_2 and prev_power_of_2_c -**/ - -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - // Adaptation of : - // http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 - template struct prev_power_of_2_impl - { - BOOST_STATIC_CONSTANT(std::size_t, x0 = N ); - BOOST_STATIC_CONSTANT(std::size_t, x1 = x0 | (x0 >> 1) ); - BOOST_STATIC_CONSTANT(std::size_t, x2 = x1 | (x1 >> 2) ); - BOOST_STATIC_CONSTANT(std::size_t, x3 = x2 | (x2 >> 4) ); - BOOST_STATIC_CONSTANT(std::size_t, x4 = x3 | (x3 >> 8) ); - BOOST_STATIC_CONSTANT(std::size_t, x5 = x4 | (x4 >> 16) ); - BOOST_STATIC_CONSTANT(std::size_t, value = (x5 >> 1) + 1 ); - }; - - // Requried for MSVC - template<> struct prev_power_of_2_impl<0> - { - BOOST_STATIC_CONSTANT(std::size_t, value = 0 ); - }; -} } } - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief Evaluates previous power of two - - Computes the power of two lesser or equal to any given integral value @c N. - - @par Semantic: - For any given integral value @c N: - - @code - typedef prev_power_of_2_c::type r; - @endcode - - is equivalent to: - - @code - typedef mpl::size_t r; - @endcode - - Where @c M is lesser or equal to N and so that it exists a given @c P so - that @c M is equal to two at the power of @c P. - - @usage{meta/prev_power_of_2_c.cpp} - - @tparam N Integral constant to downgrade - **/ - template struct prev_power_of_2_c -#if !defined(DOXYGEN_ONLY) - : boost::mpl::size_t::value> -#endif - {}; - - /*! - @brief Evaluates previous power of two - - Computes the power of two lesser or equal to any given @mplint @c N. - - @par Semantic: - For any given @mplint @c N: - - @code - typedef prev_power_of_2::type r; - @endcode - - is equivalent to: - - @code - typedef prev_power_of_2::type r; - @endcode - - @par Models: - - @metafunction - - @usage{meta/prev_power_of_2.cpp} - - @tparam N @mplint to downgrade - **/ - template struct prev_power_of_2 -#if !defined(DOXYGEN_ONLY) - : boost::mpl::integral_c< typename N::value_type - , details::prev_power_of_2_impl::value - > -#endif - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/meta/real_c.hpp b/inst/include/boost/simd/meta/real_c.hpp deleted file mode 100644 index 49f00ac..0000000 --- a/inst/include/boost/simd/meta/real_c.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_REAL_C_HPP_INCLUDED -#define BOOST_SIMD_META_REAL_C_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template struct real_c - { - BOOST_STATIC_CONSTANT(Type, value = Value); - typedef real_c type; - typedef typename dispatch::meta::as_floating::type value_type; - - BOOST_FORCEINLINE operator value_type() const - { - return bitwise_cast(Value); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/meta/region.hpp b/inst/include/boost/simd/meta/region.hpp deleted file mode 100644 index 1315147..0000000 --- a/inst/include/boost/simd/meta/region.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_REGION_HPP_INCLUDED -#define BOOST_SIMD_META_REGION_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - /*! - @brief Static definition of region of interest - - Defines a compile-time region of interest as a series of 1D or 2D offsets - around a central value. - - @tparam I0 . - @tparam I1 . - @tparam J0 . - @tparam J1 . - **/ - template - struct region_ - { - // Region corners - static const int w_min = I0; - static const int w_max = I1; - static const int h_min = J0; - static const int h_max = J1; - - // Region metric - static const int width = I1 - I0 + 1; - static const int height = J1 - J0 + 1; - static const int surface = width*height; - static const int ndims = height ? 2 : 1; - }; - - template BOOST_FORCEINLINE region_ around() - { - return region_(); - } -} } - -#endif diff --git a/inst/include/boost/simd/meta/register_count.hpp b/inst/include/boost/simd/meta/register_count.hpp deleted file mode 100644 index 39e80d0..0000000 --- a/inst/include/boost/simd/meta/register_count.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_META_REGISTER_COUNT_HPP_INCLUDED -#define BOOST_SIMD_META_REGISTER_COUNT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief SIMD register file size - - Return an @mplint containing the current architecture register file - size for a given type. - - @par Models: - - @metafunction - - @tparam T Type to check - **/ - template - struct register_count - : boost::mpl::size_t< boost::is_floating_point::value - ? BOOST_SIMD_VR_COUNT - : BOOST_SIMD_GPR_COUNT - > - {}; - - template - struct register_count< native > - : boost::mpl::size_t - {}; - - template - struct register_count< pack > - : register_count< typename pack::data_type > - {}; - - template - struct register_count< expression > - : register_count - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/constants.hpp b/inst/include/boost/simd/operator/constants.hpp deleted file mode 100644 index aa0d6e2..0000000 --- a/inst/include/boost/simd/operator/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/operator/functions.hpp b/inst/include/boost/simd/operator/functions.hpp deleted file mode 100644 index a833498..0000000 --- a/inst/include/boost/simd/operator/functions.hpp +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/bitwise_and.hpp b/inst/include/boost/simd/operator/functions/bitwise_and.hpp deleted file mode 100644 index abbd10f..0000000 --- a/inst/include/boost/simd/operator/functions/bitwise_and.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_BITWISE_AND_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief bitwise_and generic tag - - Represents the bitwise_and function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitwise_and_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitwise_and_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitwise_and_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitwise_and_; - } - /*! - return the bitwise and of the two parameters - the operands must share the same bit size and - the result type is the one of the first operand - Infix notation can be used with operator '&', - but this will not work in scalar mode if any - operand is floating point because of C++ limitations. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = bitwise_and(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0 & a1; - @endcode - - @par Alias: - @c b_and - - @see @funcref{bitwise_or}, @funcref{bitwise_xor}, @funcref{bitwise_notand}, - @funcref{bitwise_andnot}, @funcref{bitwise_notor}, @funcref{bitwise_ornot}, @funcref{complement} - - @param a0 - - @param a1 - - @return a value of the same type as the first parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_and_ , bitwise_and , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_and_ , b_and , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/bitwise_or.hpp b/inst/include/boost/simd/operator/functions/bitwise_or.hpp deleted file mode 100644 index 394e5a0..0000000 --- a/inst/include/boost/simd/operator/functions/bitwise_or.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_BITWISE_OR_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief bitwise_or generic tag - - Represents the bitwise_or function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitwise_or_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitwise_or_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitwise_or_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitwise_or_; - } - /*! - return the bitwise or of the two parameters - the operands must share the same bit size and - the result type is the one of the first operand - Infix notation can be used with operator '|', - but this will not work in scalar mode if any - operand is floating point because of C++ limitations. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = bitwise_or(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0 | a1 ; - @endcode - - @see @funcref{bitwise_and}, @funcref{bitwise_xor}, @funcref{bitwise_notand}, - @funcref{bitwise_andnot}, @funcref{bitwise_notor}, @funcref{bitwise_ornot}, @funcref{complement} - @param a0 - - @param a1 - - @return a value of the same type as the first parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_or_ , bitwise_or , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_or_ , b_or , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/bitwise_xor.hpp b/inst/include/boost/simd/operator/functions/bitwise_xor.hpp deleted file mode 100644 index 867ae40..0000000 --- a/inst/include/boost/simd/operator/functions/bitwise_xor.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief bitwise_xor generic tag - - Represents the bitwise_xor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct bitwise_xor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_bitwise_xor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_bitwise_xor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_bitwise_xor_; - } - /*! - return the bitwise xor of the two parameters - the operands must share the same bit size and - the result type is the one of the first operand - Infix notation can be used with operator '^', - but this will not work in scalar mode if any - operand is floating point because of C++ limitations. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = bitwise_xor(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0^a1; - @endcode - - @par Alias: - @c b_or - - @see @funcref{bitwise_or}, @funcref{bitwise_and}, @funcref{bitwise_notand}, - @funcref{bitwise_andnot}, @funcref{bitwise_notor}, @funcref{bitwise_ornot}, @funcref{complement} - @param a0 - - @param a1 - - @return a value of the same type as the first parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_xor_ , bitwise_xor , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::bitwise_xor_ , b_xor , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/comma.hpp b/inst/include/boost/simd/operator/functions/comma.hpp deleted file mode 100644 index f06f8f7..0000000 --- a/inst/include/boost/simd/operator/functions/comma.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_COMMA_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_COMMA_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief comma generic tag - - Represents the comma function in generic contexts. - - @par Models: - Hierarchy - **/ - struct comma_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_comma_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_comma_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_comma_; - } - /*! - TODO Put description here - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = comma(a0,a1); - @endcode - - is similar to: - - @code - T0 r = (a0, a1); - @endcode - - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::comma_ , comma , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::comma_ , then , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/complement.hpp b/inst/include/boost/simd/operator/functions/complement.hpp deleted file mode 100644 index a48fbbc..0000000 --- a/inst/include/boost/simd/operator/functions/complement.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_COMPLEMENT_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief complement generic tag - - Represents the complement function in generic contexts. - - @par Models: - Hierarchy - **/ - struct complement_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_complement_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_complement_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_complement_; - } - /*! - return the bitwise complement of the entry - Infix notation can be used with operator '~' - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = complement(a0); - @endcode - - is similar to: - - @code - T0 r = ~a0; - @endcode - - @par Alias: - @c b_not, @c bitwise_not - - @see @funcref{bitwise_and}, @funcref{bitwise_or}, @funcref{bitwise_xor}, @funcref{bitwise_notand}, - @funcref{bitwise_andnot}, @funcref{bitwise_notor}, @funcref{bitwise_ornot} - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::complement_ , complement , 1 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::complement_ , bitwise_not , 1 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::complement_ , b_not , 1 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/details/assert_utils.hpp b/inst/include/boost/simd/operator/functions/details/assert_utils.hpp deleted file mode 100644 index a235cb1..0000000 --- a/inst/include/boost/simd/operator/functions/details/assert_utils.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_DETAILS_ASSERT_UTILS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_DETAILS_ASSERT_UTILS_HPP_INCLUDED - -namespace boost { namespace simd -{ - template - bool assert_all( T const& t ); - - template - bool assert_is_mask( T const& t ); - - template - bool assert_good_shift( A1 const& t ); -} } - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - template - bool assert_all( T const& t ) - { - for(std::size_t i = 0; i != meta::cardinal_of::value; ++i) - if(!extract(t, i)) - return false; - return true; - } - - template - bool assert_is_mask( T const& t ) - { - for(std::size_t i = 0; i != meta::cardinal_of::value; ++i) - { - typedef typename meta::scalar_of::type sT; - typedef typename dispatch::meta::as_integer::type uT; - - sT v = extract(t, i); - uT uv = bitwise_cast(v); - - if(uv != Zero() && uv != Allbits()) - return false; - } - return true; - } - - template - bool assert_good_shift( A1 const& t ) - { - for(std::size_t i = 0; i != meta::cardinal_of::value; ++i) - { - typedef typename meta::scalar_of::type sA1; - typedef typename meta::scalar_of::type sA0; - const sA1 N = sizeof(sA0)*8; - sA1 v = extract(t, i); - - if(v < Zero() || v >= N) - { - return false; - } - - } - return true; - } -} } - -#endif diff --git a/inst/include/boost/simd/operator/functions/divides.hpp b/inst/include/boost/simd/operator/functions/divides.hpp deleted file mode 100644 index 21a7814..0000000 --- a/inst/include/boost/simd/operator/functions/divides.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_DIVIDES_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief divides generic tag - - Represents the divides function in generic contexts. - - @par Models: - Hierarchy - **/ - struct divides_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_divides_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_divides_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_divides_; - } - /*! - return the elementwise division of the two parameters - Infix notation can be used with operator '/' - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = divides(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0/a1; - @endcode - - @par Alias: - @c div, @c rdiv - - @see @funcref{fast_divides}, @funcref{rec}, @funcref{fast_rec}, @funcref{divs}, @funcref{divfloor}, - @funcref{divceil}, @funcref{divround}, @funcref{divround2even}, @funcref{divfix} - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divides_ , divides , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divides_ , div , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::divides_ , rdiv , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/fast_divides.hpp b/inst/include/boost/simd/operator/functions/fast_divides.hpp deleted file mode 100644 index e04d6bd..0000000 --- a/inst/include/boost/simd/operator/functions/fast_divides.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief fast_divides generic tag - - Represents the fast_divides function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fast_divides_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fast_divides_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fast_divides_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fast_divides_; - } - /*! - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = fast_divides(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0*fast_rec(a1); - @endcode - - @par Alias: - @c fast_div, @c fast_rdiv - - @see @funcref{divides}, @funcref{rec}, @funcref{fast_rec}, @funcref{divs}, @funcref{divfloor}, - @funcref{divceil}, @funcref{divround}, @funcref{divround2even}, @funcref{divfix} - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_divides_ , fast_divides , 2) - - /// INTERNAL ONLY - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_divides_ , fast_div , 2) - - /// INTERNAL ONLY - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::fast_divides_ , fast_rdiv , 2) -} } - -#endif diff --git a/inst/include/boost/simd/operator/functions/generic/comma.hpp b/inst/include/boost/simd/operator/functions/generic/comma.hpp deleted file mode 100644 index 4d27e58..0000000 --- a/inst/include/boost/simd/operator/functions/generic/comma.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_GENERIC_COMMA_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_GENERIC_COMMA_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( comma_, tag::cpu_ - , (A0)(A1) - , (generic_ >) - (generic_ >) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&, const A1& a1) const - { - return a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/generic/fast_divides.hpp b/inst/include/boost/simd/operator/functions/generic/fast_divides.hpp deleted file mode 100644 index f10c9a6..0000000 --- a/inst/include/boost/simd/operator/functions/generic/fast_divides.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_GENERIC_FAST_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_GENERIC_FAST_DIVIDES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fast_divides_ - , tag::cpu_ - , (A0) - , (generic_ >) - (generic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return a0 * fast_rec(a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fast_divides_ - , tag::cpu_ - , (A0) - , (generic_ >) - (generic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return a0 / a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/if_else.hpp b/inst/include/boost/simd/operator/functions/if_else.hpp deleted file mode 100644 index 1a45145..0000000 --- a/inst/include/boost/simd/operator/functions/if_else.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_IF_ELSE_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief if_else generic tag - - Represents the if_else function in generic contexts. - - @par Models: - Hierarchy - **/ - struct if_else_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_if_else_( ext::adl_helper(), static_cast(args)... ) ) - }; - typedef if_else_ select_; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_if_else_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_if_else_; - } - /*! - return the elementwise selected element from the second and third operand - according to the non nullity of the first operand. - parameters 2 and 3 must share the same type and also the same element size - as parameter 1 - - @par Semantic: - - For every parameters of types respectively T0, T1, T2: - - @code - T0 r = if_else(a0,a1,a2); - @endcode - - is similar to: - - @code - T0 r = a0 ? a1 : a2; - @endcode - - @par Alias: - @c where, @c select, @c sel - - - @see @funcref{if_else_zero}, @funcref{if_else_allbits}, @funcref{if_zero_else}, - @funcref{if_allbits_else}, @funcref{if_one_else_zero}, @funcref{if_zero_else_one}, @funcref{bitwise_select} - @param a0 - - @param a1 - - @param a2 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_ , if_else , 3 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_ , where , 3 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_ , select , 3 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::if_else_ , sel , 3 ) - -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/is_equal.hpp b/inst/include/boost/simd/operator/functions/is_equal.hpp deleted file mode 100644 index 06c4497..0000000 --- a/inst/include/boost/simd/operator/functions/is_equal.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_IS_EQUAL_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief is_equal generic tag - - Represents the is_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_equal_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_equal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_equal_; - } - /*! - Returns True or False - according a0 and a1 are equal or not. Infix notation can be used with operator '==' - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = is_equal(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 == a1; - @endcode - - @par Alias: - @c eq, @c is_eq - - @see @funcref{is_not_equal}, @funcref{is_eqz}, @funcref{is_equal_with_equal_nans} - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_equal_, is_equal, 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_equal_, eq, 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_equal_, is_eq, 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/is_greater.hpp b/inst/include/boost/simd/operator/functions/is_greater.hpp deleted file mode 100644 index 6d3b60c..0000000 --- a/inst/include/boost/simd/operator/functions/is_greater.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_IS_GREATER_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief is_greater generic tag - - Represents the is_greater function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_greater_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_greater_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_greater_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_greater_; - } - /*! - Returns True or False according a0 is greater than a1 or not. - Infix notation can be used with operator '>'. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = is_greater(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 > a1; - @endcode - - @par Alias: - @c gt, @c is_gt - - @see @funcref{is_greater_equal}, @funcref{is_gtz}, @funcref{is_nle}, @funcref{is_nlez} - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_greater_, is_greater , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_greater_, gt , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_greater_, is_gt , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/is_greater_equal.hpp b/inst/include/boost/simd/operator/functions/is_greater_equal.hpp deleted file mode 100644 index a82cacb..0000000 --- a/inst/include/boost/simd/operator/functions/is_greater_equal.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief is_greater_equal generic tag - - Represents the is_greater_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_greater_equal_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_greater_equal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_greater_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_greater_equal_; - } - /*! - Returns True or False according a0 is greater or equal to a1 or not. - Infix notation can be used with operator '>='. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = is_greater_equal(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 >= a1; - @endcode - - @par Alias: - @c ge, @c is_ge - - @see @funcref{is_greater}, @funcref{is_gez}, @funcref{is_nge}, @funcref{is_ngez} - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_greater_equal_, is_greater_equal , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_greater_equal_, ge , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/is_less.hpp b/inst/include/boost/simd/operator/functions/is_less.hpp deleted file mode 100644 index 11a9933..0000000 --- a/inst/include/boost/simd/operator/functions/is_less.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_IS_LESS_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief is_less generic tag - - Represents the is_less function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_less_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_less_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_less_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_less_; - } - /*! - Returns True< or False according a0 is less than a1 or not. - Infix notation can be used with operator '<'. - - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = is_less(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 < a1; - @endcode - - @par Alias: - @c lt, @c is_lt - - @see @funcref{is_less_equal}, @funcref{is_ltz}, @funcref{is_nge}, @funcref{is_ngez} - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_less_, is_less , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_less_, lt , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_less_, is_lt , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/is_less_equal.hpp b/inst/include/boost/simd/operator/functions/is_less_equal.hpp deleted file mode 100644 index 906fd32..0000000 --- a/inst/include/boost/simd/operator/functions/is_less_equal.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief is_less_equal generic tag - - Represents the is_less_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_less_equal_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_less_equal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_less_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_less_equal_; - } - /*! - Returns True() or False() depending on whether a0 is - less than or equal to a1 or not. - Infix notation can be used with operator '<='. - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = is_less_equal(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 <= a1; - @endcode - - @par Alias: - @c le, @c is_le - - @see @funcref{is_equal}, @funcref{is_eqz}, @funcref{is_nez} - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_less_equal_, is_less_equal , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_less_equal_, le , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_less_equal_, is_le , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/is_not_equal.hpp b/inst/include/boost/simd/operator/functions/is_not_equal.hpp deleted file mode 100644 index 7ae9a0d..0000000 --- a/inst/include/boost/simd/operator/functions/is_not_equal.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief is_not_equal generic tag - - Represents the is_not_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_equal_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_equal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_equal_; - } - /*! - Returns True if a0 and a1 are not equal else False. - Infix notation can be used with operator '!='. - - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = is_not_equal(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 != a1; - @endcode - - @par Alias: - @c ne, @c neq, @c is_neq - - @see @funcref{is_equal}, @funcref{is_nez}, @funcref{is_not_equal_with_equal_nans} - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_equal_, is_not_equal , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_equal_, neq , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_equal_, ne , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_equal_, is_neq , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/logical_and.hpp b/inst/include/boost/simd/operator/functions/logical_and.hpp deleted file mode 100644 index d7d5f82..0000000 --- a/inst/include/boost/simd/operator/functions/logical_and.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief logical_and generic tag - - Represents the logical_and function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_and_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_logical_and_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_logical_and_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_logical_and_; - } - /*! - return the logical and of the two parameters - the operands must of the same type - Infix notation can be used with operator '&&' - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = logical_and(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 && a1 ; - @endcode - - @par Alias: - @c l_and - - @see @funcref{logical_or}, @funcref{logical_xor}, @funcref{logical_notand}, - @funcref{logical_andnot}, @funcref{logical_notor}, @funcref{logical_ornot}, @funcref{logical_not} - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_and_ , logical_and , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_and_ , l_and , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/logical_not.hpp b/inst/include/boost/simd/operator/functions/logical_not.hpp deleted file mode 100644 index 2ed896d..0000000 --- a/inst/include/boost/simd/operator/functions/logical_not.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief logical_not generic tag - - Represents the logical_not function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_not_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_logical_not_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_logical_not_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_logical_not_; - } - /*! - return the logical negation of the parameter, - i.e. True or False of the entry type according that - the input is zero or non zero - - @par Semantic: - - For every parameter of type T0 - - @code - as_logical r = logical_not(a0); - @endcode - - is similar to: - - @code - T0 r =!a0; - @endcode - - @par Alias: - @c l_not - - @see @funcref{logical_or}, @funcref{logical_xor}, @funcref{logical_notand}, - @funcref{logical_andnot}, @funcref{logical_notor}, @funcref{logical_ornot} - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_not_ , logical_not , 1 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_not_ , l_not , 1 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/logical_or.hpp b/inst/include/boost/simd/operator/functions/logical_or.hpp deleted file mode 100644 index 57f1c22..0000000 --- a/inst/include/boost/simd/operator/functions/logical_or.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief logical_or generic tag - - Represents the logical_or function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_or_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_logical_or_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_logical_or_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_logical_or_; - } - /*! - return the logical or of the two parameters - the operands must of the same type - Infix notation can be used with operator '||' - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - as_logical r = logical_or(a0,a1); - @endcode - - is similar to: - - @code - as_logical r = a0 || a1; - @endcode - - @par Alias: - @c l_or - - @see @funcref{logical_and}, @funcref{logical_xor}, @funcref{logical_notand}, - @funcref{logical_andnot}, @funcref{logical_notor}, @funcref{logical_ornot}, @funcref{logical_not} - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_or_ , logical_or , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::logical_or_ , l_or , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/map.hpp b/inst/include/boost/simd/operator/functions/map.hpp deleted file mode 100644 index 0f48191..0000000 --- a/inst/include/boost/simd/operator/functions/map.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_MAP_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_MAP_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief map generic tag - - Represents the assign function in generic contexts. - - @par Models: - Hierarchy - **/ - namespace tag - { - struct map_; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_map_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_map_; - } - namespace tag - { - struct map_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_map_( ext::adl_helper(), static_cast(args)... ) ) - }; - } -} } - -namespace boost { namespace simd -{ - /*! - - @par Semantic: - - TODO Put description here - @param a0 - @param a1 - @param a2 - @param a3 - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::map_,map,(A0 const&)(A1 const&)(A2&)(A3&),4) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::map_,map,(A0 const&)(A1&)(A2&)(A3&),4) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::map_,map,2) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::map_,map,(A0 const&)(A1&),2) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::map_,map,3) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::map_,map,(A0 const&)(A1 const&)(A2&),3) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::map_,map,(A0 const&)(A1&)(A2&),3) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::map_,map,4) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::map_,map,(A0 const&)(A1 const&)(A2 const&)(A3&),4) -} } - -#endif diff --git a/inst/include/boost/simd/operator/functions/minus.hpp b/inst/include/boost/simd/operator/functions/minus.hpp deleted file mode 100644 index e2180de..0000000 --- a/inst/include/boost/simd/operator/functions/minus.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_MINUS_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief minus generic tag - - Represents the minus function in generic contexts. - - @par Models: - Hierarchy - **/ - struct minus_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_minus_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_minus_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_minus_; - } - /*! - return the elementwise difference of the two parameters - Infix notation can be used with operator '-' - - @par Semantic: - - For every parameters of type T0: - - @code - T0 r = minus(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0-a1; - @endcode - - @par Alias: - @c sub - - @see @funcref{subs}, @funcref{oneminus}, @funcref{minusone}, @funcref{dec}, - @param a0 - - @param a1 - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minus_ , minus , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minus_ , sub , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/modulo.hpp b/inst/include/boost/simd/operator/functions/modulo.hpp deleted file mode 100644 index 4ed346e..0000000 --- a/inst/include/boost/simd/operator/functions/modulo.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_MODULO_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_MODULO_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief modulo generic tag - - Represents the modulo function in generic contexts. - - @par Models: - Hierarchy - **/ - struct modulo_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_modulo_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_modulo_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_modulo_; - } - /*! - return the elementwise modulo of the two parameters - Infix notation can be used with operator '\%' - Does not work for floating point entries. - - @par Semantic: - - For every parameters of type T0: - - @code - T0 r = modulo(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0 % a1; - @endcode - - @see @funcref{rem}, @funcref{remainder}, @funcref{mod}, - @param a0 - - @param a1 - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::modulo_ , modulo , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/multiplies.hpp b/inst/include/boost/simd/operator/functions/multiplies.hpp deleted file mode 100644 index 545d1c8..0000000 --- a/inst/include/boost/simd/operator/functions/multiplies.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_MULTIPLIES_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief multiplies generic tag - - Represents the multiplies function in generic contexts. - - @par Models: - Hierarchy - **/ - struct multiplies_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_multiplies_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_multiplies_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_multiplies_; - } - /*! - return the elementwise multiplication of the two parameters - Infix notation can be used with operator '*' - - @par Semantic: - - For every parameters of type T0: - - @code - T0 r = multiplies(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0*a1; - @endcode - - @par Alias: - @c mul, @c times - - @param a0 - - @param a1 - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::multiplies_ , multiplies , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::multiplies_ , mul , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::multiplies_ , times , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/optimize/bitwise_and.hpp b/inst/include/boost/simd/operator/functions/optimize/bitwise_and.hpp deleted file mode 100644 index 32b6103..0000000 --- a/inst/include/boost/simd/operator/functions/optimize/bitwise_and.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_BITWISE_AND_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_and_, tag::formal_ - , (D)(A0)(A1) - , (unspecified_) - ((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - bitwise_andnot(a0, boost::proto::child_c<0>(a1)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT (bitwise_and_, tag::formal_ - , (D)(A0)(A1) - , ((node_ , D>)) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - bitwise_andnot(a1, boost::proto::child_c<0>(a0)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT (bitwise_and_, tag::formal_ - , (D)(A0)(A1) - , ((node_ , D>)) - ((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - bitwise_andnot(a1, boost::proto::child_c<0>(a0)) - ) - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/optimize/bitwise_or.hpp b/inst/include/boost/simd/operator/functions/optimize/bitwise_or.hpp deleted file mode 100644 index 7041acc..0000000 --- a/inst/include/boost/simd/operator/functions/optimize/bitwise_or.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_BITWISE_OR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_or_, tag::formal_ - , (D)(A0)(A1) - , (unspecified_) - ((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - bitwise_ornot(a0, boost::proto::child_c<0>(a1)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT (bitwise_or_, tag::formal_ - , (D)(A0)(A1) - , ((node_ , D>)) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - bitwise_ornot(a1, boost::proto::child_c<0>(a0)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT (bitwise_or_, tag::formal_ - , (D)(A0)(A1) - , ((node_ , D>)) - ((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - bitwise_ornot(a1, boost::proto::child_c<0>(a0)) - ) - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/optimize/logical_not.hpp b/inst/include/boost/simd/operator/functions/optimize/logical_not.hpp deleted file mode 100644 index 664ba41..0000000 --- a/inst/include/boost/simd/operator/functions/optimize/logical_not.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_LOGICAL_NOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_not_ - , tag::formal_, (D)(A0)(Arity) - , ((node_)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - is_not_less(boost::proto::child_c<0>(a0),boost::proto::child_c<1>(a0)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_not_ - , tag::formal_, (D)(A0)(Arity) - , ((node_)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - is_not_greater(boost::proto::child_c<0>(a0),boost::proto::child_c<1>(a0)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_not_ - , tag::formal_, (D)(A0)(Arity) - , ((node_)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - is_not_less_equal(boost::proto::child_c<0>(a0),boost::proto::child_c<1>(a0)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_not_ - , tag::formal_, (D)(A0)(Arity) - , ((node_)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - is_not_greater_equal(boost::proto::child_c<0>(a0),boost::proto::child_c<1>(a0)) - ) - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/optimize/minus.hpp b/inst/include/boost/simd/operator/functions/optimize/minus.hpp deleted file mode 100644 index 15c5dd6..0000000 --- a/inst/include/boost/simd/operator/functions/optimize/minus.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_MINUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minus_ , tag::formal_, (D)(A0)(A1) - , ((node_ , D>))(unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - fms(boost::proto::child_c<0>(a0), boost::proto::child_c<1>(a0), a1) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( minus_ , tag::formal_, (D)(A0)(A1) - , (unspecified_)((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - fnms(boost::proto::child_c<0>(a1), boost::proto::child_c<1>(a1), a0) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( minus_ , tag::formal_, (D)(A0)(A1) - , ((node_ , D>))((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - fnms(boost::proto::child_c<0>(a1), boost::proto::child_c<1>(a1), a0) - ) - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/optimize/plus.hpp b/inst/include/boost/simd/operator/functions/optimize/plus.hpp deleted file mode 100644 index 83ff1b6..0000000 --- a/inst/include/boost/simd/operator/functions/optimize/plus.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_PLUS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plus_ , tag::formal_, (D)(A0)(A1) - , ((node_ , D>))(unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - fma(boost::proto::child_c<0>(a0), boost::proto::child_c<1>(a0), a1) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( plus_ , tag::formal_, (D)(A0)(A1) - , (unspecified_)((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - fma(boost::proto::child_c<0>(a1), boost::proto::child_c<1>(a1), a0) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( plus_ , tag::formal_, (D)(A0)(A1) - , ((node_ , D>))((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - fma(boost::proto::child_c<0>(a0), boost::proto::child_c<1>(a0), a1) - ) - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/optimize/unary_minus.hpp b/inst/include/boost/simd/operator/functions/optimize/unary_minus.hpp deleted file mode 100644 index 27011cc..0000000 --- a/inst/include/boost/simd/operator/functions/optimize/unary_minus.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_OPTIMIZE_UNARY_MINUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( unary_minus_ , tag::formal_, (D)(A0) - , ((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - fnma(boost::proto::child_c<0>(a0), boost::proto::child_c<1>(a0), boost::proto::child_c<2>(a0)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( unary_minus_ , tag::formal_, (D)(A0) - , ((node_ , D>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - fnms(boost::proto::child_c<0>(a0), boost::proto::child_c<1>(a0), boost::proto::child_c<2>(a0)) - ) - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/plus.hpp b/inst/include/boost/simd/operator/functions/plus.hpp deleted file mode 100644 index 4961b34..0000000 --- a/inst/include/boost/simd/operator/functions/plus.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_PLUS_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief plus generic tag - - Represents the plus function in generic contexts. - - @par Models: - Hierarchy - **/ - struct plus_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_plus_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_plus_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_plus_; - } - /*! - return the elementwise sum of the two parameters - Infix notation can be used with operator '+' - - @par Semantic: - - For every parameters of type T0: - - @code - T0 r = plus(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0+a1; - @endcode - - @par Alias: - @c add - - @see @funcref{adds}, @funcref{oneplus}, @funcref{inc} - @param a0 - - @param a1 - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::plus_ , plus , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::plus_ , add , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/bitwise_and.hpp b/inst/include/boost/simd/operator/functions/scalar/bitwise_and.hpp deleted file mode 100644 index 9d06653..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/bitwise_and.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_BITWISE_AND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF( bitwise_and_ , tag::cpu_ - , (A0)(A1) - , (boost::mpl:: - equal_to< boost::mpl::sizeof_ - , boost::mpl::sizeof_ - > - ) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type b_t; - return bitwise_cast(b_t(bitwise_cast(a0) & bitwise_cast(a1))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/bitwise_or.hpp b/inst/include/boost/simd/operator/functions/scalar/bitwise_or.hpp deleted file mode 100644 index 63be9a4..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/bitwise_or.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_BITWISE_OR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF( bitwise_or_ , tag::cpu_ - , (A0)(A1) - , (boost::mpl:: - equal_to< boost::mpl::sizeof_ - , boost::mpl::sizeof_ - > - ) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type b_t; - return bitwise_cast(b_t(bitwise_cast(a0) | bitwise_cast(a1))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/bitwise_xor.hpp b/inst/include/boost/simd/operator/functions/scalar/bitwise_xor.hpp deleted file mode 100644 index e7a5891..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/bitwise_xor.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_BITWISE_XOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF( bitwise_xor_, tag::cpu_ - , (A0)(A1) - , (boost::mpl:: - equal_to< boost::mpl::sizeof_ - , boost::mpl::sizeof_ - > - ) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type b_t; - return bitwise_cast(b_t(bitwise_cast(a0) ^ bitwise_cast(a1))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/complement.hpp b/inst/include/boost/simd/operator/functions/scalar/complement.hpp deleted file mode 100644 index 84bc3b6..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/complement.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_COMPLEMENT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( complement_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return ~a0; } - }; - - BOOST_DISPATCH_IMPLEMENT ( complement_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type b_t; - return bitwise_cast(~bitwise_cast(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/divides.hpp b/inst/include/boost/simd/operator/functions/scalar/divides.hpp deleted file mode 100644 index 2b02037..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/divides.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_DIVIDES_HPP_INCLUDED - -#include -#include - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4723) // potential divide by 0 -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divides_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return a0/a1; } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/if_else.hpp b/inst/include/boost/simd/operator/functions/scalar/if_else.hpp deleted file mode 100644 index 205c710..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/if_else.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IF_ELSE_HPP_INCLUDED - -#include -#include - -#ifdef BOOST_SIMD_BRANCH_FREE_IF_ELSE -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1,const A1& a2) const - { - #ifdef BOOST_SIMD_BRANCH_FREE_IF_ELSE - return bitwise_select(genmask(a0), a1, a2); - #else - return a0 ? a1 : a2; - #endif - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/is_equal.hpp b/inst/include/boost/simd/operator/functions/scalar/is_equal.hpp deleted file mode 100644 index 38be532..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/is_equal.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_EQUAL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_equal_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 == a1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( is_equal_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename simd::meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 == a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_, tag::cpu_ - , (A0) - , (scalar_< logical_ >) - (scalar_< logical_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 == a1); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/is_greater.hpp b/inst/include/boost/simd/operator/functions/scalar/is_greater.hpp deleted file mode 100644 index 3174559..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/is_greater.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_GREATER_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_greater_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 > a1); - } - }; - BOOST_DISPATCH_IMPLEMENT( is_greater_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 > a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_greater_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (mpl_integral_< scalar_< fundamental_ > >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&) const - { - return result_type(a0 > A1::value); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_greater_, tag::cpu_ - , (A0)(A1) - , (mpl_integral_< scalar_< fundamental_ > >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 a1) const - { - return result_type(A0::value > a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_greater_, tag::cpu_ - , (A0) - , (mpl_integral_< scalar_< fundamental_ > >) - (mpl_integral_< scalar_< fundamental_ > >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A0 const&) const - { - return result_type(false); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/is_greater_equal.hpp b/inst/include/boost/simd/operator/functions/scalar/is_greater_equal.hpp deleted file mode 100644 index 53469c3..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/is_greater_equal.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 >= a1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 >= a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/is_less.hpp b/inst/include/boost/simd/operator/functions/scalar/is_less.hpp deleted file mode 100644 index 0ac7286..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/is_less.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_LESS_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 < a1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 < a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (mpl_integral_< scalar_< fundamental_ > >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&) const - { - return result_type(a0 < A1::value); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_ - , (A0)(A1) - , (mpl_integral_< scalar_< fundamental_ > >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 a1) const - { - return result_type(A0::value < a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_ - , (A0) - , (mpl_integral_< scalar_< fundamental_ > >) - (mpl_integral_< scalar_< fundamental_ > >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A0 const&) const - { - return result_type(false); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/is_less_equal.hpp b/inst/include/boost/simd/operator/functions/scalar/is_less_equal.hpp deleted file mode 100644 index 7195cd7..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/is_less_equal.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 <= a1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 <= a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/is_not_equal.hpp b/inst/include/boost/simd/operator/functions/scalar/is_not_equal.hpp deleted file mode 100644 index 91da375..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/is_not_equal.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_IS_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 != a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 != a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_, tag::cpu_ - , (A0) - , (scalar_< logical_ >) - (scalar_< logical_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 != a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/logical_and.hpp b/inst/include/boost/simd/operator/functions/scalar/logical_and.hpp deleted file mode 100644 index 3329e0c..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/logical_and.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_LOGICAL_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_LOGICAL_AND_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_and_, tag::cpu_ - , (A0)(A1) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return (a0 && a1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( logical_and_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(a0 && a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_and_, tag::cpu_ - , (A0)(A1) - , (scalar_< logical_ >) - (scalar_< logical_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(a0.value() && a1.value()); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/logical_not.hpp b/inst/include/boost/simd/operator/functions/scalar/logical_not.hpp deleted file mode 100644 index 332fd3c..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/logical_not.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_LOGICAL_NOT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_not_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return (!a0); } - }; - BOOST_DISPATCH_IMPLEMENT ( logical_not_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return result_type(!a0); } - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_not_, tag::cpu_ - , (A0) - , (scalar_< logical_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return result_type(!a0); } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/logical_or.hpp b/inst/include/boost/simd/operator/functions/scalar/logical_or.hpp deleted file mode 100644 index 3ce5ebe..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/logical_or.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_LOGICAL_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_LOGICAL_OR_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_or_, tag::cpu_ - , (A0)(A1) - , (scalar_< bool_ >) - (scalar_< bool_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return (a0 || a1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( logical_or_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(a0 || a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_or_, tag::cpu_ - , (A0)(A1) - , (scalar_< logical_ >) - (scalar_< logical_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(a0.value() || a1.value()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/minus.hpp b/inst/include/boost/simd/operator/functions/scalar/minus.hpp deleted file mode 100644 index b2622dd..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/minus.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_MINUS_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minus_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return a0-a1; } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/modulo.hpp b/inst/include/boost/simd/operator/functions/scalar/modulo.hpp deleted file mode 100644 index 70a1e7d..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/modulo.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_MODULO_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_MODULO_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( modulo_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return a0 % a1; } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/multiplies.hpp b/inst/include/boost/simd/operator/functions/scalar/multiplies.hpp deleted file mode 100644 index 7f35aca..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/multiplies.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return a0 * a1; } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_ - , (A0) - , (scalar_< uint16_ >) - (scalar_< uint16_ >) - ) - { - /* When multiplying two unsigned chars or two unsigned shorts, promotion to int occurs. - * Therefore 65535*65535 (2^32) of two unsigned short produces a signed integer overflow, which is UB. - * We want unsigned multiplication of two integers to be well-defined regardless of size, hence this special case. - * - * The problem could also occur for unsigned char but it is assumed that 'int' is 32-bit, and therefore - * large enough to contain 2^16 even in signed. - */ - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return A0((unsigned int)a0 * (unsigned int)a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_ - , (A0)(A1) - , (mpl_integral_< scalar_< arithmetic_ > >) - (mpl_integral_< scalar_< arithmetic_ > >) - ) - { - typedef typename mpl::times::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const&) const - { - return result_type(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (mpl_integral_< scalar_< arithmetic_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return a0*A1::value; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_ - , (A0)(A1) - , (mpl_integral_< scalar_< arithmetic_ > >) - (scalar_< arithmetic_ >) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const& a1) const - { - return a1*A0::value; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/plus.hpp b/inst/include/boost/simd/operator/functions/scalar/plus.hpp deleted file mode 100644 index 1539bbd..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/plus.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_PLUS_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plus_, tag::cpu_, (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return a0 + a1; } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/shift_left.hpp b/inst/include/boost/simd/operator/functions/scalar/shift_left.hpp deleted file mode 100644 index 3e22eef..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/shift_left.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_SHIFT_LEFT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shift_left_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast(shift_left(bitwise_cast(a0),a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_left_ , tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG( assert_good_shift(a1) - , "shift_left: a shift is out of range" - ); - - return a0 << a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/shift_right.hpp b/inst/include/boost/simd/operator/functions/scalar/shift_right.hpp deleted file mode 100644 index 1f3f0cd..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/shift_right.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_SHIFT_RIGHT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shift_right_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >)(scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type itype; - return bitwise_cast(shift_right(bitwise_cast(a0),a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_ , tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG( assert_good_shift(a1) - , "shift_right: a shift is out of range" - ); - - return a0 >> a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/unary_minus.hpp b/inst/include/boost/simd/operator/functions/scalar/unary_minus.hpp deleted file mode 100644 index ff1396f..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/unary_minus.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_UNARY_MINUS_HPP_INCLUDED - -#include -#include - -#ifdef BOOST_MSVC - #pragma warning(push) - #pragma warning(disable: 4146) // unary minus applied to unsigned -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( unary_minus_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return -a0; } - }; -} } } - -#ifdef BOOST_MSVC - #pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/operator/functions/scalar/unary_plus.hpp b/inst/include/boost/simd/operator/functions/scalar/unary_plus.hpp deleted file mode 100644 index 1e14630..0000000 --- a/inst/include/boost/simd/operator/functions/scalar/unary_plus.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_UNARY_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SCALAR_UNARY_PLUS_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( unary_plus_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return a0; } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/shift_left.hpp b/inst/include/boost/simd/operator/functions/shift_left.hpp deleted file mode 100644 index d6cdcba..0000000 --- a/inst/include/boost/simd/operator/functions/shift_left.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyleft 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyleft 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief shift_left generic tag - - Represents the shift_left function in generic contexts. - - @par Models: - Hierarchy - **/ - struct shift_left_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_shift_left_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_shift_left_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_shift_left_; - } - /*! - return left shift of the first operand by the second - that must be of integer type and of the same number - of elements as the first parameter - Infix notation can be used with operator '<<' - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = shift_left(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0 << a1; - @endcode - - @par Alias: - @c shl, @c shli - - @see @funcref{shift_right}, @funcref{shr}, @funcref{rshl}, @funcref{rshr}, @funcref{rol}, @funcref{ror} - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::shift_left_ , shift_left , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::shift_left_ , shl , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::shift_left_ , shli , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/shift_right.hpp b/inst/include/boost/simd/operator/functions/shift_right.hpp deleted file mode 100644 index b5774a4..0000000 --- a/inst/include/boost/simd/operator/functions/shift_right.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief shift_right generic tag - - Represents the shift_right function in generic contexts. - - @par Models: - Hierarchy - **/ - struct shift_right_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_shift_right_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_shift_right_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_shift_right_; - } - /*! - return right shift of the first operand by the second - that must be of integer type and of the same number - of elements as the first parameter - Infix notation can be used with operator '>>' - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = shift_right(a0,a1); - @endcode - - is similar to: - - @code - T0 r = a0 >> a1; - @endcode - - @par Alias: - @c shra, @c shar, @c shrai - - @see @funcref{shift_left}, @funcref{shr}, @funcref{rshl}, @funcref{rshr}, @funcref{rol}, @funcref{ror} - @param a0 - - @param a1 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::shift_right_ , shift_right , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::shift_right_ , shra , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::shift_right_ , shar , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::shift_right_ , shrai , 2 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/bitwise_and.hpp b/inst/include/boost/simd/operator/functions/simd/common/bitwise_and.hpp deleted file mode 100644 index a04f75f..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/bitwise_and.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_BITWISE_AND_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_and_, tag::cpu_ - , (A0)(A1)(X) - , (boost::mpl::not_< boost::is_same >) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return bitwise_and(a0, simd::bitwise_cast(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/bitwise_or.hpp b/inst/include/boost/simd/operator/functions/simd/common/bitwise_or.hpp deleted file mode 100644 index 5376259..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/bitwise_or.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_BITWISE_OR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( bitwise_or_, tag::cpu_ - , (A0)(A1)(X) - , (boost::mpl::not_< boost::is_same >) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return bitwise_or(a0, simd::bitwise_cast(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/bitwise_xor.hpp b/inst/include/boost/simd/operator/functions/simd/common/bitwise_xor.hpp deleted file mode 100644 index 18692e3..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/bitwise_xor.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_BITWISE_XOR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF (bitwise_xor_, tag::cpu_, - (A0)(A1)(X), - (boost::mpl::not_< boost::is_same >), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - return bitwise_xor(a0, bitwise_cast(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/complement.hpp b/inst/include/boost/simd/operator/functions/simd/common/complement.hpp deleted file mode 100644 index afa891b..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/complement.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_COMPLEMENT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( complement_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return b_xor(boost::simd::Allbits(), a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( complement_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return logical_xor(boost::simd::True(), a0); - } - }; - - -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/if_else.hpp b/inst/include/boost/simd/operator/functions/simd/common/if_else.hpp deleted file mode 100644 index 520eeed..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/if_else.hpp +++ /dev/null @@ -1,93 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_IF_ELSE_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(X) - , ((simd_< logical_, X >)) - ((simd_< arithmetic_, X >)) - ((simd_< arithmetic_, X >)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A1&a2) const - { - return bitwise_select(genmask(a0), a1, a2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(X) - , ((simd_< arithmetic_, X >)) - ((simd_< arithmetic_, X >)) - ((simd_< arithmetic_, X >)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A1&a2) const - { - return if_else( is_nez(a0), a1, a2 ); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(X) - , ((simd_< arithmetic_, X >)) - ((simd_< logical_, X >)) - ((simd_< logical_, X >)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A1&a2) const - { - return if_else( is_nez(a0), a1, a2 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(X) - , ((simd_< logical_, X >)) - ((simd_< logical_, X >)) - ((simd_< logical_, X >)) - ) - { - typedef A1 result_type; - - template - typename enable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(const A0_& a0, const A1& a1, const A1&a2) const - { - typedef typename meta::as_arithmetic::type atype; - return bitwise_cast(if_else(a0,bitwise_cast(a1),bitwise_cast(a2))); - } - - template - typename disable_if< meta::is_bitwise_logical, result_type>::type - BOOST_FORCEINLINE operator()(const A0_& a0, const A1& a1, const A1&a2) const - { - return logical_or(logical_and(a1,a0),logical_andnot(a2,a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/is_equal.hpp b/inst/include/boost/simd/operator/functions/simd/common/is_equal.hpp deleted file mode 100644 index b9c48ed..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/is_equal.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_IS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( is_equal_ - , boost::simd::tag::cpu_ - , (A0)(X) - , (mpl::equal_to< mpl::sizeof_ - , mpl::sizeof_ - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - typedef typename meta::as_arithmetic::type base_t; - typedef typename dispatch::meta::as_integer::type cast_t; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_cast ( eq( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/is_not_equal.hpp b/inst/include/boost/simd/operator/functions/simd/common/is_not_equal.hpp deleted file mode 100644 index 2239d39..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/is_not_equal.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_IS_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( is_not_equal_ - , boost::simd::tag::cpu_ - , (A0)(X) - , (mpl::equal_to< mpl::sizeof_ - , mpl::sizeof_ - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - typedef typename meta::as_arithmetic::type base_t; - typedef typename dispatch::meta::as_integer::type cast_t; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_cast ( neq( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_ - , boost::simd::tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return logical_not( a0 == a1 ); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/logical_and.hpp b/inst/include/boost/simd/operator/functions/simd/common/logical_and.hpp deleted file mode 100644 index 8f74037..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/logical_and.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_LOGICAL_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_LOGICAL_AND_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_and_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return mask2logical(b_and(genmask(a0), genmask(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/logical_not.hpp b/inst/include/boost/simd/operator/functions/simd/common/logical_not.hpp deleted file mode 100644 index e83783d..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/logical_not.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_LOGICAL_NOT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_not_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return is_eqz(a0); } - }; - - BOOST_DISPATCH_IMPLEMENT ( logical_not_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return mask2logical(complement(genmask(a0))); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/logical_or.hpp b/inst/include/boost/simd/operator/functions/simd/common/logical_or.hpp deleted file mode 100644 index 682e608..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/logical_or.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_LOGICAL_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_LOGICAL_OR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( logical_or_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return mask2logical(b_or(genmask(a0), genmask(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/map.hpp b/inst/include/boost/simd/operator/functions/simd/common/map.hpp deleted file mode 100644 index b521fab..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/map.hpp +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_MAP_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_MAP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_SIMD_MAX_LOG2_CARDINAL_MAKE_MAP 3 - -#if !defined(BOOST_SIMD_DONT_USE_PREPROCESSED_FILES) -#include -#else -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if defined(__WAVE__) && defined(BOOST_SIMD_CREATE_PREPROCESSED_FILES) && __INCLUDE_LEVEL__ == 0 -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map.hpp") -#undef BOOST_FORCEINLINE -#endif - -namespace boost { namespace simd { namespace ext -{ - #define M1(z,n,t) (generic_< unspecified_ >) - #define M2(z,n,t) typename meta::scalar_of::type - #define M3(z,n,t) extract(a##n, t) - #define M3s(z,n,t) extract(a##n) - #define M4(z,n,t) (A##n) - #define M5(z,n,t) f(BOOST_PP_ENUM(t, M3s, n)) - #define M6(z,n,t) meta::cardinal_of::value - - #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_DISPATCH_MAX_ARITY, "boost/simd/operator/functions/simd/common/map.hpp")) - #include BOOST_PP_ITERATE() - - #undef M6 - #undef M5 - #undef M4 - #undef M3s - #undef M3 - #undef M2 - #undef M1 -} } } - -#if defined(__WAVE__) && defined(BOOST_SIMD_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif -#endif -#endif - -#else -#if BOOST_PP_ITERATION_DEPTH() == 1 - - #define BOOST_PP_VALUE BOOST_PP_ITERATION() - #include BOOST_PP_ASSIGN_SLOT(1) - #define n BOOST_PP_SLOT(1) - - #define BOOST_PP_VALUE 1 - #include BOOST_PP_ASSIGN_SLOT(2) - - BOOST_DISPATCH_IMPLEMENT ( map_, tag::cpu_ - , (Func)BOOST_PP_REPEAT(n, M4, ~) - , (unspecified_)BOOST_PP_REPEAT(n,M1,~) - ) - { - typedef typename dispatch::meta:: - result_of< Func const( BOOST_PP_ENUM(n,M2,~) ) - >::type - rtype; - - static const std::size_t N = BOOST_DISPATCH_FOLD(n, cardinal_common<, >::value, M6, ~); - - typedef typename meta:: - vector_of< rtype - , N - >::type result_type; - - template - struct impl - { - static result_type call(Func const& f, BOOST_PP_ENUM_BINARY_PARAMS(n, A, const & a)) - { - result_type that; - for(std::size_t i=0; i!=N; ++i) - insert(f(BOOST_PP_ENUM(n, M3, i)), that, i); - return that; - } - }; - - #define BOOST_PP_ITERATION_PARAMS_2 (3, (1, BOOST_SIMD_MAX_LOG2_CARDINAL_MAKE_MAP, "boost/simd/operator/functions/simd/common/map.hpp")) - #include BOOST_PP_ITERATE() - - BOOST_FORCEINLINE result_type operator()(Func const& f, BOOST_PP_ENUM_BINARY_PARAMS(n, A, const & a)) const - { - return impl::call(f, BOOST_PP_ENUM_PARAMS(n, a)); - } - }; - - #undef n - -#elif BOOST_PP_ITERATION_DEPTH() == 2 - - #define BOOST_PP_VALUE BOOST_PP_SLOT(2)*2 - #include BOOST_PP_ASSIGN_SLOT(2) - - template - struct impl - { - BOOST_FORCEINLINE static result_type call(Func const& f, BOOST_PP_ENUM_BINARY_PARAMS(n, A, const & a)) - { - return make(BOOST_PP_ENUM(BOOST_PP_SLOT(2), M5, n)); - } - }; - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/preprocessed/map.hpp b/inst/include/boost/simd/operator/functions/simd/common/preprocessed/map.hpp deleted file mode 100644 index 27c17d9..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/preprocessed/map.hpp +++ /dev/null @@ -1,309 +0,0 @@ -namespace boost { namespace simd { namespace ext -{ - template< class Func , class A0 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , generic_< unspecified_ > ) , tag::cpu_ > dispatching_map_( adl_helper , tag::cpu_ , unspecified_ , generic_< unspecified_ > ) { return impl_map_ < void ( unspecified_ , generic_< unspecified_ > ) , tag::cpu_ >(); } template< class Func , class A0 > struct impl_map_ < void ( unspecified_ , generic_< unspecified_ > ) , tag::cpu_ > - { - typedef typename dispatch::meta:: - result_of< Func const( typename meta::scalar_of::type ) - >::type - rtype; - static const std::size_t N = meta::cardinal_of::value; - typedef typename meta:: - vector_of< rtype - , N - >::type result_type; - template - struct impl - { - static result_type call(Func const& f, A0 const & a0) - { - result_type that; - for(std::size_t i=0; i!=N; ++i) - insert(f(extract(a0, i)), that, i); - return that; - } - }; - template - struct impl<2, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0) - { - return make(f(extract< 0>(a0)) , f(extract< 1>(a0))); - } - }; - template - struct impl<4, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0) - { - return make(f(extract< 0>(a0)) , f(extract< 1>(a0)) , f(extract< 2>(a0)) , f(extract< 3>(a0))); - } - }; - template - struct impl<8, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0) - { - return make(f(extract< 0>(a0)) , f(extract< 1>(a0)) , f(extract< 2>(a0)) , f(extract< 3>(a0)) , f(extract< 4>(a0)) , f(extract< 5>(a0)) , f(extract< 6>(a0)) , f(extract< 7>(a0))); - } - }; - BOOST_FORCEINLINE result_type operator()(Func const& f, A0 const & a0) const - { - return impl::call(f, a0); - } - }; - template< class Func , class A0 , class A1 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > dispatching_map_( adl_helper , tag::cpu_ , unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > ) { return impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ >(); } template< class Func , class A0 , class A1 > struct impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > - { - typedef typename dispatch::meta:: - result_of< Func const( typename meta::scalar_of::type , typename meta::scalar_of::type ) - >::type - rtype; - static const std::size_t N = cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value; - typedef typename meta:: - vector_of< rtype - , N - >::type result_type; - template - struct impl - { - static result_type call(Func const& f, A0 const & a0 , A1 const & a1) - { - result_type that; - for(std::size_t i=0; i!=N; ++i) - insert(f(extract(a0, i) , extract(a1, i)), that, i); - return that; - } - }; - template - struct impl<2, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1) - { - return make(f(extract< 0>(a0) , extract< 0>(a1)) , f(extract< 1>(a0) , extract< 1>(a1))); - } - }; - template - struct impl<4, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1) - { - return make(f(extract< 0>(a0) , extract< 0>(a1)) , f(extract< 1>(a0) , extract< 1>(a1)) , f(extract< 2>(a0) , extract< 2>(a1)) , f(extract< 3>(a0) , extract< 3>(a1))); - } - }; - template - struct impl<8, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1) - { - return make(f(extract< 0>(a0) , extract< 0>(a1)) , f(extract< 1>(a0) , extract< 1>(a1)) , f(extract< 2>(a0) , extract< 2>(a1)) , f(extract< 3>(a0) , extract< 3>(a1)) , f(extract< 4>(a0) , extract< 4>(a1)) , f(extract< 5>(a0) , extract< 5>(a1)) , f(extract< 6>(a0) , extract< 6>(a1)) , f(extract< 7>(a0) , extract< 7>(a1))); - } - }; - BOOST_FORCEINLINE result_type operator()(Func const& f, A0 const & a0 , A1 const & a1) const - { - return impl::call(f, a0 , a1); - } - }; - template< class Func , class A0 , class A1 , class A2 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > dispatching_map_( adl_helper , tag::cpu_ , unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) { return impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ >(); } template< class Func , class A0 , class A1 , class A2 > struct impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > - { - typedef typename dispatch::meta:: - result_of< Func const( typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type ) - >::type - rtype; - static const std::size_t N = cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value >::value; - typedef typename meta:: - vector_of< rtype - , N - >::type result_type; - template - struct impl - { - static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2) - { - result_type that; - for(std::size_t i=0; i!=N; ++i) - insert(f(extract(a0, i) , extract(a1, i) , extract(a2, i)), that, i); - return that; - } - }; - template - struct impl<2, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2))); - } - }; - template - struct impl<4, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2)) , f(extract< 2>(a0) , extract< 2>(a1) , extract< 2>(a2)) , f(extract< 3>(a0) , extract< 3>(a1) , extract< 3>(a2))); - } - }; - template - struct impl<8, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2)) , f(extract< 2>(a0) , extract< 2>(a1) , extract< 2>(a2)) , f(extract< 3>(a0) , extract< 3>(a1) , extract< 3>(a2)) , f(extract< 4>(a0) , extract< 4>(a1) , extract< 4>(a2)) , f(extract< 5>(a0) , extract< 5>(a1) , extract< 5>(a2)) , f(extract< 6>(a0) , extract< 6>(a1) , extract< 6>(a2)) , f(extract< 7>(a0) , extract< 7>(a1) , extract< 7>(a2))); - } - }; - BOOST_FORCEINLINE result_type operator()(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2) const - { - return impl::call(f, a0 , a1 , a2); - } - }; - template< class Func , class A0 , class A1 , class A2 , class A3 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > dispatching_map_( adl_helper , tag::cpu_ , unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) { return impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ >(); } template< class Func , class A0 , class A1 , class A2 , class A3 > struct impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > - { - typedef typename dispatch::meta:: - result_of< Func const( typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type ) - >::type - rtype; - static const std::size_t N = cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value >::value >::value; - typedef typename meta:: - vector_of< rtype - , N - >::type result_type; - template - struct impl - { - static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3) - { - result_type that; - for(std::size_t i=0; i!=N; ++i) - insert(f(extract(a0, i) , extract(a1, i) , extract(a2, i) , extract(a3, i)), that, i); - return that; - } - }; - template - struct impl<2, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2) , extract< 0>(a3)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2) , extract< 1>(a3))); - } - }; - template - struct impl<4, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2) , extract< 0>(a3)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2) , extract< 1>(a3)) , f(extract< 2>(a0) , extract< 2>(a1) , extract< 2>(a2) , extract< 2>(a3)) , f(extract< 3>(a0) , extract< 3>(a1) , extract< 3>(a2) , extract< 3>(a3))); - } - }; - template - struct impl<8, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2) , extract< 0>(a3)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2) , extract< 1>(a3)) , f(extract< 2>(a0) , extract< 2>(a1) , extract< 2>(a2) , extract< 2>(a3)) , f(extract< 3>(a0) , extract< 3>(a1) , extract< 3>(a2) , extract< 3>(a3)) , f(extract< 4>(a0) , extract< 4>(a1) , extract< 4>(a2) , extract< 4>(a3)) , f(extract< 5>(a0) , extract< 5>(a1) , extract< 5>(a2) , extract< 5>(a3)) , f(extract< 6>(a0) , extract< 6>(a1) , extract< 6>(a2) , extract< 6>(a3)) , f(extract< 7>(a0) , extract< 7>(a1) , extract< 7>(a2) , extract< 7>(a3))); - } - }; - BOOST_FORCEINLINE result_type operator()(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3) const - { - return impl::call(f, a0 , a1 , a2 , a3); - } - }; - template< class Func , class A0 , class A1 , class A2 , class A3 , class A4 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > dispatching_map_( adl_helper , tag::cpu_ , unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) { return impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ >(); } template< class Func , class A0 , class A1 , class A2 , class A3 , class A4 > struct impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > - { - typedef typename dispatch::meta:: - result_of< Func const( typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type ) - >::type - rtype; - static const std::size_t N = cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value >::value >::value >::value; - typedef typename meta:: - vector_of< rtype - , N - >::type result_type; - template - struct impl - { - static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4) - { - result_type that; - for(std::size_t i=0; i!=N; ++i) - insert(f(extract(a0, i) , extract(a1, i) , extract(a2, i) , extract(a3, i) , extract(a4, i)), that, i); - return that; - } - }; - template - struct impl<2, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2) , extract< 0>(a3) , extract< 0>(a4)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2) , extract< 1>(a3) , extract< 1>(a4))); - } - }; - template - struct impl<4, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2) , extract< 0>(a3) , extract< 0>(a4)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2) , extract< 1>(a3) , extract< 1>(a4)) , f(extract< 2>(a0) , extract< 2>(a1) , extract< 2>(a2) , extract< 2>(a3) , extract< 2>(a4)) , f(extract< 3>(a0) , extract< 3>(a1) , extract< 3>(a2) , extract< 3>(a3) , extract< 3>(a4))); - } - }; - template - struct impl<8, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2) , extract< 0>(a3) , extract< 0>(a4)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2) , extract< 1>(a3) , extract< 1>(a4)) , f(extract< 2>(a0) , extract< 2>(a1) , extract< 2>(a2) , extract< 2>(a3) , extract< 2>(a4)) , f(extract< 3>(a0) , extract< 3>(a1) , extract< 3>(a2) , extract< 3>(a3) , extract< 3>(a4)) , f(extract< 4>(a0) , extract< 4>(a1) , extract< 4>(a2) , extract< 4>(a3) , extract< 4>(a4)) , f(extract< 5>(a0) , extract< 5>(a1) , extract< 5>(a2) , extract< 5>(a3) , extract< 5>(a4)) , f(extract< 6>(a0) , extract< 6>(a1) , extract< 6>(a2) , extract< 6>(a3) , extract< 6>(a4)) , f(extract< 7>(a0) , extract< 7>(a1) , extract< 7>(a2) , extract< 7>(a3) , extract< 7>(a4))); - } - }; - BOOST_FORCEINLINE result_type operator()(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4) const - { - return impl::call(f, a0 , a1 , a2 , a3 , a4); - } - }; - template< class Func , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > dispatching_map_( adl_helper , tag::cpu_ , unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) { return impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ >(); } template< class Func , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > struct impl_map_ < void ( unspecified_ , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > , generic_< unspecified_ > ) , tag::cpu_ > - { - typedef typename dispatch::meta:: - result_of< Func const( typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type ) - >::type - rtype; - static const std::size_t N = cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value >::value >::value >::value >::value; - typedef typename meta:: - vector_of< rtype - , N - >::type result_type; - template - struct impl - { - static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4 , A5 const & a5) - { - result_type that; - for(std::size_t i=0; i!=N; ++i) - insert(f(extract(a0, i) , extract(a1, i) , extract(a2, i) , extract(a3, i) , extract(a4, i) , extract(a5, i)), that, i); - return that; - } - }; - template - struct impl<2, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4 , A5 const & a5) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2) , extract< 0>(a3) , extract< 0>(a4) , extract< 0>(a5)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2) , extract< 1>(a3) , extract< 1>(a4) , extract< 1>(a5))); - } - }; - template - struct impl<4, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4 , A5 const & a5) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2) , extract< 0>(a3) , extract< 0>(a4) , extract< 0>(a5)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2) , extract< 1>(a3) , extract< 1>(a4) , extract< 1>(a5)) , f(extract< 2>(a0) , extract< 2>(a1) , extract< 2>(a2) , extract< 2>(a3) , extract< 2>(a4) , extract< 2>(a5)) , f(extract< 3>(a0) , extract< 3>(a1) , extract< 3>(a2) , extract< 3>(a3) , extract< 3>(a4) , extract< 3>(a5))); - } - }; - template - struct impl<8, Dummy> - { - BOOST_FORCEINLINE static result_type call(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4 , A5 const & a5) - { - return make(f(extract< 0>(a0) , extract< 0>(a1) , extract< 0>(a2) , extract< 0>(a3) , extract< 0>(a4) , extract< 0>(a5)) , f(extract< 1>(a0) , extract< 1>(a1) , extract< 1>(a2) , extract< 1>(a3) , extract< 1>(a4) , extract< 1>(a5)) , f(extract< 2>(a0) , extract< 2>(a1) , extract< 2>(a2) , extract< 2>(a3) , extract< 2>(a4) , extract< 2>(a5)) , f(extract< 3>(a0) , extract< 3>(a1) , extract< 3>(a2) , extract< 3>(a3) , extract< 3>(a4) , extract< 3>(a5)) , f(extract< 4>(a0) , extract< 4>(a1) , extract< 4>(a2) , extract< 4>(a3) , extract< 4>(a4) , extract< 4>(a5)) , f(extract< 5>(a0) , extract< 5>(a1) , extract< 5>(a2) , extract< 5>(a3) , extract< 5>(a4) , extract< 5>(a5)) , f(extract< 6>(a0) , extract< 6>(a1) , extract< 6>(a2) , extract< 6>(a3) , extract< 6>(a4) , extract< 6>(a5)) , f(extract< 7>(a0) , extract< 7>(a1) , extract< 7>(a2) , extract< 7>(a3) , extract< 7>(a4) , extract< 7>(a5))); - } - }; - BOOST_FORCEINLINE result_type operator()(Func const& f, A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4 , A5 const & a5) const - { - return impl::call(f, a0 , a1 , a2 , a3 , a4 , a5); - } - }; -} } } diff --git a/inst/include/boost/simd/operator/functions/simd/common/shift_left.hpp b/inst/include/boost/simd/operator/functions/simd/common/shift_left.hpp deleted file mode 100644 index d9c59ea..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/shift_left.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_SHIFT_LEFT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shift_left_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - ((generic_ >)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type int_type; - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_left: a shift is out of range"); - - return bitwise_cast( bitwise_cast(a0) << a1 ); - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/shift_right.hpp b/inst/include/boost/simd/operator/functions/simd/common/shift_right.hpp deleted file mode 100644 index 6026da8..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/shift_right.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_SHIFT_RIGHT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shift_right_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - ((generic_ >)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_integer::type int_type; - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_right: a shift is out of range"); - - return bitwise_cast( bitwise_cast(a0) >> a1 ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/unary_minus.hpp b/inst/include/boost/simd/operator/functions/simd/common/unary_minus.hpp deleted file mode 100644 index 67a8bbc..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/unary_minus.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_UNARY_MINUS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( unary_minus_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return Zero() - a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( unary_minus_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return b_xor(boost::simd::Mzero(),a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/common/unary_plus.hpp b/inst/include/boost/simd/operator/functions/simd/common/unary_plus.hpp deleted file mode 100644 index 006477b..0000000 --- a/inst/include/boost/simd/operator/functions/simd/common/unary_plus.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_UNARY_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_COMMON_UNARY_PLUS_HPP_INCLUDED - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( unary_plus_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/details/char_helper.hpp b/inst/include/boost/simd/operator/functions/simd/details/char_helper.hpp deleted file mode 100644 index c598a82..0000000 --- a/inst/include/boost/simd/operator/functions/simd/details/char_helper.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_DETAILS_CHAR_HELPER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_DETAILS_CHAR_HELPER_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - template - struct char_helper_impl - { - typedef T type; - }; - - template - struct char_helper_impl - { - typedef typename char_helper_impl::type const type; - }; - - template<> - struct char_helper_impl - { -#if defined(CHAR_MIN) && (CHAR_MIN != 0) - typedef signed char type; -#else - typedef unsigned char type; -#endif - }; - - template - BOOST_FORCEINLINE typename char_helper_impl::type* - char_helper(T* t) - { - return reinterpret_cast::type*>(t); - } -} } } - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/bitwise_and.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/bitwise_and.hpp deleted file mode 100644 index ad81a92..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/bitwise_and.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_BITWISE_AND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_and_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm256_and_ps(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_and_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm256_and_pd(a0, a1); - } - }; - - // just pretend to carry on bitwise operations of arbitrary size using f32 - BOOST_DISPATCH_IMPLEMENT ( bitwise_and_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return _mm256_castps_si256(_mm256_and_ps( _mm256_castsi256_ps(a0) - , _mm256_castsi256_ps(a1) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/bitwise_or.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/bitwise_or.hpp deleted file mode 100644 index 2ea870f..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/bitwise_or.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_BITWISE_OR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_or_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm256_or_pd(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_or_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm256_or_ps(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_or_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return _mm256_castps_si256(_mm256_or_ps( _mm256_castsi256_ps(a0) - , _mm256_castsi256_ps(a1) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/bitwise_xor.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/bitwise_xor.hpp deleted file mode 100644 index 4f16b97..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/bitwise_xor.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_BITWISE_XOR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_xor_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm256_xor_ps(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_xor_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm256_xor_pd(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_xor_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return _mm256_castps_si256(_mm256_xor_ps( _mm256_castsi256_ps(a0) - , _mm256_castsi256_ps(a1) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/divides.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/divides.hpp deleted file mode 100644 index 2e50ff5..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/divides.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_DIVIDES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -#if defined(BOOST_SIMD_COMPILER_GCC) && BOOST_SIMD_GCC_VERSION < 40603 -#include -#include -#include -#include -#endif - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divides_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if defined(BOOST_SIMD_COMPILER_GCC) && BOOST_SIMD_GCC_VERSION < 40603 - // workaround for GCC bug #50396 fixed in 4.6.3 - A0 const that = _mm256_div_pd(a0,a1); - return if_nan_else(logical_and(is_eqz(a0), is_eqz(a1)), that); -#else - return _mm256_div_pd(a0,a1); -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divides_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { -#if defined(BOOST_SIMD_COMPILER_GCC) && BOOST_SIMD_GCC_VERSION < 40603 - // workaround for GCC bug #50396 fixed in 4.6.3 - A0 const that = _mm256_div_ps(a0,a1); - return if_nan_else(logical_and(is_eqz(a0), is_eqz(a1)), that); -#else - return _mm256_div_ps(a0,a1); -#endif - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/if_else.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/if_else.hpp deleted file mode 100644 index 7413513..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/if_else.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IF_ELSE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_else_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_, boost::simd::tag::avx_>)) - ((simd_ , boost::simd::tag::avx_>)) - ((simd_ , boost::simd::tag::avx_>)) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A1 const& a1,A1 const& a2) const - { - return _mm256_blendv_ps(a2, a1, bitwise_cast(genmask(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_else_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_, boost::simd::tag::avx_>)) - ((simd_ , boost::simd::tag::avx_>)) - ((simd_ , boost::simd::tag::avx_>)) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A1 const& a1,A1 const& a2) const - { - return _mm256_blendv_pd(a2, a1, bitwise_cast(genmask(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_else_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_, boost::simd::tag::avx_>)) - ((simd_, boost::simd::tag::avx_>)) - ((simd_, boost::simd::tag::avx_>)) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A1 const& a1,A1 const& a2) const - { - typedef typename dispatch::meta::as_floating::type ctype; - - return bitwise_cast ( if_else ( a0 - , bitwise_cast(a1) - , bitwise_cast(a2) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/is_equal.hpp deleted file mode 100644 index 8e90094..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_equal.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_EQ_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_EQ_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_EQ_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_EQ_OQ); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_greater.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/is_greater.hpp deleted file mode 100644 index b168a68..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_greater.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_GREATER_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_GT_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_GT_OQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_greater_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/is_greater_equal.hpp deleted file mode 100644 index 7ec4f9f..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_greater_equal.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_GREATER_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_GE_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_GE_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_GE_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_GE_OQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_less.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/is_less.hpp deleted file mode 100644 index 50902ad..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_less.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_LESS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_LT_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_LT_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_LT_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_LT_OQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_less_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/is_less_equal.hpp deleted file mode 100644 index 16a154d..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_less_equal.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_LESS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_LE_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_LE_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_LE_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_LE_OQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_not_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/is_not_equal.hpp deleted file mode 100644 index 4543e06..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/is_not_equal.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_NEQ_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_NEQ_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_NEQ_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_NEQ_UQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/map.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/map.hpp deleted file mode 100644 index 88033c8..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/map.hpp +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2013 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_MAP_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_MAP_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// Implements a SIMD map that applies a given function to any AVX vector type. -// This is done by splitting it into 2 SSE vectors calling the functor on each -// and merging the two results. -//////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_SIMD_DONT_USE_PREPROCESSED_FILES) -#include -#else - -#include -#include -#include -#include -#include - -#if defined(__WAVE__) && defined(BOOST_SIMD_CREATE_PREPROCESSED_FILES) && __INCLUDE_LEVEL__ == 0 -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map.hpp") -#undef BOOST_FORCEINLINE -#endif - -namespace boost { namespace simd { namespace ext -{ - #define M0(z,n,h) ((simd_< unspecified_, boost::simd::tag::avx_ >)) - #define M1(z,n,t) simd::native::type, tag::sse_> const& - #define M2(z,n,t) (A##n) - - #define M3(z,n,t) \ - native::type,tag::sse_> a##0##n,a##1##n; \ - boost::simd::slice(a##n,a##0##n,a##1##n); \ - /**/ - - #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_DISPATCH_MAX_ARITY, "boost/simd/operator/functions/simd/sse/avx/map.hpp")) - #include BOOST_PP_ITERATE() - - #undef M3 - #undef M2 - #undef M1 - #undef M0 -} } } - -#if defined(__WAVE__) && defined(BOOST_SIMD_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif -#endif -#endif - -#else - #define n BOOST_PP_ITERATION() - - BOOST_DISPATCH_IMPLEMENT ( map_ - , boost::simd::tag::avx_ - , (Func)BOOST_PP_REPEAT(n, M2, ~) - , (unspecified_) - BOOST_PP_REPEAT(n,M0,~) - ) - { - typedef typename dispatch::meta:: - result_of< Func const( BOOST_PP_ENUM(n,M1,~) )>::type base; - - typedef simd::native< typename meta::scalar_of::type - , boost::simd::tag::avx_ - > result_type; - - BOOST_FORCEINLINE result_type - operator()( Func const& f - , BOOST_PP_ENUM_BINARY_PARAMS(n, A, const& a) - ) const - { - BOOST_PP_REPEAT(n, M3, ~) - return boost::simd::combine ( f(BOOST_PP_ENUM_PARAMS(n, a0) ) - , f(BOOST_PP_ENUM_PARAMS(n, a1) ) - ); - } - }; - - #undef n - -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/minus.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/minus.hpp deleted file mode 100644 index 9b1ac98..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/minus.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_MINUS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minus_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_sub_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minus_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_sub_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/multiplies.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/multiplies.hpp deleted file mode 100644 index 3ac2c8e..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/multiplies.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_MULTIPLIES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_mul_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_mul_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/plus.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/plus.hpp deleted file mode 100644 index 4b3792f..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/plus.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_PLUS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plus_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_add_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( plus_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_add_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/preprocessed/map.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/preprocessed/map.hpp deleted file mode 100644 index 7cab0d4..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/preprocessed/map.hpp +++ /dev/null @@ -1,111 +0,0 @@ -namespace boost { namespace simd { namespace ext -{ - template< class Func , class A0 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > dispatching_map_( adl_helper , boost::simd::tag::avx_ , unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > ) { return impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ >(); } template< class Func , class A0 > struct impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > - { - typedef typename dispatch::meta:: - result_of< Func const( simd::native::type, tag::sse_> const& )>::type base; - typedef simd::native< typename meta::scalar_of::type - , boost::simd::tag::avx_ - > result_type; - BOOST_FORCEINLINE result_type - operator()( Func const& f - , A0 const& a0 - ) const - { - native::type,tag::sse_> a00,a10; boost::simd::slice(a0,a00,a10); - return boost::simd::combine ( f(a00 ) - , f(a10 ) - ); - } - }; - template< class Func , class A0 , class A1 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > dispatching_map_( adl_helper , boost::simd::tag::avx_ , unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) { return impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ >(); } template< class Func , class A0 , class A1 > struct impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > - { - typedef typename dispatch::meta:: - result_of< Func const( simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& )>::type base; - typedef simd::native< typename meta::scalar_of::type - , boost::simd::tag::avx_ - > result_type; - BOOST_FORCEINLINE result_type - operator()( Func const& f - , A0 const& a0 , A1 const& a1 - ) const - { - native::type,tag::sse_> a00,a10; boost::simd::slice(a0,a00,a10); native::type,tag::sse_> a01,a11; boost::simd::slice(a1,a01,a11); - return boost::simd::combine ( f(a00 , a01 ) - , f(a10 , a11 ) - ); - } - }; - template< class Func , class A0 , class A1 , class A2 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > dispatching_map_( adl_helper , boost::simd::tag::avx_ , unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) { return impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ >(); } template< class Func , class A0 , class A1 , class A2 > struct impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > - { - typedef typename dispatch::meta:: - result_of< Func const( simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& )>::type base; - typedef simd::native< typename meta::scalar_of::type - , boost::simd::tag::avx_ - > result_type; - BOOST_FORCEINLINE result_type - operator()( Func const& f - , A0 const& a0 , A1 const& a1 , A2 const& a2 - ) const - { - native::type,tag::sse_> a00,a10; boost::simd::slice(a0,a00,a10); native::type,tag::sse_> a01,a11; boost::simd::slice(a1,a01,a11); native::type,tag::sse_> a02,a12; boost::simd::slice(a2,a02,a12); - return boost::simd::combine ( f(a00 , a01 , a02 ) - , f(a10 , a11 , a12 ) - ); - } - }; - template< class Func , class A0 , class A1 , class A2 , class A3 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > dispatching_map_( adl_helper , boost::simd::tag::avx_ , unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) { return impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ >(); } template< class Func , class A0 , class A1 , class A2 , class A3 > struct impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > - { - typedef typename dispatch::meta:: - result_of< Func const( simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& )>::type base; - typedef simd::native< typename meta::scalar_of::type - , boost::simd::tag::avx_ - > result_type; - BOOST_FORCEINLINE result_type - operator()( Func const& f - , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 - ) const - { - native::type,tag::sse_> a00,a10; boost::simd::slice(a0,a00,a10); native::type,tag::sse_> a01,a11; boost::simd::slice(a1,a01,a11); native::type,tag::sse_> a02,a12; boost::simd::slice(a2,a02,a12); native::type,tag::sse_> a03,a13; boost::simd::slice(a3,a03,a13); - return boost::simd::combine ( f(a00 , a01 , a02 , a03 ) - , f(a10 , a11 , a12 , a13 ) - ); - } - }; - template< class Func , class A0 , class A1 , class A2 , class A3 , class A4 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > dispatching_map_( adl_helper , boost::simd::tag::avx_ , unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) { return impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ >(); } template< class Func , class A0 , class A1 , class A2 , class A3 , class A4 > struct impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > - { - typedef typename dispatch::meta:: - result_of< Func const( simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& )>::type base; - typedef simd::native< typename meta::scalar_of::type - , boost::simd::tag::avx_ - > result_type; - BOOST_FORCEINLINE result_type - operator()( Func const& f - , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 - ) const - { - native::type,tag::sse_> a00,a10; boost::simd::slice(a0,a00,a10); native::type,tag::sse_> a01,a11; boost::simd::slice(a1,a01,a11); native::type,tag::sse_> a02,a12; boost::simd::slice(a2,a02,a12); native::type,tag::sse_> a03,a13; boost::simd::slice(a3,a03,a13); native::type,tag::sse_> a04,a14; boost::simd::slice(a4,a04,a14); - return boost::simd::combine ( f(a00 , a01 , a02 , a03 , a04 ) - , f(a10 , a11 , a12 , a13 , a14 ) - ); - } - }; - template< class Func , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > BOOST_FORCEINLINE impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > dispatching_map_( adl_helper , boost::simd::tag::avx_ , unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) { return impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ >(); } template< class Func , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > struct impl_map_ < void ( unspecified_ , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > , simd_< unspecified_, boost::simd::tag::avx_ > ) , boost::simd::tag::avx_ > - { - typedef typename dispatch::meta:: - result_of< Func const( simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& , simd::native::type, tag::sse_> const& )>::type base; - typedef simd::native< typename meta::scalar_of::type - , boost::simd::tag::avx_ - > result_type; - BOOST_FORCEINLINE result_type - operator()( Func const& f - , A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 - ) const - { - native::type,tag::sse_> a00,a10; boost::simd::slice(a0,a00,a10); native::type,tag::sse_> a01,a11; boost::simd::slice(a1,a01,a11); native::type,tag::sse_> a02,a12; boost::simd::slice(a2,a02,a12); native::type,tag::sse_> a03,a13; boost::simd::slice(a3,a03,a13); native::type,tag::sse_> a04,a14; boost::simd::slice(a4,a04,a14); native::type,tag::sse_> a05,a15; boost::simd::slice(a5,a05,a15); - return boost::simd::combine ( f(a00 , a01 , a02 , a03 , a04 , a05 ) - , f(a10 , a11 , a12 , a13 , a14 , a15 ) - ); - } - }; -} } } diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/shift_left.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/shift_left.hpp deleted file mode 100644 index 466d9c0..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/shift_left.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_SHIFT_LEFT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shift_left_, boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename meta::scalar_of::type stype; - typedef simd::native svtype; - - svtype a00 = _mm256_extractf128_si256(a0, 0); - svtype a01 = _mm256_extractf128_si256(a0, 1); - A0 that = _mm256_castsi128_si256(boost::simd::shift_left(a00, a1)); - return _mm256_insertf128_si256(that, boost::simd::shift_left(a01, a1), 1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/avx/shift_right.hpp b/inst/include/boost/simd/operator/functions/simd/sse/avx/shift_right.hpp deleted file mode 100644 index 0d554c9..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/avx/shift_right.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_AVX_SHIFT_RIGHT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shift_right_, boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename meta::scalar_of::type stype; - typedef simd::native svtype; - - svtype a00 = _mm256_extractf128_si256(a0, 0); - svtype a01 = _mm256_extractf128_si256(a0, 1); - A0 that = _mm256_castsi128_si256(boost::simd::shift_right(a00, a1)); - return _mm256_insertf128_si256(that, boost::simd::shift_right(a01, a1), 1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/bitwise_and.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/bitwise_and.hpp deleted file mode 100644 index e00f87d..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/bitwise_and.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_AND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_and_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return _mm_and_si128(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_and_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm_and_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_and_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm_and_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/bitwise_or.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/bitwise_or.hpp deleted file mode 100644 index 41660c9..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/bitwise_or.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_OR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_or_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return _mm_or_si128(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_or_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return _mm_or_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_or_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return _mm_or_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/bitwise_xor.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/bitwise_xor.hpp deleted file mode 100644 index df5abbe..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/bitwise_xor.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_BITWISE_XOR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_xor_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return _mm_xor_si128(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_xor_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return _mm_xor_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( bitwise_xor_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return _mm_xor_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/divides.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/divides.hpp deleted file mode 100644 index 3fe9329..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/divides.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_DIVIDES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divides_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 const that = _mm_div_pd(a0,a1); -#if defined(BOOST_SIMD_COMPILER_GCC) && BOOST_SIMD_GCC_VERSION < 40603 - // workaround for GCC bug #50396 fixed in 4.6.3 - return if_nan_else(logical_and(is_eqz(a0), is_eqz(a1)), that); -#else - return that; -#endif - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divides_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 const that = _mm_div_ps(a0,a1); -#if defined(BOOST_SIMD_COMPILER_GCC) && BOOST_SIMD_GCC_VERSION < 40603 - // workaround for GCC bug #50396 fixed in 4.6.3 But apparently not in 4.7.0 - return if_nan_else(logical_and(is_eqz(a0), is_eqz(a1)), that); -#else - return that; -#endif - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_equal.hpp deleted file mode 100644 index 6809f71..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_equal.hpp +++ /dev/null @@ -1,121 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpeq_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpeq_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpeq_epi8(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpeq_epi16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpeq_epi32(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::downgrade::type type; - type tmp = bitwise_cast(a0 - a1); - tmp = bitwise_cast(boost::simd::eq(tmp,Zero())); - type shuffled = details::shuffle<1,0,3,2>(tmp); - return bitwise_cast(tmp & shuffled); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_greater.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_greater.hpp deleted file mode 100644 index 727d5b6..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_greater.hpp +++ /dev/null @@ -1,152 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_GREATER_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpgt_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpgt_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_integer::type s_t; - s_t sm = Signmask(); - - return bitwise_cast ( (bitwise_cast(a0) - sm) - > (bitwise_cast(a1) - sm) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpgt_epi8(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpgt_epi16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpgt_epi32(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::downgrade::type type; - typedef typename dispatch::meta::downgrade::type utype; - utype al = details::shuffle<0,0,2,2>(a0); - utype bl = details::shuffle<0,0,2,2>(a1); - type ah = details::shuffle<1,1,3,3>(a0); - type bh = details::shuffle<1,1,3,3>(a1); - - return bitwise_cast( l_or(boost::simd::gt(ah,bh) - , l_and ( boost::simd::eq(ah,bh) - , boost::simd::gt(al,bl) - ) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_greater_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_greater_equal.hpp deleted file mode 100644 index d80ca2e..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_greater_equal.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_GREATER_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpge_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpge_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::logical_not(boost::simd::lt(a0,a1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_less.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_less.hpp deleted file mode 100644 index f157aae..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_less.hpp +++ /dev/null @@ -1,152 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_LESS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmplt_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmplt_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::as_integer::type s_t; - s_t sm = Signmask(); - - return bitwise_cast ( (bitwise_cast(a0) - sm) - < (bitwise_cast(a1) - sm) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmplt_epi8(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmplt_epi16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmplt_epi32(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_, boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::downgrade::type type; - typedef typename dispatch::meta::downgrade::type utype; - utype al = details::shuffle<0,0,2,2>(a0); - utype bl = details::shuffle<0,0,2,2>(a1); - type ah = details::shuffle<1,1,3,3>(a0); - type bh = details::shuffle<1,1,3,3>(a1); - - return bitwise_cast( l_or( boost::simd::lt(ah,bh) - , l_and( boost::simd::eq(ah,bh) - , boost::simd::lt(al,bl) - ) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_less_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_less_equal.hpp deleted file mode 100644 index adff319..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_less_equal.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_LESS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmple_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmple_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::logical_not(boost::simd::gt(a0,a1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_not_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_not_equal.hpp deleted file mode 100644 index 5cdf05f..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/is_not_equal.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpneq_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpneq_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/minus.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/minus.hpp deleted file mode 100644 index 0be6c07..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/minus.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_MINUS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_sub_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_sub_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_sub_epi8(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_sub_epi16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_sub_epi32(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_sub_epi64(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/multiplies.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/multiplies.hpp deleted file mode 100644 index c2f756b..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/multiplies.hpp +++ /dev/null @@ -1,134 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_MULTIPLIES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_mul_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_mul_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type type; - type mask = integral_constant(); - - return _mm_or_si128 ( _mm_and_si128(mask, _mm_mullo_epi16(a0,a1)) - , _mm_slli_epi16 - ( _mm_and_si128 ( mask - , _mm_mullo_epi16 - ( _mm_srli_epi16(a0(), 8) - , _mm_srli_epi16(a1(), 8) - ) - ) - , 8 - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_mullo_epi16(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wshadow" -#endif // __clang__ - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_or_si128( - _mm_and_si128( - _mm_mul_epu32(a0,a1), - _mm_setr_epi32(0xffffffff,0,0xffffffff,0) - ) - , _mm_slli_si128( - _mm_and_si128( - _mm_mul_epu32( _mm_srli_si128(a0,4) - , _mm_srli_si128(a1,4) - ) - , _mm_setr_epi32(0xffffffff,0,0xffffffff,0) - ) - , 4 - ) - ); - } - -#ifdef __clang__ -#pragma clang diagnostic pop -#endif // __clang__ - - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/plus.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/plus.hpp deleted file mode 100644 index 8064bff..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/plus.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_PLUS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_add_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( plus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_add_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( plus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_add_epi8(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( plus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_add_epi16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( plus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_add_epi32(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( plus_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_add_epi64(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/shift_left.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/shift_left.hpp deleted file mode 100644 index 75d6901..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/shift_left.hpp +++ /dev/null @@ -1,102 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_SHIFT_LEFT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shift_left_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - typedef typename meta::make_dependent::type int_t; - - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef simd::native gen_type; - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_left sse2: a shift is out of range"); - result_type const - Mask1 = bitwise_cast( boost::simd::integral_constant - < gen_type, int_t(0x00ff00ff00ff00ffll)>() - ); - result_type const - Mask2 = bitwise_cast( boost::simd::integral_constant - < gen_type, int_t(0xff00ff00ff00ff00ll)>() - ); - result_type tmp = b_and(a0, Mask1); - result_type tmp1 = _mm_slli_epi16(tmp, int(a1)); - tmp1 = b_and(tmp1, Mask1); - tmp = b_and(a0, Mask2); - result_type tmp3 = _mm_slli_epi16(tmp, int(a1)); - return tmp1 | b_and(tmp3, Mask2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_left_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_left sse2: a shift is out of range"); - return _mm_slli_epi16(a0, int(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_left_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "a shift is out of range"); - return _mm_slli_epi32(a0, int(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_left_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "a shift is out of range"); - return _mm_slli_epi64(a0, int(a1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse2/shift_right.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse2/shift_right.hpp deleted file mode 100644 index b2f0272..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse2/shift_right.hpp +++ /dev/null @@ -1,165 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE2_SHIFT_RIGHT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( shift_right_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - typedef typename meta::make_dependent::type sub_t; - typedef native gen_t; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_right sse2 int8: a shift is out of range"); - gen_t a0h, a0l; - split(a0, a0l, a0h); - return group(shift_right(a0l, a1), shift_right(a0h, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_right sse2 int16: a shift is out of range"); - return _mm_srai_epi16(a0, int(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_right sse2 int32: a shift is out of range"); - return _mm_srai_epi32(a0, int(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_right sse2 int64: a shift is out of range"); - A0 that = _mm_srli_epi64(a0, int(a1)); - A0 mask = _mm_srli_epi64(Allbits(), int(a1)); - return b_ornot(that, if_else_allbits(is_ltz(a0), mask)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - typedef typename meta::make_dependent::type int_t; - - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_right sse2 uint8: a shift is out of range"); - typedef native gen_type; - result_type const Mask1 = bitwise_cast(boost::simd::integral_constant()); - result_type const Mask2 = bitwise_cast(boost::simd::integral_constant()); - - result_type tmp = b_and(a0, Mask1); - result_type tmp1 = _mm_srli_epi16(tmp, int(a1)); - tmp1 = b_and(tmp1, Mask1); - tmp = b_and(a0, Mask2); - result_type tmp3 = _mm_srli_epi16(tmp, int(a1)); - return tmp1 | b_and(tmp3, Mask2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_right sse2 uint16: a shift is out of range"); - return _mm_srli_epi16(a0, int(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_right sse2 uint32: a shift is out of range"); - return _mm_srli_epi32(a0, int(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(assert_good_shift(a1), "shift_right sse2 uint64: a shift is out of range"); - return _mm_srli_epi64(a0, int(a1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse4_1/if_else.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse4_1/if_else.hpp deleted file mode 100644 index df56909..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse4_1/if_else.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_1_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_1_IF_ELSE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_else_ - , boost::simd::tag::sse4_1_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A1 const& a1,A1 const& a2) const - { - return _mm_blendv_ps(a2, a1, bitwise_cast(genmask(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_else_ - , boost::simd::tag::sse4_1_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A1 const& a1,A1 const& a2) const - { - return _mm_blendv_pd(a2, a1, bitwise_cast(genmask(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_else_ - , boost::simd::tag::sse4_1_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A1 const& a1,A1 const& a2) const - { - return _mm_blendv_epi8(a2, a1, bitwise_cast(genmask(a0))); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse4_1/is_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse4_1/is_equal.hpp deleted file mode 100644 index 5cf8b15..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse4_1/is_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_1_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_1_IS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpeq_epi64(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse4_1/multiplies.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse4_1/multiplies.hpp deleted file mode 100644 index 12e36fc..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse4_1/multiplies.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_1_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_1_MULTIPLIES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::sse4_1_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_mullo_epi32(a0, a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_greater.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_greater.hpp deleted file mode 100644 index 0198a16..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_greater.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_2_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_2_IS_GREATER_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::sse4_2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpgt_epi64(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_greater_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_greater_equal.hpp deleted file mode 100644 index 8aa5ee2..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_greater_equal.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_2_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_2_IS_GREATER_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_2_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::sse4_2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - result_type that = _mm_cmpgt_epi64(a1,a0); - return logical_not(that); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_less.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_less.hpp deleted file mode 100644 index a923936..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_less.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_2_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_2_IS_LESS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::sse4_2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpgt_epi64(a1,a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_less_equal.hpp b/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_less_equal.hpp deleted file mode 100644 index e3e0b07..0000000 --- a/inst/include/boost/simd/operator/functions/simd/sse/sse4_2/is_less_equal.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_2_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_SSE_SSE4_2_IS_LESS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_2_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::sse4_2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - result_type that = _mm_cmpgt_epi64(a0,a1); - return logical_not(that); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/bitwise_and.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/bitwise_and.hpp deleted file mode 100644 index 0b895b4..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/bitwise_and.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_AND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_and_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return vec_and(a0(), simd::bitwise_cast(a1)()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/bitwise_or.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/bitwise_or.hpp deleted file mode 100644 index f4dc29a..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/bitwise_or.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_OR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_or_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return vec_or(a0(),simd::bitwise_cast(a1)()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/bitwise_xor.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/bitwise_xor.hpp deleted file mode 100644 index c707046..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/bitwise_xor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_BITWISE_XOR_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( bitwise_xor_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return vec_xor(a0(),simd::bitwise_cast(a1)()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/complement.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/complement.hpp deleted file mode 100644 index 9860816..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/complement.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_COMPLEMENT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( complement_, boost::simd::tag::vmx_, (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return vec_nor(a0(), a0()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/divides.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/divides.hpp deleted file mode 100644 index 8982e29..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/divides.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_DIVIDES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -//////////////////////////////////////////////////////////////////////////////// -// Altivec division algorithm are long-ass. Let's hide them for clarity purpose -//////////////////////////////////////////////////////////////////////////////// -#include -#include -//#include -//#include -//#include - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/if_else.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/if_else.hpp deleted file mode 100644 index 266ebf9..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/if_else.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IF_ELSE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_else_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_< logical_, boost::simd::tag::vmx_ >)) - ((simd_< arithmetic_, boost::simd::tag::vmx_ >)) - ((simd_< arithmetic_, boost::simd::tag::vmx_ >)) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1, const A1&a2) const - { - return vec_sel(a2(), a1(), a0()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_float.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_float.hpp deleted file mode 100644 index 2c815ce..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_float.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IMPL_DIVIDES_FLOAT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IMPL_DIVIDES_FLOAT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( divides_, boost::simd::tag::vmx_, (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_madd(a0(),rec(a1)(),Zero()()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_int16.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_int16.hpp deleted file mode 100644 index 3e9e4c7..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_int16.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IMPL_DIVIDES_INT16_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IMPL_DIVIDES_INT16_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -//////////////////////////////////////////////////////////////////////////////// -// Overloads implementation -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - ////////////////////////////////////////////////////////////////////////////// - // a/b use a bit preserving algorithm from vecLib by Apple - ////////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT ( divides_, boost::simd::tag::vmx_, (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>))) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL(2) - { - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_int32.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_int32.hpp deleted file mode 100644 index f958506..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_int32.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IMPL_DIVIDES_INT32_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IMPL_DIVIDES_INT32_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -//////////////////////////////////////////////////////////////////////////////// -// Overloads implementation -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - ////////////////////////////////////////////////////////////////////////////// - // a/b use a bit preserving algorithm from vecLib by Apple - ////////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT ( divides_, boost::simd::tag::vmx_, (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL(2) - { - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_int8.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_int8.hpp deleted file mode 100644 index 23ad6d0..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/impl/divides_int8.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IMPL_DIVIDES_INT8_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IMPL_DIVIDES_INT8_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -//////////////////////////////////////////////////////////////////////////////// -// Overloads implementation -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - ////////////////////////////////////////////////////////////////////////////// - // a/b use a bit preserving algorithm from vecLib by Apple - ////////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT ( divides_, boost::simd::tag::vmx_, (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL(2) - { - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_equal.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_equal.hpp deleted file mode 100644 index 940b935..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_equal_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_, boost::simd::tag::vmx_>)) - ((simd_, boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_cmpeq(a0(),a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_greater.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_greater.hpp deleted file mode 100644 index d9d8170..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_greater.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_GREATER_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_greater_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_, boost::simd::tag::vmx_>)) - ((simd_, boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_cmpgt(a0(),a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_greater_equal.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_greater_equal.hpp deleted file mode 100644 index 81b16fb..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_greater_equal.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_GREATER_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_, boost::simd::tag::vmx_>)) - ((simd_, boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_cmpge(a0(),a1()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_, boost::simd::tag::vmx_>)) - ((simd_, boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - result_type lt = vec_cmplt(a0(),a1()); - return !lt; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_less.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_less.hpp deleted file mode 100644 index 6063df5..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_less.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_LESS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_, boost::simd::tag::vmx_>)) - ((simd_, boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_cmplt(a0(),a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_less_equal.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_less_equal.hpp deleted file mode 100644 index ccc8daf..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/is_less_equal.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_LESS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_, boost::simd::tag::vmx_>)) - ((simd_, boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_cmple(a0(),a1()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_, boost::simd::tag::vmx_>)) - ((simd_, boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - result_type lt = vec_cmpgt(a0(),a1()); - return !lt; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/minus.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/minus.hpp deleted file mode 100644 index dd0a738..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/minus.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_MINUS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minus_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_sub(a0(),a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/multiplies.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/multiplies.hpp deleted file mode 100644 index 73fe415..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/multiplies.hpp +++ /dev/null @@ -1,106 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_MULTIPLIES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_madd(a0(),a1(), boost::simd::Mzero()()); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::vmx_, (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_mladd(a0(),a1(),Zero()()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::vmx_, (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::upgrade::type::native_type uptype; - uptype l = vec_mule(a0(),a1()); - uptype r = vec_mulo(a0(),a1()); - return vec_mergel(vec_pack(l,l),vec_pack(r,r)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_ - , boost::simd::tag::vmx_, (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename dispatch::meta::downgrade::type s_t; - - // reinterpret as u16 - s_t short0 = bitwise_cast(a0); - s_t short1 = bitwise_cast(a1); - - // shifting constant - typename A0::native_type shift_ = vec_splat_u32(-16); - - A0 sf = vec_rl(a1(), shift_); - - // Compute high part of the product - A0 high = vec_msum ( short0() - , bitwise_cast(sf)() - , vec_splat_u32(0) - ); - - // Complete by adding low part of the 16 bits product - return vec_add( vec_sl(high(), shift_) - , vec_mulo(short0(), short1()) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/plus.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/plus.hpp deleted file mode 100644 index d7b7121..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/plus.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_PLUS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plus_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_add(a0(),a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/shift_left.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/shift_left.hpp deleted file mode 100644 index 1b79279..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/shift_left.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_SHIFT_LEFT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shift_left_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename dispatch::meta::as_unsigned::type type; - BOOST_ASSERT_MSG( assert_good_shift(a1) - , "shift_left: a shift is out of range" - ); - - return vec_sl(a0(), simd::bitwise_cast(a1)()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_left_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - (scalar_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG( assert_good_shift(a1) - , "shift_left: a shift is out of range" - ); - - return a0 << splat(a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/shift_right.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/altivec/shift_right.hpp deleted file mode 100644 index 6bd8a0e..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/altivec/shift_right.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_ALTIVEC_SHIFT_RIGHT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shift_right_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG( assert_good_shift(a1) - , "shift_right: a shift is out of range" - ); - - typedef typename dispatch::meta::as_unsigned::type type; - return vec_sra(a0(), bitwise_cast(a1)()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG( assert_good_shift(a1) - , "shift_right: a shift is out of range" - ); - - typedef typename dispatch::meta::as_unsigned::type type; - return vec_sr(a0(), bitwise_cast(a1)()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shift_right_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - (scalar_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a0 >> splat(a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/qpx/minus.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/qpx/minus.hpp deleted file mode 100644 index 6fe8cb0..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/qpx/minus.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_QPX_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_QPX_MINUS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_QPX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minus_, boost::simd::tag::qpx_ - , (A0) - , ((simd_, boost::simd::tag::qpx_>)) - ((simd_, boost::simd::tag::qpx_>)) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_sub(a0(), a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/qpx/multiplies.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/qpx/multiplies.hpp deleted file mode 100644 index fd5ca26..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/qpx/multiplies.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_QPX_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_QPX_MULTIPLIES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_QPX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( multiplies_, boost::simd::tag::qpx_ - , (A0) - , ((simd_, boost::simd::tag::qpx_>)) - ((simd_, boost::simd::tag::qpx_>)) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_mul(a0(), a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/simd/vmx/qpx/plus.hpp b/inst/include/boost/simd/operator/functions/simd/vmx/qpx/plus.hpp deleted file mode 100644 index f8490dc..0000000 --- a/inst/include/boost/simd/operator/functions/simd/vmx/qpx/plus.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_QPX_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_SIMD_VMX_QPX_PLUS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_QPX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plus_, boost::simd::tag::qpx_ - , (A0) - , ((simd_, boost::simd::tag::qpx_>)) - ((simd_, boost::simd::tag::qpx_>)) - ) - { - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_add(a0(), a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/operator/functions/unary_minus.hpp b/inst/include/boost/simd/operator/functions/unary_minus.hpp deleted file mode 100644 index 24e847c..0000000 --- a/inst/include/boost/simd/operator/functions/unary_minus.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief unary_minus generic tag - - Represents the unary_minus function in generic contexts. - - @par Models: - Hierarchy - **/ - struct unary_minus_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_unary_minus_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_unary_minus_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_unary_minus_; - } - /*! - return the elementwise unary minus of the parameter - Infix notation can be used with operator '-' - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = unary_minus(a0); - @endcode - - is similar to: - - @code - T0 r = -a0; - @endcode - - @par Alias: - @c neg - - @see @funcref{minus}, @funcref{unary_plus} - @param a0 - - @return a value of the same type as the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::unary_minus_, unary_minus , 1 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::unary_minus_, neg , 1 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/functions/unary_plus.hpp b/inst/include/boost/simd/operator/functions/unary_plus.hpp deleted file mode 100644 index ce992f4..0000000 --- a/inst/include/boost/simd/operator/functions/unary_plus.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief unary_plus generic tag - - Represents the unary_plus function in generic contexts. - - @par Models: - Hierarchy - **/ - struct unary_plus_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_unary_plus_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_unary_plus_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_unary_plus_; - } - /*! - return the elementwise unary plus of the parameter - Infix notation can be used with operator '+' - This is in fact identity. - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = unary_plus(a0); - @endcode - - is similar to: - - @code - T0 r = +a0; - @endcode - - @par Alias: - @c identity, @c id - - @see @funcref{plus}, @funcref{unary_minus} - @param a0 - - @return a value of the same type as the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::unary_plus_ , unary_plus , 1 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::unary_plus_ , identity , 1 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::unary_plus_ , id , 1 ) -} } - -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/bitwise_and.hpp b/inst/include/boost/simd/operator/include/functions/bitwise_and.hpp deleted file mode 100644 index 6c177ee..0000000 --- a/inst/include/boost/simd/operator/include/functions/bitwise_and.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_AND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/bitwise_or.hpp b/inst/include/boost/simd/operator/include/functions/bitwise_or.hpp deleted file mode 100644 index 1f39433..0000000 --- a/inst/include/boost/simd/operator/include/functions/bitwise_or.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_OR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/bitwise_xor.hpp b/inst/include/boost/simd/operator/include/functions/bitwise_xor.hpp deleted file mode 100644 index 92964f6..0000000 --- a/inst/include/boost/simd/operator/include/functions/bitwise_xor.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/comma.hpp b/inst/include/boost/simd/operator/include/functions/comma.hpp deleted file mode 100644 index 566f6c0..0000000 --- a/inst/include/boost/simd/operator/include/functions/comma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_COMMA_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_COMMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/complement.hpp b/inst/include/boost/simd/operator/include/functions/complement.hpp deleted file mode 100644 index 9538b3a..0000000 --- a/inst/include/boost/simd/operator/include/functions/complement.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_COMPLEMENT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/divides.hpp b/inst/include/boost/simd/operator/include/functions/divides.hpp deleted file mode 100644 index c688934..0000000 --- a/inst/include/boost/simd/operator/include/functions/divides.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_DIVIDES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/eq.hpp b/inst/include/boost/simd/operator/include/functions/eq.hpp deleted file mode 100644 index 7f2c310..0000000 --- a/inst/include/boost/simd/operator/include/functions/eq.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_EQ_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_EQ_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/operator/include/functions/fast_divides.hpp b/inst/include/boost/simd/operator/include/functions/fast_divides.hpp deleted file mode 100644 index 533412e..0000000 --- a/inst/include/boost/simd/operator/include/functions/fast_divides.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/ge.hpp b/inst/include/boost/simd/operator/include/functions/ge.hpp deleted file mode 100644 index b6f3b8a..0000000 --- a/inst/include/boost/simd/operator/include/functions/ge.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_GE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_GE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/operator/include/functions/gt.hpp b/inst/include/boost/simd/operator/include/functions/gt.hpp deleted file mode 100644 index c36be61..0000000 --- a/inst/include/boost/simd/operator/include/functions/gt.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_GT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_GT_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/operator/include/functions/if_else.hpp b/inst/include/boost/simd/operator/include/functions/if_else.hpp deleted file mode 100644 index e03aadd..0000000 --- a/inst/include/boost/simd/operator/include/functions/if_else.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IF_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/is_equal.hpp b/inst/include/boost/simd/operator/include/functions/is_equal.hpp deleted file mode 100644 index f55a24c..0000000 --- a/inst/include/boost/simd/operator/include/functions/is_equal.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/is_greater.hpp b/inst/include/boost/simd/operator/include/functions/is_greater.hpp deleted file mode 100644 index f61738e..0000000 --- a/inst/include/boost/simd/operator/include/functions/is_greater.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/is_greater_equal.hpp b/inst/include/boost/simd/operator/include/functions/is_greater_equal.hpp deleted file mode 100644 index 1d47338..0000000 --- a/inst/include/boost/simd/operator/include/functions/is_greater_equal.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/is_less.hpp b/inst/include/boost/simd/operator/include/functions/is_less.hpp deleted file mode 100644 index 091db7f..0000000 --- a/inst/include/boost/simd/operator/include/functions/is_less.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/is_less_equal.hpp b/inst/include/boost/simd/operator/include/functions/is_less_equal.hpp deleted file mode 100644 index d0da2bb..0000000 --- a/inst/include/boost/simd/operator/include/functions/is_less_equal.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/is_not_equal.hpp b/inst/include/boost/simd/operator/include/functions/is_not_equal.hpp deleted file mode 100644 index 3074263..0000000 --- a/inst/include/boost/simd/operator/include/functions/is_not_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/le.hpp b/inst/include/boost/simd/operator/include/functions/le.hpp deleted file mode 100644 index 5f875dc..0000000 --- a/inst/include/boost/simd/operator/include/functions/le.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/operator/include/functions/logical_and.hpp b/inst/include/boost/simd/operator/include/functions/logical_and.hpp deleted file mode 100644 index b3103fa..0000000 --- a/inst/include/boost/simd/operator/include/functions/logical_and.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/logical_not.hpp b/inst/include/boost/simd/operator/include/functions/logical_not.hpp deleted file mode 100644 index 0c209d8..0000000 --- a/inst/include/boost/simd/operator/include/functions/logical_not.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/logical_or.hpp b/inst/include/boost/simd/operator/include/functions/logical_or.hpp deleted file mode 100644 index f161b37..0000000 --- a/inst/include/boost/simd/operator/include/functions/logical_or.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/lt.hpp b/inst/include/boost/simd/operator/include/functions/lt.hpp deleted file mode 100644 index d9f832b..0000000 --- a/inst/include/boost/simd/operator/include/functions/lt.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_LT_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/operator/include/functions/map.hpp b/inst/include/boost/simd/operator/include/functions/map.hpp deleted file mode 100644 index 476c5b1..0000000 --- a/inst/include/boost/simd/operator/include/functions/map.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_MAP_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_MAP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/minus.hpp b/inst/include/boost/simd/operator/include/functions/minus.hpp deleted file mode 100644 index 999de30..0000000 --- a/inst/include/boost/simd/operator/include/functions/minus.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_MINUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/modulo.hpp b/inst/include/boost/simd/operator/include/functions/modulo.hpp deleted file mode 100644 index 8e3ff8f..0000000 --- a/inst/include/boost/simd/operator/include/functions/modulo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_MODULO_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_MODULO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/multiplies.hpp b/inst/include/boost/simd/operator/include/functions/multiplies.hpp deleted file mode 100644 index f15b429..0000000 --- a/inst/include/boost/simd/operator/include/functions/multiplies.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/ne.hpp b/inst/include/boost/simd/operator/include/functions/ne.hpp deleted file mode 100644 index be23454..0000000 --- a/inst/include/boost/simd/operator/include/functions/ne.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_NE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_NE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/operator/include/functions/plus.hpp b/inst/include/boost/simd/operator/include/functions/plus.hpp deleted file mode 100644 index 2549ba4..0000000 --- a/inst/include/boost/simd/operator/include/functions/plus.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_PLUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/bitwise_and.hpp b/inst/include/boost/simd/operator/include/functions/scalar/bitwise_and.hpp deleted file mode 100644 index 11cc370..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/bitwise_and.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_AND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/bitwise_or.hpp b/inst/include/boost/simd/operator/include/functions/scalar/bitwise_or.hpp deleted file mode 100644 index ff83988..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/bitwise_or.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_OR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/bitwise_xor.hpp b/inst/include/boost/simd/operator/include/functions/scalar/bitwise_xor.hpp deleted file mode 100644 index c487029..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/bitwise_xor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_XOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/comma.hpp b/inst/include/boost/simd/operator/include/functions/scalar/comma.hpp deleted file mode 100644 index c562ea1..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/comma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_COMMA_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_COMMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/complement.hpp b/inst/include/boost/simd/operator/include/functions/scalar/complement.hpp deleted file mode 100644 index ddc9c19..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/complement.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_COMPLEMENT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/divides.hpp b/inst/include/boost/simd/operator/include/functions/scalar/divides.hpp deleted file mode 100644 index bc885a6..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/divides.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_DIVIDES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/fast_divides.hpp b/inst/include/boost/simd/operator/include/functions/scalar/fast_divides.hpp deleted file mode 100644 index b9012f4..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/fast_divides.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_FAST_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_FAST_DIVIDES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/if_else.hpp b/inst/include/boost/simd/operator/include/functions/scalar/if_else.hpp deleted file mode 100644 index 3c7975d..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/if_else.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/is_equal.hpp b/inst/include/boost/simd/operator/include/functions/scalar/is_equal.hpp deleted file mode 100644 index 489709a..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/is_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/is_greater.hpp b/inst/include/boost/simd/operator/include/functions/scalar/is_greater.hpp deleted file mode 100644 index 09306d2..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/is_greater.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/is_greater_equal.hpp b/inst/include/boost/simd/operator/include/functions/scalar/is_greater_equal.hpp deleted file mode 100644 index e20ccc7..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/is_greater_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/is_less.hpp b/inst/include/boost/simd/operator/include/functions/scalar/is_less.hpp deleted file mode 100644 index 9821ee6..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/is_less.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/is_less_equal.hpp b/inst/include/boost/simd/operator/include/functions/scalar/is_less_equal.hpp deleted file mode 100644 index aae091c..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/is_less_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/is_not_equal.hpp b/inst/include/boost/simd/operator/include/functions/scalar/is_not_equal.hpp deleted file mode 100644 index f437254..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/is_not_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/logical_and.hpp b/inst/include/boost/simd/operator/include/functions/scalar/logical_and.hpp deleted file mode 100644 index 30567c5..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/logical_and.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_AND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/logical_not.hpp b/inst/include/boost/simd/operator/include/functions/scalar/logical_not.hpp deleted file mode 100644 index 966f8f0..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/logical_not.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/logical_or.hpp b/inst/include/boost/simd/operator/include/functions/scalar/logical_or.hpp deleted file mode 100644 index 8c33772..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/logical_or.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_OR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/map.hpp b/inst/include/boost/simd/operator/include/functions/scalar/map.hpp deleted file mode 100644 index d7b46fd..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/map.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MAP_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MAP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/minus.hpp b/inst/include/boost/simd/operator/include/functions/scalar/minus.hpp deleted file mode 100644 index 80d7763..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/minus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/modulo.hpp b/inst/include/boost/simd/operator/include/functions/scalar/modulo.hpp deleted file mode 100644 index abf1193..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/modulo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MODULO_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MODULO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/multiplies.hpp b/inst/include/boost/simd/operator/include/functions/scalar/multiplies.hpp deleted file mode 100644 index d4cfbc8..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/multiplies.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MULTIPLIES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/plus.hpp b/inst/include/boost/simd/operator/include/functions/scalar/plus.hpp deleted file mode 100644 index e73b27a..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/plus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_PLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/shift_left.hpp b/inst/include/boost/simd/operator/include/functions/scalar/shift_left.hpp deleted file mode 100644 index d8f3bc6..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/shift_left.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_SHIFT_LEFT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/shift_right.hpp b/inst/include/boost/simd/operator/include/functions/scalar/shift_right.hpp deleted file mode 100644 index 5d8bf0c..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/shift_right.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_SHIFT_RIGHT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/unary_minus.hpp b/inst/include/boost/simd/operator/include/functions/scalar/unary_minus.hpp deleted file mode 100644 index 8b77bc1..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/unary_minus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_UNARY_MINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/scalar/unary_plus.hpp b/inst/include/boost/simd/operator/include/functions/scalar/unary_plus.hpp deleted file mode 100644 index a105e30..0000000 --- a/inst/include/boost/simd/operator/include/functions/scalar/unary_plus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_UNARY_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_UNARY_PLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/shift_left.hpp b/inst/include/boost/simd/operator/include/functions/shift_left.hpp deleted file mode 100644 index 437f3f5..0000000 --- a/inst/include/boost/simd/operator/include/functions/shift_left.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/shift_right.hpp b/inst/include/boost/simd/operator/include/functions/shift_right.hpp deleted file mode 100644 index e411ec3..0000000 --- a/inst/include/boost/simd/operator/include/functions/shift_right.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/bitwise_and.hpp b/inst/include/boost/simd/operator/include/functions/simd/bitwise_and.hpp deleted file mode 100644 index d4d1715..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/bitwise_and.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_AND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/bitwise_or.hpp b/inst/include/boost/simd/operator/include/functions/simd/bitwise_or.hpp deleted file mode 100644 index aa11212..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/bitwise_or.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_OR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/bitwise_xor.hpp b/inst/include/boost/simd/operator/include/functions/simd/bitwise_xor.hpp deleted file mode 100644 index fbfa33d..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/bitwise_xor.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_XOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_XOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/comma.hpp b/inst/include/boost/simd/operator/include/functions/simd/comma.hpp deleted file mode 100644 index 6990ebc..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/comma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_COMMA_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_COMMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/complement.hpp b/inst/include/boost/simd/operator/include/functions/simd/complement.hpp deleted file mode 100644 index a4ba454..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/complement.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_COMPLEMENT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_COMPLEMENT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/divides.hpp b/inst/include/boost/simd/operator/include/functions/simd/divides.hpp deleted file mode 100644 index fba6f43..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/divides.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_DIVIDES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/fast_divides.hpp b/inst/include/boost/simd/operator/include/functions/simd/fast_divides.hpp deleted file mode 100644 index dc94c15..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/fast_divides.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_FAST_DIVIDES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_FAST_DIVIDES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/if_else.hpp b/inst/include/boost/simd/operator/include/functions/simd/if_else.hpp deleted file mode 100644 index 891a940..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/if_else.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/is_equal.hpp b/inst/include/boost/simd/operator/include/functions/simd/is_equal.hpp deleted file mode 100644 index 1a6f2e1..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/is_equal.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/is_greater.hpp b/inst/include/boost/simd/operator/include/functions/simd/is_greater.hpp deleted file mode 100644 index d9afe55..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/is_greater.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/is_greater_equal.hpp b/inst/include/boost/simd/operator/include/functions/simd/is_greater_equal.hpp deleted file mode 100644 index cd8fcb7..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/is_greater_equal.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/is_less.hpp b/inst/include/boost/simd/operator/include/functions/simd/is_less.hpp deleted file mode 100644 index 643caa9..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/is_less.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_LESS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/is_less_equal.hpp b/inst/include/boost/simd/operator/include/functions/simd/is_less_equal.hpp deleted file mode 100644 index 10f0cab..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/is_less_equal.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/is_not_equal.hpp b/inst/include/boost/simd/operator/include/functions/simd/is_not_equal.hpp deleted file mode 100644 index f0165e2..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/is_not_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/logical_and.hpp b/inst/include/boost/simd/operator/include/functions/simd/logical_and.hpp deleted file mode 100644 index a9edf20..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/logical_and.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_AND_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_AND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/logical_not.hpp b/inst/include/boost/simd/operator/include/functions/simd/logical_not.hpp deleted file mode 100644 index 0921935..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/logical_not.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/logical_or.hpp b/inst/include/boost/simd/operator/include/functions/simd/logical_or.hpp deleted file mode 100644 index 43bed54..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/logical_or.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_OR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_OR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/map.hpp b/inst/include/boost/simd/operator/include/functions/simd/map.hpp deleted file mode 100644 index 914609d..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/map.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MAP_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MAP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/minus.hpp b/inst/include/boost/simd/operator/include/functions/simd/minus.hpp deleted file mode 100644 index 9d011ce..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/minus.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MINUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/modulo.hpp b/inst/include/boost/simd/operator/include/functions/simd/modulo.hpp deleted file mode 100644 index ed19430..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/modulo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MODULO_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MODULO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/multiplies.hpp b/inst/include/boost/simd/operator/include/functions/simd/multiplies.hpp deleted file mode 100644 index b686331..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/multiplies.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/plus.hpp b/inst/include/boost/simd/operator/include/functions/simd/plus.hpp deleted file mode 100644 index d23c4a1..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/plus.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_PLUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/shift_left.hpp b/inst/include/boost/simd/operator/include/functions/simd/shift_left.hpp deleted file mode 100644 index 280647d..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/shift_left.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_SHIFT_LEFT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_SHIFT_LEFT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/shift_right.hpp b/inst/include/boost/simd/operator/include/functions/simd/shift_right.hpp deleted file mode 100644 index cef59fd..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/shift_right.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_SHIFT_RIGHT_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_SHIFT_RIGHT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/unary_minus.hpp b/inst/include/boost/simd/operator/include/functions/simd/unary_minus.hpp deleted file mode 100644 index 8c365f2..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/unary_minus.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_UNARY_MINUS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/simd/unary_plus.hpp b/inst/include/boost/simd/operator/include/functions/simd/unary_plus.hpp deleted file mode 100644 index f597047..0000000 --- a/inst/include/boost/simd/operator/include/functions/simd/unary_plus.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_UNARY_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_SIMD_UNARY_PLUS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/times.hpp b/inst/include/boost/simd/operator/include/functions/times.hpp deleted file mode 100644 index dcb7892..0000000 --- a/inst/include/boost/simd/operator/include/functions/times.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_TIMES_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_TIMES_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/operator/include/functions/uminus.hpp b/inst/include/boost/simd/operator/include/functions/uminus.hpp deleted file mode 100644 index a27ea01..0000000 --- a/inst/include/boost/simd/operator/include/functions/uminus.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_UMINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_UMINUS_HPP_INCLUDED -#include - -namespace boost { namespace simd { namespace tag -{ - typedef unary_minus_ uminus_; -} } } - -namespace boost { namespace simd -{ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::uminus_, uminus, 1) -} } -#endif diff --git a/inst/include/boost/simd/operator/include/functions/unary_minus.hpp b/inst/include/boost/simd/operator/include/functions/unary_minus.hpp deleted file mode 100644 index 3d2e2a5..0000000 --- a/inst/include/boost/simd/operator/include/functions/unary_minus.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/unary_plus.hpp b/inst/include/boost/simd/operator/include/functions/unary_plus.hpp deleted file mode 100644 index decbfaf..0000000 --- a/inst/include/boost/simd/operator/include/functions/unary_plus.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/include/functions/uplus.hpp b/inst/include/boost/simd/operator/include/functions/uplus.hpp deleted file mode 100644 index ef87e77..0000000 --- a/inst/include/boost/simd/operator/include/functions/uplus.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_UPLUS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_INCLUDE_FUNCTIONS_UPLUS_HPP_INCLUDED -#include - -namespace boost { namespace simd { namespace tag -{ - typedef unary_plus_ uplus_; -} } } - -namespace boost { namespace simd -{ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::uplus_, uplus, 1) -} } -#endif diff --git a/inst/include/boost/simd/operator/operator.hpp b/inst/include/boost/simd/operator/operator.hpp deleted file mode 100644 index a974ad2..0000000 --- a/inst/include/boost/simd/operator/operator.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_OPERATOR_OPERATOR_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_OPERATOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/operator/specific/common.hpp b/inst/include/boost/simd/operator/specific/common.hpp deleted file mode 100644 index ea4ca3e..0000000 --- a/inst/include/boost/simd/operator/specific/common.hpp +++ /dev/null @@ -1,193 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_SPECIFIC_COMMON_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_SPECIFIC_COMMON_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// By default, any SIMD implementation falls down to scalar map application if -// nothing is implemented for doing otherwise. -//////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#ifdef BOOST_SIMD_LOG_MAP -namespace boost { namespace simd { namespace details -{ - template - struct MAP_FALLBACK {}; -} } } -#define BOOST_SIMD_MAP_LOG(Sig) typedef typename boost::dispatch::meta::print< boost::simd::details::MAP_FALLBACK >::type _; -#else -#define BOOST_SIMD_MAP_LOG(Sig) -#endif - -#if !defined(BOOST_SIMD_DONT_USE_PREPROCESSED_FILES) -#include -#else -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if defined(__WAVE__) && defined(BOOST_SIMD_CREATE_PREPROCESSED_FILES) && __INCLUDE_LEVEL__ == 0 -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/common.hpp") -#undef BOOST_SIMD_MAP_LOG -#undef BOOST_FORCEINLINE -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Register all tag and extension agnostic call for common code sharing -//////////////////////////////////////////////////////////////////////////////// - -namespace boost { namespace simd { namespace ext -{ - #define M0(z,n,t) (A##n) - #define M1(z,n,t) (unspecified_) - #define M2(z,n,t) unspecified_ - #define M3(z,n,t) typename meta::extension_of::type - #define M4(z,n,t) meta::cardinal_of::value - #define M5(z,n,t) typename vector_on_ext< typename meta::scalar_of::type, N, X >::type - #define M5r(z,n,t) M5(z,n,t) const& - #define M6(z,n,t) splat(a##n) - #define M7(z,n,t) BOOST_PP_EXPR_IF(n, ||) (meta::cardinal_of::value == 1u) - #define M8(z,n,t) typename meta::scalar_of::type - - #define BOOST_PP_ITERATION_PARAMS_1 (3, ( 1, BOOST_DISPATCH_MAX_ARITY, "boost/simd/operator/specific/common.hpp")) - #include BOOST_PP_ITERATE() - - #undef M8 - #undef M7 - #undef M6 - #undef M5r - #undef M5 - #undef M4 - #undef M3 - #undef M2 - #undef M1 - #undef M0 -} } } - -#if defined(__WAVE__) && defined(BOOST_SIMD_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif -#endif -#endif - -#else -#define n BOOST_PP_ITERATION() - - template, class Enable = void> - struct BOOST_PP_CAT(splat_impl, n) - { - }; - - template - struct BOOST_PP_CAT(splat_impl, n)::type> - { - typedef typename Result::type result_type; - - BOOST_FORCEINLINE result_type - operator()(BOOST_PP_ENUM_BINARY_PARAMS(n, A, const & a)) const - { - return Callee()(BOOST_PP_ENUM(n, M6, ~)); - } - }; - - template::value - && (BOOST_PP_REPEAT(n, M7, ~))> - struct BOOST_PP_CAT(splat_or_map_choose, n); - - template - struct BOOST_PP_CAT(splat_or_map_choose, n) - : BOOST_PP_CAT(splat_impl, n)< BOOST_PP_ENUM_PARAMS(n, A) - , X, N - , typename boost::dispatch::meta:: - dispatch_call::type - > - { - }; - - template - struct BOOST_PP_CAT(map_impl, n) - { - }; - - template - struct BOOST_PP_CAT(map_impl, n)::type> - { - BOOST_SIMD_MAP_LOG(Tag(BOOST_PP_ENUM_PARAMS(n, A))) - - typedef typename boost::dispatch::meta:: - call - , BOOST_PP_ENUM_BINARY_PARAMS(n, A, const & BOOST_PP_INTERCEPT) - ) - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(BOOST_PP_ENUM_BINARY_PARAMS(n, A, const & a)) const - { - return map( dispatch::functor(), BOOST_PP_ENUM_PARAMS(n, a) ); - } - }; - - template - struct BOOST_PP_CAT(splat_or_map_choose, n) - : BOOST_PP_CAT(map_impl, n)< Tag, BOOST_PP_ENUM_PARAMS(n, A) - , boost::dispatch::meta:: - call - > - { - }; - - template - struct BOOST_PP_CAT(splat_or_map, n) - : BOOST_PP_CAT(splat_or_map_choose, n)< Tag, BOOST_PP_ENUM_PARAMS(n, A) - , BOOST_DISPATCH_FOLD(n, typename ext_common<, >::type, M3, ~) - , BOOST_DISPATCH_FOLD(n, cardinal_common<, >::value, M4, ~) - > - { - }; - - BOOST_DISPATCH_REGISTER_G_TO_IF ( elementwise_ , tag::formal_ - , (Tag)BOOST_PP_REPEAT(n,M0,~) - , (mpl::not_< boost::dispatch::meta:: - any < mpl::or_ - < boost::proto:: - is_expr - , boost::dispatch:: - meta::is_proxy - > - , BOOST_PP_ENUM_PARAMS(n,A) - > - > - ) - , BOOST_PP_REPEAT(n,M1,~) - , (boost::simd::ext::BOOST_PP_CAT(splat_or_map, n)< Tag, BOOST_PP_ENUM_PARAMS(n, A) >) - ) - -#undef n -#endif diff --git a/inst/include/boost/simd/operator/specific/preprocessed/common.hpp b/inst/include/boost/simd/operator/specific/preprocessed/common.hpp deleted file mode 100644 index e81e297..0000000 --- a/inst/include/boost/simd/operator/specific/preprocessed/common.hpp +++ /dev/null @@ -1,384 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Register all tag and extension agnostic call for common code sharing -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - template::type, N, X >::type const&)>, class Enable = void> - struct splat_impl1 - { - }; - template - struct splat_impl1::type> - { - typedef typename Result::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0) const - { - return Callee()(splat::type, N, X >::type>(a0)); - } - }; - template::value - && ((meta::cardinal_of::value == 1u))> - struct splat_or_map_choose1; - template - struct splat_or_map_choose1 - : splat_impl1< A0 - , X, N - , typename boost::dispatch::meta:: - dispatch_call::type, N, X >::type const&)>::type - > - { - }; - template - struct map_impl1 - { - }; - template - struct map_impl1::type> - { - BOOST_SIMD_MAP_LOG(Tag(A0)) - typedef typename boost::dispatch::meta:: - call - , A0 const & - ) - >::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0) const - { - return map( dispatch::functor(), a0 ); - } - }; - template - struct splat_or_map_choose1 - : map_impl1< Tag, A0 - , boost::dispatch::meta:: - call::type)> - > - { - }; - template - struct splat_or_map1 - : splat_or_map_choose1< Tag, A0 - , typename meta::extension_of::type - , meta::cardinal_of::value - > - { - }; - template< class Tag , class A0 > BOOST_FORCEINLINE typename boost::enable_if< mpl::not_< boost::dispatch::meta:: any < mpl::or_ < boost::proto:: is_expr , boost::dispatch:: meta::is_proxy > , A0 > > , boost::simd::ext::splat_or_map1< Tag, A0 > >::type dispatching( adl_helper , elementwise_, tag::formal_ , unspecified_ ) { return boost::simd::ext::splat_or_map1< Tag, A0 >(); } - template::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>, class Enable = void> - struct splat_impl2 - { - }; - template - struct splat_impl2::type> - { - typedef typename Result::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1) const - { - return Callee()(splat::type, N, X >::type>(a0) , splat::type, N, X >::type>(a1)); - } - }; - template::value - && ((meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u))> - struct splat_or_map_choose2; - template - struct splat_or_map_choose2 - : splat_impl2< A0 , A1 - , X, N - , typename boost::dispatch::meta:: - dispatch_call::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>::type - > - { - }; - template - struct map_impl2 - { - }; - template - struct map_impl2::type> - { - BOOST_SIMD_MAP_LOG(Tag(A0 , A1)) - typedef typename boost::dispatch::meta:: - call - , A0 const & , A1 const & - ) - >::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1) const - { - return map( dispatch::functor(), a0 , a1 ); - } - }; - template - struct splat_or_map_choose2 - : map_impl2< Tag, A0 , A1 - , boost::dispatch::meta:: - call::type , typename meta::scalar_of::type)> - > - { - }; - template - struct splat_or_map2 - : splat_or_map_choose2< Tag, A0 , A1 - , typename ext_common< typename meta::extension_of::type , typename meta::extension_of::type >::type - , cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value - > - { - }; - template< class Tag , class A0 , class A1 > BOOST_FORCEINLINE typename boost::enable_if< mpl::not_< boost::dispatch::meta:: any < mpl::or_ < boost::proto:: is_expr , boost::dispatch:: meta::is_proxy > , A0 , A1 > > , boost::simd::ext::splat_or_map2< Tag, A0 , A1 > >::type dispatching( adl_helper , elementwise_, tag::formal_ , unspecified_ , unspecified_ ) { return boost::simd::ext::splat_or_map2< Tag, A0 , A1 >(); } - template::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>, class Enable = void> - struct splat_impl3 - { - }; - template - struct splat_impl3::type> - { - typedef typename Result::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1 , A2 const & a2) const - { - return Callee()(splat::type, N, X >::type>(a0) , splat::type, N, X >::type>(a1) , splat::type, N, X >::type>(a2)); - } - }; - template::value - && ((meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u))> - struct splat_or_map_choose3; - template - struct splat_or_map_choose3 - : splat_impl3< A0 , A1 , A2 - , X, N - , typename boost::dispatch::meta:: - dispatch_call::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>::type - > - { - }; - template - struct map_impl3 - { - }; - template - struct map_impl3::type> - { - BOOST_SIMD_MAP_LOG(Tag(A0 , A1 , A2)) - typedef typename boost::dispatch::meta:: - call - , A0 const & , A1 const & , A2 const & - ) - >::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1 , A2 const & a2) const - { - return map( dispatch::functor(), a0 , a1 , a2 ); - } - }; - template - struct splat_or_map_choose3 - : map_impl3< Tag, A0 , A1 , A2 - , boost::dispatch::meta:: - call::type , typename meta::scalar_of::type , typename meta::scalar_of::type)> - > - { - }; - template - struct splat_or_map3 - : splat_or_map_choose3< Tag, A0 , A1 , A2 - , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename meta::extension_of::type >::type >::type - , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value >::value - > - { - }; - template< class Tag , class A0 , class A1 , class A2 > BOOST_FORCEINLINE typename boost::enable_if< mpl::not_< boost::dispatch::meta:: any < mpl::or_ < boost::proto:: is_expr , boost::dispatch:: meta::is_proxy > , A0 , A1 , A2 > > , boost::simd::ext::splat_or_map3< Tag, A0 , A1 , A2 > >::type dispatching( adl_helper , elementwise_, tag::formal_ , unspecified_ , unspecified_ , unspecified_ ) { return boost::simd::ext::splat_or_map3< Tag, A0 , A1 , A2 >(); } - template::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>, class Enable = void> - struct splat_impl4 - { - }; - template - struct splat_impl4::type> - { - typedef typename Result::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3) const - { - return Callee()(splat::type, N, X >::type>(a0) , splat::type, N, X >::type>(a1) , splat::type, N, X >::type>(a2) , splat::type, N, X >::type>(a3)); - } - }; - template::value - && ((meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u))> - struct splat_or_map_choose4; - template - struct splat_or_map_choose4 - : splat_impl4< A0 , A1 , A2 , A3 - , X, N - , typename boost::dispatch::meta:: - dispatch_call::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>::type - > - { - }; - template - struct map_impl4 - { - }; - template - struct map_impl4::type> - { - BOOST_SIMD_MAP_LOG(Tag(A0 , A1 , A2 , A3)) - typedef typename boost::dispatch::meta:: - call - , A0 const & , A1 const & , A2 const & , A3 const & - ) - >::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3) const - { - return map( dispatch::functor(), a0 , a1 , a2 , a3 ); - } - }; - template - struct splat_or_map_choose4 - : map_impl4< Tag, A0 , A1 , A2 , A3 - , boost::dispatch::meta:: - call::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type)> - > - { - }; - template - struct splat_or_map4 - : splat_or_map_choose4< Tag, A0 , A1 , A2 , A3 - , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename meta::extension_of::type >::type >::type >::type - , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value >::value >::value - > - { - }; - template< class Tag , class A0 , class A1 , class A2 , class A3 > BOOST_FORCEINLINE typename boost::enable_if< mpl::not_< boost::dispatch::meta:: any < mpl::or_ < boost::proto:: is_expr , boost::dispatch:: meta::is_proxy > , A0 , A1 , A2 , A3 > > , boost::simd::ext::splat_or_map4< Tag, A0 , A1 , A2 , A3 > >::type dispatching( adl_helper , elementwise_, tag::formal_ , unspecified_ , unspecified_ , unspecified_ , unspecified_ ) { return boost::simd::ext::splat_or_map4< Tag, A0 , A1 , A2 , A3 >(); } - template::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>, class Enable = void> - struct splat_impl5 - { - }; - template - struct splat_impl5::type> - { - typedef typename Result::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4) const - { - return Callee()(splat::type, N, X >::type>(a0) , splat::type, N, X >::type>(a1) , splat::type, N, X >::type>(a2) , splat::type, N, X >::type>(a3) , splat::type, N, X >::type>(a4)); - } - }; - template::value - && ((meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u))> - struct splat_or_map_choose5; - template - struct splat_or_map_choose5 - : splat_impl5< A0 , A1 , A2 , A3 , A4 - , X, N - , typename boost::dispatch::meta:: - dispatch_call::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>::type - > - { - }; - template - struct map_impl5 - { - }; - template - struct map_impl5::type> - { - BOOST_SIMD_MAP_LOG(Tag(A0 , A1 , A2 , A3 , A4)) - typedef typename boost::dispatch::meta:: - call - , A0 const & , A1 const & , A2 const & , A3 const & , A4 const & - ) - >::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4) const - { - return map( dispatch::functor(), a0 , a1 , a2 , a3 , a4 ); - } - }; - template - struct splat_or_map_choose5 - : map_impl5< Tag, A0 , A1 , A2 , A3 , A4 - , boost::dispatch::meta:: - call::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type)> - > - { - }; - template - struct splat_or_map5 - : splat_or_map_choose5< Tag, A0 , A1 , A2 , A3 , A4 - , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename meta::extension_of::type >::type >::type >::type >::type - , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value >::value >::value >::value - > - { - }; - template< class Tag , class A0 , class A1 , class A2 , class A3 , class A4 > BOOST_FORCEINLINE typename boost::enable_if< mpl::not_< boost::dispatch::meta:: any < mpl::or_ < boost::proto:: is_expr , boost::dispatch:: meta::is_proxy > , A0 , A1 , A2 , A3 , A4 > > , boost::simd::ext::splat_or_map5< Tag, A0 , A1 , A2 , A3 , A4 > >::type dispatching( adl_helper , elementwise_, tag::formal_ , unspecified_ , unspecified_ , unspecified_ , unspecified_ , unspecified_ ) { return boost::simd::ext::splat_or_map5< Tag, A0 , A1 , A2 , A3 , A4 >(); } - template::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>, class Enable = void> - struct splat_impl6 - { - }; - template - struct splat_impl6::type> - { - typedef typename Result::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4 , A5 const & a5) const - { - return Callee()(splat::type, N, X >::type>(a0) , splat::type, N, X >::type>(a1) , splat::type, N, X >::type>(a2) , splat::type, N, X >::type>(a3) , splat::type, N, X >::type>(a4) , splat::type, N, X >::type>(a5)); - } - }; - template::value - && ((meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u) || (meta::cardinal_of::value == 1u))> - struct splat_or_map_choose6; - template - struct splat_or_map_choose6 - : splat_impl6< A0 , A1 , A2 , A3 , A4 , A5 - , X, N - , typename boost::dispatch::meta:: - dispatch_call::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const& , typename vector_on_ext< typename meta::scalar_of::type, N, X >::type const&)>::type - > - { - }; - template - struct map_impl6 - { - }; - template - struct map_impl6::type> - { - BOOST_SIMD_MAP_LOG(Tag(A0 , A1 , A2 , A3 , A4 , A5)) - typedef typename boost::dispatch::meta:: - call - , A0 const & , A1 const & , A2 const & , A3 const & , A4 const & , A5 const & - ) - >::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const & a0 , A1 const & a1 , A2 const & a2 , A3 const & a3 , A4 const & a4 , A5 const & a5) const - { - return map( dispatch::functor(), a0 , a1 , a2 , a3 , a4 , a5 ); - } - }; - template - struct splat_or_map_choose6 - : map_impl6< Tag, A0 , A1 , A2 , A3 , A4 , A5 - , boost::dispatch::meta:: - call::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type , typename meta::scalar_of::type)> - > - { - }; - template - struct splat_or_map6 - : splat_or_map_choose6< Tag, A0 , A1 , A2 , A3 , A4 , A5 - , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename ext_common< typename meta::extension_of::type , typename meta::extension_of::type >::type >::type >::type >::type >::type - , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , cardinal_common< meta::cardinal_of::value , meta::cardinal_of::value >::value >::value >::value >::value >::value - > - { - }; - template< class Tag , class A0 , class A1 , class A2 , class A3 , class A4 , class A5 > BOOST_FORCEINLINE typename boost::enable_if< mpl::not_< boost::dispatch::meta:: any < mpl::or_ < boost::proto:: is_expr , boost::dispatch:: meta::is_proxy > , A0 , A1 , A2 , A3 , A4 , A5 > > , boost::simd::ext::splat_or_map6< Tag, A0 , A1 , A2 , A3 , A4 , A5 > >::type dispatching( adl_helper , elementwise_, tag::formal_ , unspecified_ , unspecified_ , unspecified_ , unspecified_ , unspecified_ , unspecified_ ) { return boost::simd::ext::splat_or_map6< Tag, A0 , A1 , A2 , A3 , A4 , A5 >(); } -} } } diff --git a/inst/include/boost/simd/operator/specific/utils.hpp b/inst/include/boost/simd/operator/specific/utils.hpp deleted file mode 100644 index 26b72c9..0000000 --- a/inst/include/boost/simd/operator/specific/utils.hpp +++ /dev/null @@ -1,126 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_OPERATOR_SPECIFIC_UTILS_HPP_INCLUDED -#define BOOST_SIMD_OPERATOR_SPECIFIC_UTILS_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - #define BOOST_DISPATCH_FOLD_0(z,n,t) BOOST_PP_COMMA_IF(n) BOOST_PP_TUPLE_ELEM(4, 0, t) BOOST_PP_TUPLE_ELEM(4, 2, t)(z,n,BOOST_PP_TUPLE_ELEM(4, 3, t)) - #define BOOST_DISPATCH_FOLD_1(z,n,t) t - #define BOOST_DISPATCH_FOLD(n, prefix, postfix, m, d) BOOST_PP_REPEAT(BOOST_PP_DEC(n), BOOST_DISPATCH_FOLD_0, (prefix, postfix, m, d)) BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) m(BOOST_PP_DEC(n),BOOST_PP_DEC(n),d) BOOST_PP_REPEAT(BOOST_PP_DEC(n), BOOST_DISPATCH_FOLD_1, postfix) - - template - struct cardinal_common; - - template - struct cardinal_common - : cardinal_common< cardinal_common::value,C...> - {}; - - template - struct cardinal_common - { - static const std::size_t value = N; - }; - - template<> - struct cardinal_common<1, 1> - { - static const std::size_t value = 1; - }; - - template - struct cardinal_common<1, N> - { - static const std::size_t value = N; - }; - - template - struct cardinal_common - { - static const std::size_t value = N; - }; - - template - struct cardinal_common - { - static const std::size_t value = N; - }; - - template - struct ext_common - { - typedef dispatch::meta::na_ type; - }; - - template - struct ext_common - { - typedef T type; - }; - - template - struct ext_common - { - typedef T type; - }; - - template<> - struct ext_common - { - typedef dispatch::meta::na_ type; - }; - - template - struct ext_common - { - typedef T type; - }; - - - template::value >= N) ? -1 : !(meta::cardinal_as::value <= N) ? 1 : 0) > - struct vector_on_ext; - - template - struct vector_on_ext - { - typedef native type; - }; - - template - struct vector_on_ext - : vector_on_ext::type, N, X> - { - }; - - template - struct vector_on_ext - { - typedef T type; - }; - - template - struct vector_on_ext - : vector_on_ext::type, N, X> - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/constants.hpp b/inst/include/boost/simd/predicates/constants.hpp deleted file mode 100644 index e12bf61..0000000 --- a/inst/include/boost/simd/predicates/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/predicates/functions.hpp b/inst/include/boost/simd/predicates/functions.hpp deleted file mode 100644 index 11bf3f3..0000000 --- a/inst/include/boost/simd/predicates/functions.hpp +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/functions/generic/is_denormal.hpp b/inst/include/boost/simd/predicates/functions/generic/is_denormal.hpp deleted file mode 100644 index 09d5313..0000000 --- a/inst/include/boost/simd/predicates/functions/generic/is_denormal.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_DENORMAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_denormal_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0& ) const - { - return False(); - } - }; - BOOST_DISPATCH_IMPLEMENT ( is_denormal_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return l_and(is_nez(a0), lt(simd::abs(a0), Smallestposval())); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/generic/is_imag.hpp b/inst/include/boost/simd/predicates/functions/generic/is_imag.hpp deleted file mode 100644 index a03f23d..0000000 --- a/inst/include/boost/simd/predicates/functions/generic/is_imag.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_IMAG_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_imag_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return is_eqz(a0); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/generic/is_not_denormal.hpp b/inst/include/boost/simd/predicates/functions/generic/is_not_denormal.hpp deleted file mode 100644 index 72b9fe3..0000000 --- a/inst/include/boost/simd/predicates/functions/generic/is_not_denormal.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_NOT_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_NOT_DENORMAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_denormal_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0& ) const - { - return True(); - } - }; - BOOST_DISPATCH_IMPLEMENT ( is_not_denormal_, tag::cpu_ - , (A0) - , (generic_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return l_or(is_eqz(a0), is_nlt(simd::abs(a0), Smallestposval())); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/generic/is_not_imag.hpp b/inst/include/boost/simd/predicates/functions/generic/is_not_imag.hpp deleted file mode 100644 index ce1b862..0000000 --- a/inst/include/boost/simd/predicates/functions/generic/is_not_imag.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_NOT_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_NOT_IMAG_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_imag_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return is_nez(a0); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/generic/is_not_real.hpp b/inst/include/boost/simd/predicates/functions/generic/is_not_real.hpp deleted file mode 100644 index 059dde2..0000000 --- a/inst/include/boost/simd/predicates/functions/generic/is_not_real.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_NOT_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_NOT_REAL_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_real_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return False(); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/generic/is_real.hpp b/inst/include/boost/simd/predicates/functions/generic/is_real.hpp deleted file mode 100644 index ad56706..0000000 --- a/inst/include/boost/simd/predicates/functions/generic/is_real.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_GENERIC_IS_REAL_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_real_, tag::cpu_ - , (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return True(); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/is_denormal.hpp b/inst/include/boost/simd/predicates/functions/is_denormal.hpp deleted file mode 100644 index 9498377..0000000 --- a/inst/include/boost/simd/predicates/functions/is_denormal.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_denormal generic tag - - Represents the is_denormal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_denormal_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_denormal_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_denormal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_denormal_; - } - /*! - Returns True or False according a0 is denormal or not. - - @par Semantic: - - @code - logical r = is_denormal(a0); - @endcode - - is similar to: - - @code - logical r = (a0 != 0) && (abs(a0) < Smallestposval()); - @endcode - - @see @funcref{Smallestposval} - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_denormal_, is_denormal, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/functions/is_equal_with_equal_nans.hpp deleted file mode 100644 index ef10154..0000000 --- a/inst/include/boost/simd/predicates/functions/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_equal_with_equal_nans generic tag - - Represents the is_equal_with_equal_nans function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_equal_with_equal_nans_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_equal_with_equal_nans_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_equal_with_equal_nans_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_equal_with_equal_nans_; - } - /*! - Returns True or False according a0 and a1 are equal or not. - nans are considered equal - - @par Semantic: - - @code - logical r = is_equal_with_equal_nans(a0,a1); - @endcode - - is similar to: - - @code - logical r = (a0 == a1) || ((a0!= a0) && (a1!= a1)); - @endcode - - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_equal_with_equal_nans_, is_equal_with_equal_nans, 2) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_eqz.hpp b/inst/include/boost/simd/predicates/functions/is_eqz.hpp deleted file mode 100644 index f92b65a..0000000 --- a/inst/include/boost/simd/predicates/functions/is_eqz.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_EQZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_eqz generic tag - - Represents the is_eqz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_eqz_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_eqz_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_eqz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_eqz_; - } - /*! - Returns True or False according a0 is zero or not. - - @par Semantic: - - @code - logical r = is_eqz(a0); - @endcode - - is similar to: - - @code - logical r = a0 == 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_eqz_, is_eqz, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_eqz_, is_false, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_even.hpp b/inst/include/boost/simd/predicates/functions/is_even.hpp deleted file mode 100644 index f295480..0000000 --- a/inst/include/boost/simd/predicates/functions/is_even.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_EVEN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_EVEN_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_even generic tag - - Represents the is_even function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_even_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_even_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_even_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_even_; - } - /*! - Returns True or False according a0 is even or not. - - @par Semantic: - - @code - logical r = is_even(a0); - @endcode - - is similar to: - - @code - logical r = int(a0/2)*2 == a0; - @endcode - - @par Note: - - A floating number is even if it is a flint - and divided by two it is still a flint. - - A flint is a 'floating integer' i.e. a floating number - representing an integer value - - Be conscious that all sufficiently great floating points values are even... - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_even_, is_even, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_finite.hpp b/inst/include/boost/simd/predicates/functions/is_finite.hpp deleted file mode 100644 index b6ad262..0000000 --- a/inst/include/boost/simd/predicates/functions/is_finite.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_FINITE_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_finite generic tag - - Represents the is_finite function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_finite_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_finite_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_finite_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_finite_; - } - /*! - Returns True if a0 is not inf, -inf or nan, else returns False. - - @par Semantic: - - @code - logical r = is_finite(a0); - @endcode - - is similar to: - - @code - logical r = a0-a0 == 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_finite_, is_finite, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_flint.hpp b/inst/include/boost/simd/predicates/functions/is_flint.hpp deleted file mode 100644 index 9b650a2..0000000 --- a/inst/include/boost/simd/predicates/functions/is_flint.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_FLINT_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_FLINT_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_flint generic tag - - Represents the is_flint function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_flint_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_flint_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_flint_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_flint_; - } - /*! - Returns True or False according a0 is a flint or not. - - @par Semantic: - - @code - logical r = is_flint(a0); - @endcode - - @par Note: - - A flint is a 'floating integer' i.e. a floating number - representing exactly an integer value. - - Be conscious that all sufficiently great floating points values - are flint and even are even... - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_flint_, is_flint, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_gez.hpp b/inst/include/boost/simd/predicates/functions/is_gez.hpp deleted file mode 100644 index 54b7221..0000000 --- a/inst/include/boost/simd/predicates/functions/is_gez.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_GEZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_gez generic tag - - Represents the is_gez function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_gez_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_gez_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_gez_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_gez_; - } - /*! - Returns True or False according a0 is greater or equal to zero or not. - - @par Semantic: - - @code - logical r = is_gez(a0); - @endcode - - is similar to: - - @code - logical r = a0 >= 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_gez_, is_gez, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_gtz.hpp b/inst/include/boost/simd/predicates/functions/is_gtz.hpp deleted file mode 100644 index 74e7236..0000000 --- a/inst/include/boost/simd/predicates/functions/is_gtz.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_GTZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_gtz generic tag - - Represents the is_gtz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_gtz_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_gtz_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_gtz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_gtz_; - } - /*! - Returns True or False according a0 is greater than zero or not. - - @par Semantic: - - @code - logical r = is_gtz(a0); - @endcode - - is similar to: - - @code - logical r = a0 > 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_gtz_, is_gtz, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_imag.hpp b/inst/include/boost/simd/predicates/functions/is_imag.hpp deleted file mode 100644 index 7025941..0000000 --- a/inst/include/boost/simd/predicates/functions/is_imag.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_IMAG_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_imag generic tag - - Represents the is_imag function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_imag_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_imag_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_imag_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_imag_; - } - /*! - Returns True or False according a0 is pure imaginary or not. - For non complex numbers it is same as to be zero - - @par Semantic: - - @code - logical r = is_imag(a0); - @endcode - - is similar to: - - @code - logical r = a0 == 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_imag_, is_imag, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_inf.hpp b/inst/include/boost/simd/predicates/functions/is_inf.hpp deleted file mode 100644 index 0264680..0000000 --- a/inst/include/boost/simd/predicates/functions/is_inf.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_INF_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_INF_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_inf generic tag - - Represents the is_inf function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_inf_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_inf_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_inf_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_inf_; - } - /*! - Returns True if a0 is inf or -inf else returns False. - - @par Semantic: - - @code - logical r = is_inf(a0); - @endcode - - is similar to: - - @code - logical r = (a0 == Inf) || (a0 == -Inf); - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_inf_, is_inf, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_invalid.hpp b/inst/include/boost/simd/predicates/functions/is_invalid.hpp deleted file mode 100644 index a9ea4a4..0000000 --- a/inst/include/boost/simd/predicates/functions/is_invalid.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_INVALID_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_INVALID_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_invalid generic tag - - Represents the is_invalid function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_invalid_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_invalid_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_invalid_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_invalid_; - } - /*! - Returns True if a0 is inf, -inf or nan else returns False - - @par Semantic: - - @code - logical r = is_invalid(a0); - @endcode - - is similar to: - - @code - logical r = a0-a0 != 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_invalid_, is_invalid, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_lez.hpp b/inst/include/boost/simd/predicates/functions/is_lez.hpp deleted file mode 100644 index e95d18c..0000000 --- a/inst/include/boost/simd/predicates/functions/is_lez.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_LEZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_lez generic tag - - Represents the is_lez function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_lez_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_lez_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_lez_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_lez_; - } - /*! - Returns True or False according a0 is less or equal to zero or not. - - @par Semantic: - - @code - logical r = is_lez(a0); - @endcode - - is similar to: - - @code - logical r = a0 <= 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_lez_, is_lez, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_ltz.hpp b/inst/include/boost/simd/predicates/functions/is_ltz.hpp deleted file mode 100644 index 0f0a3a2..0000000 --- a/inst/include/boost/simd/predicates/functions/is_ltz.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_LTZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_ltz generic tag - - Represents the is_ltz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_ltz_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_ltz_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_ltz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_ltz_; - } - /*! - Returns True or False according a0 is less than zero or not. - - @par Semantic: - - @code - logical r = is_ltz(a0); - @endcode - - is similar to: - - @code - logical r = a0 < 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_ltz_, is_ltz, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_nan.hpp b/inst/include/boost/simd/predicates/functions/is_nan.hpp deleted file mode 100644 index 8bcc6b8..0000000 --- a/inst/include/boost/simd/predicates/functions/is_nan.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NAN_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_nan generic tag - - Represents the is_nan function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_nan_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_nan_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_nan_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_nan_; - } - /*! - Returns True or False according a0 is nan or not. - - @par Semantic: - - @code - logical r = is_nan(a0); - @endcode - - is similar to: - - @code - logical r = a0 != a0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_nan_, is_nan, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_negative.hpp b/inst/include/boost/simd/predicates/functions/is_negative.hpp deleted file mode 100644 index dd55a07..0000000 --- a/inst/include/boost/simd/predicates/functions/is_negative.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_negative generic tag - - Represents the is_negative function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_negative_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_negative_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_negative_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_negative_; - } - /*! - Returns True if a0 is negative else False. - - This function differs from is_ltz from floating point argument, - because Mzero is negative but not less than zero. and Mzero is - not positive and not greater than zero, It's probably is_ltz that - you want. - - @par Semantic: - - @code - logical r = is_negative(a0); - @endcode - - is similar to: - - @code - if T is signed - logical r = bitofsign(a0) == 1; - else - logical r = False; - @endcode - - @par Note: - - Mzero is the floating point 'minus zero', - i.e. all bits are zero but the sign bit. - Such a value is treated as zero by ieee standards. - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_negative_, is_negative, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_nez.hpp b/inst/include/boost/simd/predicates/functions/is_nez.hpp deleted file mode 100644 index 0f2869a..0000000 --- a/inst/include/boost/simd/predicates/functions/is_nez.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NEZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_nez generic tag - - Represents the is_nez function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_nez_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_nez_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_nez_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_nez_; - } - - - /*! - Returns True if a0 is not equal to zero else returns False. - - @par Semantic: - - @code - logical r = is_nez(a0); - @endcode - - is similar to: - - @code - logical r = a0 != 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_nez_, is_nez, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_nez_, is_true, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_nez_, boolean, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_ngez.hpp b/inst/include/boost/simd/predicates/functions/is_ngez.hpp deleted file mode 100644 index 382657a..0000000 --- a/inst/include/boost/simd/predicates/functions/is_ngez.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NGEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NGEZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_ngez generic tag - - Represents the is_ngez function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_ngez_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_ngez_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_ngez_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_ngez_; - } - /*! - Returns True if a0 is not greater or equal to zero else returns False. - - @par Semantic: - - @code - logical r = is_ngez(a0); - @endcode - - is similar to: - - @code - logical r = !(a0 >= 0); - @endcode - - @par Note: - - Due to existence of nan, this is not equivalent to @c is_ltz(a0) - for floating types - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_ngez_, is_ngez, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_ngtz.hpp b/inst/include/boost/simd/predicates/functions/is_ngtz.hpp deleted file mode 100644 index c0e6963..0000000 --- a/inst/include/boost/simd/predicates/functions/is_ngtz.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NGTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NGTZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_ngtz generic tag - - Represents the is_ngtz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_ngtz_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_ngtz_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_ngtz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_ngtz_; - } - /*! - Returns True if a0 is not greater than zero else returns False. - - @par Semantic: - - @code - logical r = is_ngtz(a0); - @endcode - - is similar to: - - @code - logical r = !(a0 > 0); - @endcode - - @par Note: - - Due to existence of nan, this is not equivalent to @c is_lez(a0) - for floating types - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_ngtz_, is_ngtz, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_nlez.hpp b/inst/include/boost/simd/predicates/functions/is_nlez.hpp deleted file mode 100644 index cebae5e..0000000 --- a/inst/include/boost/simd/predicates/functions/is_nlez.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NLEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NLEZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_nlez generic tag - - Represents the is_nlez function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_nlez_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_nlez_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_nlez_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_nlez_; - } - /*! - Returns True if a0 is not less or equal to zero else returns False. - - @par Semantic: - - @code - logical r = is_nlez(a0); - @endcode - - is similar to: - - @code - logical r = !(a0 <= 0); - @endcode - - @par Note: - - Due to existence of nan, this is not equivalent to @c is_gtz(a0) - for floating types - - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_nlez_, is_nlez, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_nltz.hpp b/inst/include/boost/simd/predicates/functions/is_nltz.hpp deleted file mode 100644 index 7869bf5..0000000 --- a/inst/include/boost/simd/predicates/functions/is_nltz.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NLTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NLTZ_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_nltz generic tag - - Represents the is_nltz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_nltz_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_nltz_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_nltz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_nltz_; - } - /*! - Returns True if a0 is not less than zero else returns False. - - @par Semantic: - - @code - logical r = is_nltz(a0); - @endcode - - is similar to: - - @code - logical r = !(a0 < 0); - @endcode - - - @par Note: - - Due to existence of nan, this is not equivalent to @c is_gez(a0) - for floating types - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_nltz_, is_nltz, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_not_denormal.hpp b/inst/include/boost/simd/predicates/functions/is_not_denormal.hpp deleted file mode 100644 index eba649a..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_denormal.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_denormal generic tag - - Represents the is_not_denormal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_denormal_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_denormal_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_denormal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_denormal_; - } - /*! - Returns True or False according a0 is not_denormal or not. - - @par Semantic: - - @code - logical r = is_not_denormal(a0); - @endcode - - is similar to: - - @code - logical r = (abs(a0) >= Smallestposval()); - @endcode - - @see @funcref{Smallestposval} - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_denormal_, is_not_denormal, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/functions/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 5faf37f..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_equal_with_equal_nans generic tag - - Represents the is_not_equal_with_equal_nans function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_equal_with_equal_nans_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_equal_with_equal_nans_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_equal_with_equal_nans_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_equal_with_equal_nans_; - } - /*! - Returns True if a0 and a1 are not equal else False, - nans being considered equal - - @par Semantic: - - @code - logical r = is_not_equal_with_equal_nans(a0,a1); - @endcode - - is similar to: - - @code - logical r = (a0 != a1) || ((a0!= a0) && (a1!= a1)); - @endcode - - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_equal_with_equal_nans_, is_not_equal_with_equal_nans, 2) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_not_finite.hpp b/inst/include/boost/simd/predicates/functions/is_not_finite.hpp deleted file mode 100644 index 43e6102..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_finite.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_finite generic tag - - Represents the is_not_finite function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_finite_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_finite_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_finite_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_finite_; - } - /*! - Returns True if a0 is inf, -inf or nan, else returns False. - - @par Semantic: - - @code - logical r = is_not_finite(a0); - @endcode - - is similar to: - - @code - logical r = a0-a0 != 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_finite_, is_not_finite, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_not_greater.hpp b/inst/include/boost/simd/predicates/functions/is_not_greater.hpp deleted file mode 100644 index 2932ba2..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_greater.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_greater generic tag - - Represents the is_not_greater function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_greater_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_greater_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_greater_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_greater_; - } - /*! - Returns True if a0 is not greater than a1 else returns False. - - @par Semantic: - - @code - logical r = is_not_greater(a0,a1); - @endcode - - is similar to: - - @code - logical r = ; - @endcode - - @par Note: - - Due to existence of nan, this is not equivalent to @c is_less_equal(a0, a1) - for floating types - - @par Alias: - - @c is_ngt - - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_greater_, is_not_greater, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_greater_, is_ngt, 2) -} } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/is_not_greater_equal.hpp b/inst/include/boost/simd/predicates/functions/is_not_greater_equal.hpp deleted file mode 100644 index 3afba33..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_greater_equal.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief is_not_greater_equal generic tag - - Represents the is_not_greater_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_greater_equal_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_greater_equal_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_greater_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_greater_equal_; - } - /*! - Returns True if a0 is not greater or equal to a1 else returns False. - - @par Semantic: - - @code - logical r = is_not_greater_equal(a0,a1); - @endcode - - is similar to: - - @code - logical r = !(a0 >= a1); - @endcode - - - @par Note: - - Due to existence of nan, this is not equivalent to @c is_less(a0) - for floating types - - @par Alias: - - @c is_nge - - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_greater_equal_, is_not_greater_equal, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_greater_equal_, is_nge, 2) -} } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/is_not_imag.hpp b/inst/include/boost/simd/predicates/functions/is_not_imag.hpp deleted file mode 100644 index 4a4c0b7..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_imag.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_imag generic tag - - Represents the is_not_imag function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_imag_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_imag_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_imag_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_imag_; - } - /*! - Returns True or False according a0 is real or not. - For non complex numbers it is true except if a0 is zero - - @par Semantic: - - @code - logical r = is_not_imag(a0); - @endcode - - is similar to: - - @code - logical r = a0 != 0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_imag_, is_not_imag, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_not_infinite.hpp b/inst/include/boost/simd/predicates/functions/is_not_infinite.hpp deleted file mode 100644 index 9648a8b..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_infinite.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_infinite generic tag - - Represents the is_not_infinite function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_infinite_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_infinite_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_infinite_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_infinite_; - } - /*! - TODO Put description here - - @par Semantic: - - @code - logical r = is_not_infinite(a0); - @endcode - - is similar to: - - @code - if T is floating - logical r = (a0 != Inf) && (a0 != -Inf); - else - logical r = True; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_infinite_, is_not_infinite, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_not_less.hpp b/inst/include/boost/simd/predicates/functions/is_not_less.hpp deleted file mode 100644 index ec38c8a..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_less.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_less generic tag - - Represents the is_not_less function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_less_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_less_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_less_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_less_; - } - /*! - TODO Put description here - - @par Semantic: - - @code - logical r = is_not_less(a0,a1); - @endcode - - is similar to: - - @code - logical r = !(a0 < a1); - @endcode - - @par Note: - - Due to existence of nan, this is not equivalent to @c is_greater_equal(a0, a1) - for floating types - - @par Alias: - - @c is_nlt - - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_less_, is_not_less, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_less_, is_nlt, 2) -} } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/is_not_less_equal.hpp b/inst/include/boost/simd/predicates/functions/is_not_less_equal.hpp deleted file mode 100644 index deb3cf2..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_less_equal.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_less_equal generic tag - - Represents the is_not_less_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_less_equal_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_less_equal_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_less_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_less_equal_; - } - /*! - @par Semantic: - - @code - logical r = is_not_less_equal(a0,a1); - @endcode - - is similar to: - - @code - logical r = !(a0 <= a1); - @endcode - - @par Note: - - Due to existence of nan, this is not equivalent to @c is_greater(a0, a1) - for floating types - - @par Alias: - - @c is_nle - - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_less_equal_, is_not_less_equal, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_less_equal_, is_nle, 2) -} } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/is_not_nan.hpp b/inst/include/boost/simd/predicates/functions/is_not_nan.hpp deleted file mode 100644 index cc1094d..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_nan.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_nan generic tag - - Represents the is_not_nan function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_nan_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_nan_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_nan_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_nan_; - } - /*! - Returns True or False according a0 is nan or not. - - @par Semantic: - - @code - logical r = is_not_nan(a0); - @endcode - - is similar to: - - @code - logical r = a0 == a0; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_nan_, is_not_nan, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_not_real.hpp b/inst/include/boost/simd/predicates/functions/is_not_real.hpp deleted file mode 100644 index 0042fc2..0000000 --- a/inst/include/boost/simd/predicates/functions/is_not_real.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_not_real generic tag - - Represents the is_not_real function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_not_real_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_not_real_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_not_real_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_not_real_; - } - /*! - Returns True or False according a0 is real or not. - For non complex numbers it is always false - - @par Semantic: - - @code - logical r = is_not_real(a0); - @endcode - - is similar to: - - @code - logical r = False; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_not_real_, is_not_real, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_odd.hpp b/inst/include/boost/simd/predicates/functions/is_odd.hpp deleted file mode 100644 index 1b6e7e5..0000000 --- a/inst/include/boost/simd/predicates/functions/is_odd.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_ODD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_ODD_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_odd generic tag - - Represents the is_odd function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_odd_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_odd_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_odd_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_odd_; - } - /*! - Returns True or False according a0 is odd or not. - - @par Semantic: - - @code - logical r = is_odd(a0); - @endcode - - is similar to: - - @code - logical r = (abs(a0)/2)*2 == abs(a0)-1; - @endcode - - @par Note: - - A floating number a0 is odd if a0-1 is even - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_odd_, is_odd, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_ord.hpp b/inst/include/boost/simd/predicates/functions/is_ord.hpp deleted file mode 100644 index c69f7bd..0000000 --- a/inst/include/boost/simd/predicates/functions/is_ord.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_ORD_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_ord generic tag - - Represents the is_ord function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_ord_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_ord_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_ord_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_ord_; - } - /*! - Returns True if neither a0 nor a1 is nan. - - @par Semantic: - - @code - logical r = is_ord(a0,a1); - @endcode - - is similar to: - - @code - logical r = (a0 == a0) && (a1 == a1); - @endcode - - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_ord_, is_ord, 2) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_positive.hpp b/inst/include/boost/simd/predicates/functions/is_positive.hpp deleted file mode 100644 index fda215f..0000000 --- a/inst/include/boost/simd/predicates/functions/is_positive.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_positive generic tag - - Represents the is_positive function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_positive_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_positive_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_positive_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_positive_; - } - /*! - Returns True if a0 is positive else False. - - This function differs from is_gtz from floating point argument, - because Zero is positive but not greater than zero, and Mzero is - not positive and not greater than zero, It's probably is_gtz that - you want. - - - @par Semantic: - - @code - logical r = is_positive(a0); - @endcode - - is similar to: - - @code - if T is signed - logical r = bitofsign(a0) == 0; - else - logical r = True; - @endcode - - - @par Note: - - Mzero is the floating point 'minus zero', - i.e. all bits are zero but the sign bit. - Such a value is treated as zero by ieee standards. - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_positive_, is_positive, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_real.hpp b/inst/include/boost/simd/predicates/functions/is_real.hpp deleted file mode 100644 index c79c414..0000000 --- a/inst/include/boost/simd/predicates/functions/is_real.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_REAL_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_real generic tag - - Represents the is_real function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_real_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_real_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_real_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_real_; - } - /*! - Returns True or False according a0 is real or not. - For non complex numbers it is always true - - @par Semantic: - - @code - logical r = is_real(a0); - @endcode - - is similar to: - - @code - logical r = True; - @endcode - - @param a0 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_real_, is_real, 1) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/is_unord.hpp b/inst/include/boost/simd/predicates/functions/is_unord.hpp deleted file mode 100644 index d511cc5..0000000 --- a/inst/include/boost/simd/predicates/functions/is_unord.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_IS_UNORD_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_unord generic tag - - Represents the is_unord function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_unord_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_unord_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_unord_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_unord_; - } - /*! - Returns True if a0 or a1 is nan. - - @par Semantic: - - @code - logical r = is_unord(a0,a1); - @endcode - - is similar to: - - @code - logical r = (a0 != a0) || (a1 != a1); - @endcode - - @param a0 - - @param a1 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_unord_, is_unord, 2) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/majority.hpp b/inst/include/boost/simd/predicates/functions/majority.hpp deleted file mode 100644 index cdc3b47..0000000 --- a/inst/include/boost/simd/predicates/functions/majority.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_MAJORITY_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_MAJORITY_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief majority generic tag - - Represents the majority function in generic contexts. - - @par Models: - Hierarchy - **/ - struct majority_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_majority_( ext::adl_helper(), static_cast(args)... ) ) - };} - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_majority_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_majority_; - } - /*! - Returns True if at least two inputs are not zero else False. - - @par Semantic: - - @code - logical r = majority(a0,a1,a2); - @endcode - - is similar to: - - @code - logical r = (a0!= 0)+(a1!= 0)+(a2!= 0) >= 2; - @endcode - - @param a0 - - @param a1 - - @param a2 - - @return a logical value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::majority_, majority, 3) -} } - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_denormal.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_denormal.hpp deleted file mode 100644 index a85eeee..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_denormal.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_DENORMAL_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_denormal_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0& ) const - { - return false; - } - }; - -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_equal_with_equal_nans.hpp deleted file mode 100644 index 130dc4a..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_equal_with_equal_nans_, tag::cpu_ - , (A0) - , (scalar_< bool_ >)(scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 == a1); - } - }; - BOOST_DISPATCH_IMPLEMENT( is_equal_with_equal_nans_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >)(scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 == a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_equal_with_equal_nans_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return logical_or(result_type(a0 == a1), logical_and(boost::simd::is_nan(a0), boost::simd::is_nan(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_eqz.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_eqz.hpp deleted file mode 100644 index 516f59c..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_eqz.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_EQZ_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_eqz_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return (!a0); } - }; - BOOST_DISPATCH_IMPLEMENT( is_eqz_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return result_type(!a0); } - }; - BOOST_DISPATCH_IMPLEMENT( is_eqz_, tag::cpu_ - , (A0) - , (scalar_< logical_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return logical_not(a0); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_even.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_even.hpp deleted file mode 100644 index 1f1aef9..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_even.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_EVEN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_EVEN_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_even_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return !a0; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_even_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(!(a0 & One())); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_even_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_flint(a0*Half()); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_finite.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_finite.hpp deleted file mode 100644 index db24290..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_finite.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_FINITE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_finite_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - inline result_type operator()(A0 const&) const - { - return true; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_finite_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const&) const - { - return boost::simd::True(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_finite_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return boost::simd::is_eqz(a0-a0);} - }; -} } } - - -#endif - diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_flint.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_flint.hpp deleted file mode 100644 index 7ed1fa9..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_flint.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -/// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_FLINT_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_FLINT_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_flint_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - inline result_type operator()(A0 const&)const - { - return true; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_flint_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const&)const - { - return boost::simd::True(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_flint_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_eqz(frac(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_gez.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_gez.hpp deleted file mode 100644 index 743ee0d..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_gez.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_GEZ_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_gez_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&)const - { - return true; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_gez_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 >= Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_gez_, tag::cpu_ - , (A0) - , (scalar_< unsigned_ >) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const&)const - { - return boost::simd::True(); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_gtz.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_gtz.hpp deleted file mode 100644 index acea2d1..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_gtz.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_GTZ_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_gtz_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; BOOST_DISPATCH_IMPLEMENT( is_gtz_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 > Zero()); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_imag.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_imag.hpp deleted file mode 100644 index a1f2617..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_imag.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_IMAG_HPP_INCLUDED -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_imag_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return !a0; } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_inf.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_inf.hpp deleted file mode 100644 index b920566..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_inf.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_INF_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_INF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_inf_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - inline result_type operator()(A0 const&) const - { - return false; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_inf_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const&) const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_inf_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return result_type(boost::simd::abs(a0) == boost::simd::Inf());} - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_invalid.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_invalid.hpp deleted file mode 100644 index 63c2e40..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_invalid.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_INVALID_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_INVALID_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_invalid_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - inline result_type operator()(A0 const&) const - { - return false; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_invalid_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const&) const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_invalid_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return is_nan(a0-a0); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_lez.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_lez.hpp deleted file mode 100644 index 4046cdd..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_lez.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_LEZ_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_lez_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return !a0; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_lez_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 <= Zero()); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_ltz.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_ltz.hpp deleted file mode 100644 index dfbd545..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_ltz.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_LTZ_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_ltz_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return false; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_ltz_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 < Zero()); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_nan.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_nan.hpp deleted file mode 100644 index cee9fbc..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_nan.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NAN_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_nan_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return false; - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_nan_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_nan_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return result_type(a0 != a0);} - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_negative.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_negative.hpp deleted file mode 100644 index 4c7e167..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_negative.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NEGATIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NEGATIVE_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_negative_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - inline result_type operator()(A0 const&) const - { - return false; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_negative_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 < Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_negative_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(boost::simd::sbits(a0) < 0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_nez.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_nez.hpp deleted file mode 100644 index a2306b8..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_nez.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NEZ_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_nez_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 != Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_nez_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_nez_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_ngez.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_ngez.hpp deleted file mode 100644 index 68900a9..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_ngez.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NGEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NGEZ_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_ngez_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) - { - return false; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_ngez_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 < Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_ngez_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return logical_or(result_type(a0 < Zero()), boost::simd::is_nan(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_ngtz.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_ngtz.hpp deleted file mode 100644 index 2398816..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_ngtz.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NGTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NGTZ_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_ngtz_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return !a0; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_ngtz_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 <= Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_ngtz_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type((a0 <= Zero()) || boost::simd::is_nan(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_nlez.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_nlez.hpp deleted file mode 100644 index c135adb..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_nlez.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NLEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NLEZ_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_nlez_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_nlez_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 > Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_nlez_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return logical_or(result_type(a0 > Zero()), boost::simd::is_nan(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_nltz.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_nltz.hpp deleted file mode 100644 index 061db9d..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_nltz.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NLTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NLTZ_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_nltz_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return true; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_nltz_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 >= Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_nltz_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return logical_or(result_type(a0 >= Zero()), boost::simd::is_nan(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_denormal.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_denormal.hpp deleted file mode 100644 index 07c5cc0..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_denormal.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_DENORMAL_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_denormal_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0& ) const - { - return true; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index feb060e..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_equal_with_equal_nans_ - , tag::cpu_, (A0) - , (scalar_< bool_ >)(scalar_< bool_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return a0 != a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_not_equal_with_equal_nans_ - , tag::cpu_, (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 != a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_ - , tag::cpu_, (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - - typedef typename meta::as_logical::type result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 != a1 && !(boost::simd::is_nan(a0) && boost::simd::is_nan(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_finite.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_finite.hpp deleted file mode 100644 index c19e049..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_finite.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_finite_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - inline result_type operator()(A0 const&) const - { - return false; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_not_finite_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const&) const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_not_finite_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return boost::simd::is_nan(a0-a0); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_greater.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_greater.hpp deleted file mode 100644 index 1b2f32a..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_greater.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_GREATER_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_greater_, tag::cpu_ - , (A0) - , (scalar_< bool_ >)(scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 <= a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_not_greater_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 <= a1); - } - }; - BOOST_DISPATCH_IMPLEMENT( is_not_greater_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - using boost::simd::is_nan; - return logical_or(result_type(a0 <= a1), logical_or(is_nan(a0), is_nan(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_greater_equal.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_greater_equal.hpp deleted file mode 100644 index 238bbbe..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_greater_equal.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_greater_equal_, tag::cpu_ - , (A0) - , (scalar_< bool_ >)(scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 < a1); - } - }; - BOOST_DISPATCH_IMPLEMENT( is_not_greater_equal_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 < a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_not_greater_equal_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - using boost::simd::is_nan; - return logical_or(result_type(a0 < a1), logical_or(is_nan(a0), is_nan(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_imag.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_imag.hpp deleted file mode 100644 index a761bf3..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_imag.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_IMAG_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_imag_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return !a0; } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_infinite.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_infinite.hpp deleted file mode 100644 index fdbe0a4..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_infinite.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_INFINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_infinite_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - inline result_type operator()(A0 const&) const - { - return true; - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_not_infinite_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const&) const - { - return boost::simd::True(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_not_infinite_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return result_type(boost::simd::abs(a0) != boost::simd::Inf()); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_less.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_less.hpp deleted file mode 100644 index f25a988..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_less.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_LESS_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_less_, tag::cpu_ - , (A0) - , (scalar_< bool_ >)(scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 >= a1); - } - }; - BOOST_DISPATCH_IMPLEMENT( is_not_less_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 >= a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_not_less_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - - typedef typename meta::as_logical::type result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - using boost::simd::is_nan; - return logical_or(result_type(a0 >= a1), logical_or(is_nan(a0), is_nan(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_less_equal.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_less_equal.hpp deleted file mode 100644 index 9d896d9..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_less_equal.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_less_equal_, tag::cpu_ - , (A0) - , (scalar_< bool_ >)(scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return (a0 > a1); - } - }; - BOOST_DISPATCH_IMPLEMENT( is_not_less_equal_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 > a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_not_less_equal_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - - typedef typename meta::as_logical::type result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - using boost::simd::is_nan; - return logical_or(result_type(a0 > a1), logical_or(is_nan(a0), is_nan(a1))); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_nan.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_nan.hpp deleted file mode 100644 index fc0f539..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_nan.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_NAN_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_nan_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - inline result_type operator()(const A0&) const - { - return true; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_not_nan_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(const A0&) const - { - return boost::simd::True(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_not_nan_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return result_type(a0 == a0); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_not_real.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_not_real.hpp deleted file mode 100644 index a7d4411..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_not_real.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_NOT_REAL_HPP_INCLUDED -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_not_real_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return false; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_odd.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_odd.hpp deleted file mode 100644 index 4523125..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_odd.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_ODD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_ODD_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_odd_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_odd_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(b_and(a0,One()) != 0); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_odd_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_even(minusone(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_ord.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_ord.hpp deleted file mode 100644 index 1aab643..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_ord.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_ORD_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_ord_, tag::cpu_ - , (A0) - , (scalar_< bool_ >)(scalar_< bool_ >) - ) - { - typedef bool result_type; - inline result_type operator()(A0 const&, A0 const&)const - { - return true; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_ord_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const&, A0 const&)const - { - return boost::simd::True(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_ord_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return l_and(is_not_nan(a0), is_not_nan(a1)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_positive.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_positive.hpp deleted file mode 100644 index 1990e27..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_positive.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_POSITIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_POSITIVE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_positive_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_positive_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(a0 >= Zero()); - } - }; -} } } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_positive_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(boost::simd::sbits(a0) >= 0); - - // typedef typename boost::dispatch::meta::as_integer::type itype; - // return result_type(boost::simd::bitwise_cast(a0) >= Zero()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_real.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_real.hpp deleted file mode 100644 index 1098727..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_real.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_REAL_HPP_INCLUDED -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_real_, tag::cpu_ - , (A0) - , (scalar_< bool_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return true; - } - }; - -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/is_unord.hpp b/inst/include/boost/simd/predicates/functions/scalar/is_unord.hpp deleted file mode 100644 index a8bdfd0..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/is_unord.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_IS_UNORD_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( is_unord_, tag::cpu_ - , (A0) - , (scalar_< bool_ >)(scalar_< bool_ >) - ) - { - - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A0 const&)const - { - return false; - } - }; - BOOST_DISPATCH_IMPLEMENT( is_unord_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >)(scalar_< arithmetic_ >) - ) - { - - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A0 const&)const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT( is_unord_, tag::cpu_ - , (A0) - , (scalar_< floating_ >)(scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::l_or(boost::simd::is_nan(a0), boost::simd::is_nan(a1)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/scalar/majority.hpp b/inst/include/boost/simd/predicates/functions/scalar/majority.hpp deleted file mode 100644 index 364bc8d..0000000 --- a/inst/include/boost/simd/predicates/functions/scalar/majority.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_MAJORITY_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SCALAR_MAJORITY_HPP_INCLUDED -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type is fundamental_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( majority_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< bool_ >)(scalar_< bool_ >)(scalar_< bool_ >) - ) - { - - typedef bool result_type; - - BOOST_SIMD_FUNCTOR_CALL(3) - { - return ((a0&&a1)||(a1&&a2)||(a2&&a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT( majority_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< fundamental_ >)(scalar_< fundamental_ >)(scalar_< fundamental_ >) - ) - { - - typedef typename meta::as_logical::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(3) - { - return result_type((a0&&a1)||(a1&&a2)||(a2&&a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_equal_with_equal_nans.hpp deleted file mode 100644 index 85de8f4..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, tag::cpu_ - , (A0)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return logical_or(eq(a0,a1), logical_and(boost::simd::is_nan(a0), boost::simd::is_nan(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_equal_with_equal_nans_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return eq(a0,a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_eqz.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_eqz.hpp deleted file mode 100644 index ac51c12..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_eqz.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_EQZ_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_eqz_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return eq(a0,Zero()); - } - - }; - BOOST_DISPATCH_IMPLEMENT (is_eqz_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return logical_not(a0); - } - - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_even.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_even.hpp deleted file mode 100644 index a93470d..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_even.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_EVEN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_EVEN_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_even_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_eqz(a0 & One()); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_even_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_flint(a0*Half()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_finite.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_finite.hpp deleted file mode 100644 index c520ca6..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_finite.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_FINITE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_finite_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(const A0&) const - { - return boost::simd::True(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_finite_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return is_eqz(a0-a0); } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_flint.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_flint.hpp deleted file mode 100644 index 050b280..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_flint.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_FLINT_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_FLINT_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_flint_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_eqz(frac(a0)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_gez.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_gez.hpp deleted file mode 100644 index 6ef7bcc..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_gez.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_GEZ_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_gez_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename meta::as_logical::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - return ge(a0, Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_gez_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(const A0&)const - { - return boost::simd::True(); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_gtz.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_gtz.hpp deleted file mode 100644 index 0d4beec..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_gtz.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_GTZ_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_gtz_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return gt(a0, Zero()); } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_gtz_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return is_nez(a0); } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_inf.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_inf.hpp deleted file mode 100644 index 2670ae2..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_inf.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_INF_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_INF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_inf_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(const A0&) const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_inf_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return boost::simd::is_equal(abs(a0),boost::simd::Inf()); } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_invalid.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_invalid.hpp deleted file mode 100644 index 5e27f3f..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_invalid.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_INVALID_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_INVALID_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_invalid_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_invalid_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return is_nan(a0-a0); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_lez.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_lez.hpp deleted file mode 100644 index aea9d01..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_lez.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_LEZ_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_lez_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return le(a0, Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_lez_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_eqz(a0); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_ltz.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_ltz.hpp deleted file mode 100644 index 11ee309..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_ltz.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_LTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_ltz_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return lt(a0, Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_ltz_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0&)const - { - return boost::simd::False(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_nan.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_nan.hpp deleted file mode 100644 index 6a831aa..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_nan.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NAN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_nan_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_nan_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) { return (a0!=a0); } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_negative.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_negative.hpp deleted file mode 100644 index 6f6dbb9..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_negative.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NEGATIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NEGATIVE_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_negative_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_ltz(a0); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is unsigned_ -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (is_negative_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0&)const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_negative_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_equal(b_or(bitofsign(a0), One()), Mone()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_nez.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_nez.hpp deleted file mode 100644 index c5511ce..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_nez.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NEZ_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_nez_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_not_equal(a0,Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_nez_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_ngez.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_ngez.hpp deleted file mode 100644 index e3e966d..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_ngez.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NGEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NGEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_ngez_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_nge(a0, Zero()); - } - }; - BOOST_DISPATCH_IMPLEMENT (is_ngez_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_ltz(a0); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_ngtz.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_ngtz.hpp deleted file mode 100644 index 6f20be0..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_ngtz.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NGTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NGTZ_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_ngtz_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_ngt(a0, Zero()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_nlez.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_nlez.hpp deleted file mode 100644 index 75088c3..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_nlez.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NLEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NLEZ_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_nlez_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_nle(a0, Zero()); - } - }; - BOOST_DISPATCH_IMPLEMENT (is_nlez_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_gtz(a0); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_nltz.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_nltz.hpp deleted file mode 100644 index be24238..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_nltz.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NLTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NLTZ_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_nltz_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_nlt(a0, Zero()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 2dd2656..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return logical_xor(is_greater_equal(a0, a1), is_greater_equal(a1, a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return neq(a0,a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_not_finite.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_not_finite.hpp deleted file mode 100644 index ef137b5..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_not_finite.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_not_finite_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(const A0&) const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_finite_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return boost::simd::is_nan(a0-a0); } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_not_greater.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_not_greater.hpp deleted file mode 100644 index 1567944..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_not_greater.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, tag::cpu_ - , (A0)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return logical_not(gt(a0,a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_greater_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return le(a0,a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_not_greater_equal.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_not_greater_equal.hpp deleted file mode 100644 index a07b42e..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_not_greater_equal.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, tag::cpu_ - , (A0)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return logical_not(ge(a0,a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_greater_equal_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return lt(a0,a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_not_infinite.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_not_infinite.hpp deleted file mode 100644 index 22e16a0..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_not_infinite.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_INFINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_not_infinite_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(const A0&) const - { - return boost::simd::True(); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_infinite_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) { return is_not_equal(abs(a0),boost::simd::Inf()); } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_not_less.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_not_less.hpp deleted file mode 100644 index 9af6e2b..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_not_less.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_LESS_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, tag::cpu_ - , (A0)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return logical_not(lt(a0,a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_less_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return ge(a0,a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_not_less_equal.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_not_less_equal.hpp deleted file mode 100644 index 483253f..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_not_less_equal.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return logical_not(le(a0,a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_less_equal_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return gt(a0,a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_not_nan.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_not_nan.hpp deleted file mode 100644 index fb962b6..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_not_nan.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_NOT_NAN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_nan_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(const A0&) const - { - return boost::simd::True(); - } - }; - BOOST_DISPATCH_IMPLEMENT ( is_not_nan_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) { return is_ord(a0, a0); } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_odd.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_odd.hpp deleted file mode 100644 index 2eea531..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_odd.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_ODD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_ODD_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_odd_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return is_nez(b_and(a0, One())); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (is_odd_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return boost::simd::is_even(minusone(a0)); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_positive.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_positive.hpp deleted file mode 100644 index b893062..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_positive.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_POSITIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_POSITIVE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_positive_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_gez(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_positive_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_equal(b_or(bitofsign(a0), One()), One()); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/is_unord.hpp b/inst/include/boost/simd/predicates/functions/simd/common/is_unord.hpp deleted file mode 100644 index 53fc22c..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/is_unord.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_IS_UNORD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_unord_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0&, const A0&) const - { - return boost::simd::False(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_unord_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return l_or(is_nan(a0), is_nan(a1)); } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/common/majority.hpp b/inst/include/boost/simd/predicates/functions/simd/common/majority.hpp deleted file mode 100644 index d0c7ad8..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/common/majority.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_MAJORITY_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_COMMON_MAJORITY_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (majority_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(3) - { - result_type aa0 = is_nez(a0); - result_type aa1 = is_nez(a1); - result_type aa2 = is_nez(a2); - result_type r = logical_or( - logical_or( - logical_and(aa0, aa1), - logical_and(aa1, aa2) - ), - logical_and(aa2, aa0) - ); - return r; - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_equal_with_equal_nans.hpp deleted file mode 100644 index 5c54b03..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_EQ_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_EQ_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_EQ_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_EQ_UQ); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 0576fe9..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_NEQ_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_NEQ_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_NEQ_OQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_NEQ_OQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_greater.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_greater.hpp deleted file mode 100644 index 3eeb2b9..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_greater.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_GREATER_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_NGT_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_NGT_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_NGT_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_NGT_UQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_greater_equal.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_greater_equal.hpp deleted file mode 100644 index 966f281..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_greater_equal.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_NGE_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_NGE_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_NGE_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_NGE_UQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_less.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_less.hpp deleted file mode 100644 index c96c24d..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_less.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_LESS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_NLT_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_NLT_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_NLT_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_NLT_UQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_less_equal.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_less_equal.hpp deleted file mode 100644 index a59604a..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_not_less_equal.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_NLE_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_NLE_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_NLE_UQ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_NLE_UQ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_ord.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_ord.hpp deleted file mode 100644 index 8f0b8d7..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_ord.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_ORD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_ord_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_ORD_Q); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_ord_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_ORD_Q); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_ord_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_ORD_Q); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_ord_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_ORD_Q); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_unord.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_unord.hpp deleted file mode 100644 index eda2a85..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/avx/is_unord.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_AVX_IS_UNORD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_unord_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_pd(a0,a1, _CMP_UNORD_Q); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_unord_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm256_cmp_ps(a0,a1, _CMP_UNORD_Q); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_unord_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_pd(a0,a1, _CMP_UNORD_Q); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_unord_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmp_ps(a0,a1, _CMP_UNORD_Q); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_eqz.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_eqz.hpp deleted file mode 100644 index c810834..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_eqz.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_EQZ_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_eqz_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < int64_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::downgrade::type base; - - const base tmp1 = boost::simd::bitwise_cast(is_eqz(boost::simd::bitwise_cast(a0))); - const base tmp2 = details::shuffle<1,0,3,2>(tmp1); - return boost::simd::bitwise_cast(b_and(tmp1, tmp2)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_gez.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_gez.hpp deleted file mode 100644 index 935745d..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_gez.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_GEZ_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_gez_, boost::simd::tag::sse2_,(A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type itype; - typedef typename dispatch::meta::downgrade::type type; - const type tmp1 = bitwise_cast(is_gez(bitwise_cast(a0))); - const type tmp = details::shuffle<1,1,3,3>(tmp1); - return bitwise_cast(tmp); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_gtz.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_gtz.hpp deleted file mode 100644 index 8601b08..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_gtz.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_GTZ_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_gtz_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return logical_and(is_gez(a0), is_nez(a0)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_lez.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_lez.hpp deleted file mode 100644 index 725dd72..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_lez.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_LEZ_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_lez_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_eqz(a0) || is_ltz(a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_ltz.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_ltz.hpp deleted file mode 100644 index 3a1040e..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_ltz.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_LTZ_HPP_INCLUDED - -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_ltz_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename boost::dispatch::meta::downgrade::type i32type; - - i32type that = _mm_shuffle_epi32( is_ltz(bitwise_cast(a0)) - , _MM_SHUFFLE(3,3,1,1) - ); - - return bitwise_cast(that); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_nez.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_nez.hpp deleted file mode 100644 index 56eed65..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_nez.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NEZ_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_nez_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < int64_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::downgrade::type base; - typedef typename meta::as_logical::type lbase; - - const lbase tmp1 = is_nez(boost::simd::bitwise_cast(a0)); - const lbase tmp2 = details::shuffle<1,0,3,2>(tmp1); - return boost::simd::bitwise_cast(l_or(tmp1, tmp2)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_greater.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_greater.hpp deleted file mode 100644 index dd830f2..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_greater.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_GREATER_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_not_greater_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpngt_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_greater_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpngt_ps(a0,a1); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_greater_equal.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_greater_equal.hpp deleted file mode 100644 index a916c76..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_greater_equal.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_not_greater_equal_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpnge_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_greater_equal_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpnge_ps(a0,a1); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_less.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_less.hpp deleted file mode 100644 index 05afdba..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_less.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_LESS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_not_less_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpnlt_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_less_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpnlt_ps(a0,a1); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_less_equal.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_less_equal.hpp deleted file mode 100644 index 4790e9c..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_not_less_equal.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_not_less_equal_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpnle_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_not_less_equal_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpnle_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_ord.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_ord.hpp deleted file mode 100644 index 13b4d96..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_ord.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_ORD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_ord_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - inline result_type operator()(const A0&, const A0&)const - { - return boost::simd::True(); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_ord_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpord_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (is_ord_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpord_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_unord.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_unord.hpp deleted file mode 100644 index 8456099..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse2/is_unord.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE2_IS_UNORD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_unord_, boost::simd::tag::sse2_,(A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpunord_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_unord_, boost::simd::tag::sse2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_cmpunord_ps(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_gez.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_gez.hpp deleted file mode 100644 index 8b76b5e..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_gez.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE4_2_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE4_2_IS_GEZ_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_gez_, boost::simd::tag::sse4_2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return logical_not(is_greater(Zero(), a0)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_gtz.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_gtz.hpp deleted file mode 100644 index 8c7c7e5..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_gtz.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE4_2_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE4_2_IS_GTZ_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_2_SUPPORT -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_gtz_, boost::simd::tag::sse4_2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_greater(a0, Zero()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_lez.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_lez.hpp deleted file mode 100644 index fe6f86e..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_lez.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE4_2_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE4_2_IS_LEZ_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_lez_, boost::simd::tag::sse4_2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return logical_not(is_greater(a0, Zero())); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_ltz.hpp b/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_ltz.hpp deleted file mode 100644 index 4bf57f3..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/sse/sse4_2/is_ltz.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE4_2_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_SSE_SSE4_2_IS_LTZ_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_2_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_ltz_, boost::simd::tag::sse4_2_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_greater(Zero(), a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/functions/simd/vmx/altivec/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/functions/simd/vmx/altivec/is_equal_with_equal_nans.hpp deleted file mode 100644 index 0cad90b..0000000 --- a/inst/include/boost/simd/predicates/functions/simd/vmx/altivec/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_FUNCTIONS_SIMD_VMX_ALTIVEC_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, boost::simd::tag::vmx_, (A0) - , ((simd_, boost::simd::tag::vmx_>)) - ((simd_, boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return logical_not(logical_or(is_greater(a0, a1), is_greater(a1, a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, boost::simd::tag::vmx_, (A0) - , ((simd_, boost::simd::tag::vmx_>)) - ((simd_, boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return is_equal(a0, a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_denormal.hpp b/inst/include/boost/simd/predicates/include/functions/is_denormal.hpp deleted file mode 100644 index 7bfd05c..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/include/functions/is_equal_with_equal_nans.hpp deleted file mode 100644 index 94fee1c..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_eqz.hpp b/inst/include/boost/simd/predicates/include/functions/is_eqz.hpp deleted file mode 100644 index 28a7193..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_eqz.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_EQZ_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_even.hpp b/inst/include/boost/simd/predicates/include/functions/is_even.hpp deleted file mode 100644 index 2316fdb..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_EVEN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_false.hpp b/inst/include/boost/simd/predicates/include/functions/is_false.hpp deleted file mode 100644 index b006a62..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_false.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_FALSE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_FALSE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_finite.hpp b/inst/include/boost/simd/predicates/include/functions/is_finite.hpp deleted file mode 100644 index c8dc0f6..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_finite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_FINITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_flint.hpp b/inst/include/boost/simd/predicates/include/functions/is_flint.hpp deleted file mode 100644 index 20741de..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_flint.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_FLINT_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_FLINT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_gez.hpp b/inst/include/boost/simd/predicates/include/functions/is_gez.hpp deleted file mode 100644 index 17127c6..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_gez.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_GEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_gtz.hpp b/inst/include/boost/simd/predicates/include/functions/is_gtz.hpp deleted file mode 100644 index 53bb473..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_gtz.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_GTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_imag.hpp b/inst/include/boost/simd/predicates/include/functions/is_imag.hpp deleted file mode 100644 index 169dd41..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_inf.hpp b/inst/include/boost/simd/predicates/include/functions/is_inf.hpp deleted file mode 100644 index 536ed45..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_inf.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_INF_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_INF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_invalid.hpp b/inst/include/boost/simd/predicates/include/functions/is_invalid.hpp deleted file mode 100644 index fd21ded..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_invalid.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_INVALID_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_INVALID_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_lez.hpp b/inst/include/boost/simd/predicates/include/functions/is_lez.hpp deleted file mode 100644 index 8b139b8..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_lez.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_LEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_ltz.hpp b/inst/include/boost/simd/predicates/include/functions/is_ltz.hpp deleted file mode 100644 index b481224..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_ltz.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_LTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_nan.hpp b/inst/include/boost/simd/predicates/include/functions/is_nan.hpp deleted file mode 100644 index 7c160a3..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_nan.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_negative.hpp b/inst/include/boost/simd/predicates/include/functions/is_negative.hpp deleted file mode 100644 index a68a6f0..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_negative.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_nez.hpp b/inst/include/boost/simd/predicates/include/functions/is_nez.hpp deleted file mode 100644 index 018882d..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_nez.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NEZ_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_nge.hpp b/inst/include/boost/simd/predicates/include/functions/is_nge.hpp deleted file mode 100644 index 5cd8c9a..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_nge.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NGE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NGE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_ngez.hpp b/inst/include/boost/simd/predicates/include/functions/is_ngez.hpp deleted file mode 100644 index 4cbd44c..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_ngez.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NGEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NGEZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_ngt.hpp b/inst/include/boost/simd/predicates/include/functions/is_ngt.hpp deleted file mode 100644 index 7e231fe..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_ngt.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NGT_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NGT_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_ngtz.hpp b/inst/include/boost/simd/predicates/include/functions/is_ngtz.hpp deleted file mode 100644 index 736d511..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_ngtz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NGTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NGTZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_nle.hpp b/inst/include/boost/simd/predicates/include/functions/is_nle.hpp deleted file mode 100644 index 7073f73..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_nle.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NLE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NLE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_nlez.hpp b/inst/include/boost/simd/predicates/include/functions/is_nlez.hpp deleted file mode 100644 index bf2b12a..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_nlez.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NLEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NLEZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_nlt.hpp b/inst/include/boost/simd/predicates/include/functions/is_nlt.hpp deleted file mode 100644 index 37614db..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_nlt.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NLT_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NLT_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_nltz.hpp b/inst/include/boost/simd/predicates/include/functions/is_nltz.hpp deleted file mode 100644 index 3d4a39f..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_nltz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NLTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NLTZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_denormal.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_denormal.hpp deleted file mode 100644 index 91e574b..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index caac2f2..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_finite.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_finite.hpp deleted file mode 100644 index 3d36392..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_finite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_greater.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_greater.hpp deleted file mode 100644 index 4821138..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_greater.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_greater_equal.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_greater_equal.hpp deleted file mode 100644 index 8f0e0a1..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_greater_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_imag.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_imag.hpp deleted file mode 100644 index a679573..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_infinite.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_infinite.hpp deleted file mode 100644 index 6ffdd35..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_infinite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_less.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_less.hpp deleted file mode 100644 index 50124f7..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_less.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_less_equal.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_less_equal.hpp deleted file mode 100644 index 96fef95..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_less_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_nan.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_nan.hpp deleted file mode 100644 index 3236ceb..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_nan.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_not_real.hpp b/inst/include/boost/simd/predicates/include/functions/is_not_real.hpp deleted file mode 100644 index 60e7325..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_not_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_odd.hpp b/inst/include/boost/simd/predicates/include/functions/is_odd.hpp deleted file mode 100644 index 2002bc0..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_odd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_ODD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_ODD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_ord.hpp b/inst/include/boost/simd/predicates/include/functions/is_ord.hpp deleted file mode 100644 index 4812009..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_ord.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_ORD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_positive.hpp b/inst/include/boost/simd/predicates/include/functions/is_positive.hpp deleted file mode 100644 index 09c066a..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_positive.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_real.hpp b/inst/include/boost/simd/predicates/include/functions/is_real.hpp deleted file mode 100644 index 89fb61e..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_true.hpp b/inst/include/boost/simd/predicates/include/functions/is_true.hpp deleted file mode 100644 index bbf87f4..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_true.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_TRUE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_TRUE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/is_unord.hpp b/inst/include/boost/simd/predicates/include/functions/is_unord.hpp deleted file mode 100644 index 2e42fc2..0000000 --- a/inst/include/boost/simd/predicates/include/functions/is_unord.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_IS_UNORD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/majority.hpp b/inst/include/boost/simd/predicates/include/functions/majority.hpp deleted file mode 100644 index ba05b57..0000000 --- a/inst/include/boost/simd/predicates/include/functions/majority.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_MAJORITY_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_MAJORITY_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_denormal.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_denormal.hpp deleted file mode 100644 index ff0bb02..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_equal_with_equal_nans.hpp deleted file mode 100644 index 20460b3..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_eqz.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_eqz.hpp deleted file mode 100644 index adf3aac..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_eqz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EQZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_even.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_even.hpp deleted file mode 100644 index f3e9d0f..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EVEN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_finite.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_finite.hpp deleted file mode 100644 index e4f00e9..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_finite.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_FINITE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_flint.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_flint.hpp deleted file mode 100644 index 3adedaf..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_flint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_FLINT_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_FLINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_gez.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_gez.hpp deleted file mode 100644 index 2908e14..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_gez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_GEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_gtz.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_gtz.hpp deleted file mode 100644 index 56b35c6..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_gtz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_GTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_imag.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_imag.hpp deleted file mode 100644 index 339bf55..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_inf.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_inf.hpp deleted file mode 100644 index e9d2bdc..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_inf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_INF_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_INF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_invalid.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_invalid.hpp deleted file mode 100644 index cd8412a..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_invalid.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_INVALID_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_INVALID_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_lez.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_lez.hpp deleted file mode 100644 index 431d473..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_lez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_LEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_ltz.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_ltz.hpp deleted file mode 100644 index 715275a..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_ltz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_LTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_nan.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_nan.hpp deleted file mode 100644 index 1026c84..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_nan.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_negative.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_negative.hpp deleted file mode 100644 index a93d7b7..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_negative.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NEGATIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NEGATIVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_nez.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_nez.hpp deleted file mode 100644 index e6d760e..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_nez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_ngez.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_ngez.hpp deleted file mode 100644 index d5819f5..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_ngez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NGEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NGEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_ngtz.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_ngtz.hpp deleted file mode 100644 index 0ceb44b..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_ngtz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NGTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NGTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_nlez.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_nlez.hpp deleted file mode 100644 index 875a713..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_nlez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NLEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NLEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_nltz.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_nltz.hpp deleted file mode 100644 index 3063a92..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_nltz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NLTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NLTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_denormal.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_denormal.hpp deleted file mode 100644 index 83b077a..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index b8f969b..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_finite.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_finite.hpp deleted file mode 100644 index 41cde61..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_finite.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_greater.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_greater.hpp deleted file mode 100644 index d9904a9..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_greater.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_greater_equal.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_greater_equal.hpp deleted file mode 100644 index c452d13..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_greater_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_imag.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_imag.hpp deleted file mode 100644 index b5c7a30..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_infinite.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_infinite.hpp deleted file mode 100644 index a2c057e..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_infinite.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_INFINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_less.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_less.hpp deleted file mode 100644 index 36fc1ad..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_less.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_less_equal.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_less_equal.hpp deleted file mode 100644 index 9e6e2b7..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_less_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_nan.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_nan.hpp deleted file mode 100644 index 2d8fee2..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_nan.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_NAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_real.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_not_real.hpp deleted file mode 100644 index 54b92f1..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_not_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_odd.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_odd.hpp deleted file mode 100644 index 3a56673..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_odd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_ODD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_ODD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_ord.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_ord.hpp deleted file mode 100644 index 43cf781..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_ord.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_ORD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_positive.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_positive.hpp deleted file mode 100644 index 6a6eddc..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_positive.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_POSITIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_POSITIVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_real.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_real.hpp deleted file mode 100644 index fa8bb3c..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/is_unord.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/is_unord.hpp deleted file mode 100644 index 7decd49..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/is_unord.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_UNORD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/scalar/majority.hpp b/inst/include/boost/simd/predicates/include/functions/scalar/majority.hpp deleted file mode 100644 index c2859fe..0000000 --- a/inst/include/boost/simd/predicates/include/functions/scalar/majority.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_MAJORITY_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_MAJORITY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_denormal.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_denormal.hpp deleted file mode 100644 index 1edf93d..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_equal_with_equal_nans.hpp deleted file mode 100644 index 1d17c5e..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_eqz.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_eqz.hpp deleted file mode 100644 index 1719390..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_eqz.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EQZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EQZ_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_even.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_even.hpp deleted file mode 100644 index b6c404e..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EVEN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_finite.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_finite.hpp deleted file mode 100644 index 19d16c4..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_finite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_FINITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_flint.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_flint.hpp deleted file mode 100644 index e964531..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_flint.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_FLINT_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_FLINT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_gez.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_gez.hpp deleted file mode 100644 index cdb11a2..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_gez.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_GEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_GEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_gtz.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_gtz.hpp deleted file mode 100644 index e3a5341..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_gtz.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_GTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_GTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_imag.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_imag.hpp deleted file mode 100644 index 166bbb9..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_inf.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_inf.hpp deleted file mode 100644 index ef7598f..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_inf.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_INF_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_INF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_invalid.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_invalid.hpp deleted file mode 100644 index f787636..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_invalid.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_INVALID_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_INVALID_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_lez.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_lez.hpp deleted file mode 100644 index ddd58bf..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_lez.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_LEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_LEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_ltz.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_ltz.hpp deleted file mode 100644 index 4583129..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_ltz.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_LTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_LTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_nan.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_nan.hpp deleted file mode 100644 index a75efc4..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_nan.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_negative.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_negative.hpp deleted file mode 100644 index 7fbfa91..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_negative.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NEGATIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NEGATIVE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_nez.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_nez.hpp deleted file mode 100644 index f0d0a1c..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_nez.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NEZ_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_ngez.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_ngez.hpp deleted file mode 100644 index f8dba0d..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_ngez.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NGEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NGEZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_ngtz.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_ngtz.hpp deleted file mode 100644 index 0c64515..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_ngtz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NGTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NGTZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_nlez.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_nlez.hpp deleted file mode 100644 index ad2bb9a..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_nlez.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NLEZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NLEZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_nltz.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_nltz.hpp deleted file mode 100644 index 9a9a8a6..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_nltz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NLTZ_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NLTZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_denormal.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_denormal.hpp deleted file mode 100644 index 4cf5557..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_DENORMAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_equal_with_equal_nans.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 78b20c5..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_finite.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_finite.hpp deleted file mode 100644 index 59c5947..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_finite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_FINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_greater.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_greater.hpp deleted file mode 100644 index 8321a17..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_greater.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_greater_equal.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_greater_equal.hpp deleted file mode 100644 index 3177953..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_greater_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_imag.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_imag.hpp deleted file mode 100644 index f25738d..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_IMAG_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_infinite.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_infinite.hpp deleted file mode 100644 index c203053..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_infinite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_INFINITE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_less.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_less.hpp deleted file mode 100644 index 627d9e6..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_less.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_less_equal.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_less_equal.hpp deleted file mode 100644 index 656a5b6..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_less_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_nan.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_nan.hpp deleted file mode 100644 index bb5f2ed..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_nan.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_NAN_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_NAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_not_real.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_not_real.hpp deleted file mode 100644 index 3be4529..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_not_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_odd.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_odd.hpp deleted file mode 100644 index bcd71b5..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_odd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_ODD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_ODD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_ord.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_ord.hpp deleted file mode 100644 index 1f3f43e..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_ord.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_ORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_ORD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_positive.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_positive.hpp deleted file mode 100644 index ff19455..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_positive.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_POSITIVE_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_POSITIVE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_real.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_real.hpp deleted file mode 100644 index 0d1b890..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_REAL_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/is_unord.hpp b/inst/include/boost/simd/predicates/include/functions/simd/is_unord.hpp deleted file mode 100644 index 60a8682..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/is_unord.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_UNORD_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_UNORD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/include/functions/simd/majority.hpp b/inst/include/boost/simd/predicates/include/functions/simd/majority.hpp deleted file mode 100644 index 7b0a9fb..0000000 --- a/inst/include/boost/simd/predicates/include/functions/simd/majority.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_MAJORITY_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_INCLUDE_FUNCTIONS_SIMD_MAJORITY_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/predicates/predicates.hpp b/inst/include/boost/simd/predicates/predicates.hpp deleted file mode 100644 index eaa3701..0000000 --- a/inst/include/boost/simd/predicates/predicates.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_PREDICATES_PREDICATES_HPP_INCLUDED -#define BOOST_SIMD_PREDICATES_PREDICATES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/preprocessor/align_on.hpp b/inst/include/boost/simd/preprocessor/align_on.hpp deleted file mode 100644 index 5d26676..0000000 --- a/inst/include/boost/simd/preprocessor/align_on.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// Copyright 2013 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREPROCESSOR_ALIGN_ON_HPP_INCLUDED -#define BOOST_SIMD_PREPROCESSOR_ALIGN_ON_HPP_INCLUDED - -#include - -#if defined(DOXYGEN_ONLY) -/*! - @brief Macro wrapper for alignment attribute - - Provides a portable access to various compiler specific attributes - flagging types as aligned on a given boundary. - - @usage{preprocessor/align_on.cpp} - - @param Align Power of two alignment boundary to apply -**/ -#define BOOST_SIMD_ALIGN_ON(Align) -#else - -#if defined(__CUDACC__) - #define BOOST_SIMD_ALIGN_ON(Align) __align__(Align) -#elif defined(_MSC_VER) - #define BOOST_SIMD_ALIGN_ON(Align) __declspec(align(Align)) -#elif (defined(__GNUC__)) || (defined(__xlC__)) - #define BOOST_SIMD_ALIGN_ON(Align) __attribute__(( __aligned__((Align)) )) -#elif !(defined(__WAVE__)) - #error BOOST_SIMD_ALIGN_ON - No Supported alignment attribute -#endif - -#endif - -#endif diff --git a/inst/include/boost/simd/preprocessor/aligned_type.hpp b/inst/include/boost/simd/preprocessor/aligned_type.hpp deleted file mode 100644 index eeb8530..0000000 --- a/inst/include/boost/simd/preprocessor/aligned_type.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREPROCESSOR_ALIGNED_TYPE_HPP_INCLUDED -#define BOOST_SIMD_PREPROCESSOR_ALIGNED_TYPE_HPP_INCLUDED - -#include -#include -#include - -/*! - @brief Macro wrapper for SIMD aligned type - - Wraps a type @c T so that it is aligned on an arbitrary alignment constraint. - - @usage{preprocessor/aligned_type_on.cpp} - - @param T Type to align on current SIMD alignment - @param ALIGN Alignment constraint to respect -**/ -#define BOOST_SIMD_ALIGNED_TYPE_ON(T,ALIGN) T BOOST_SIMD_ALIGN_ON(ALIGN) - -/*! - @brief Macro wrapper for SIMD aligned type in template context - - Wraps a type @c T so that it is aligned on an arbitrary alignment constraint. - This macro is to be used when the type to mark as aligned is dependent on a template. - - @par Rationale - - This variant is required as some older compiler don't accept alignment - attribute applied on template parameters. In all other cases, it is equivalent - to BOOST_SIMD_ALIGNED_TYPE_ON. - If not supported, the type will not be aligned. - - @param T Type to align on current SIMD alignment - @param ALIGN Alignment constraint to respect -**/ -#define BOOST_SIMD_ALIGNED_TYPE_ON_TPL(T,ALIGN) BOOST_SIMD_ALIGNED_TYPE_ON(T,ALIGN) - -// Not supported by GCC 4.2 -#if defined(BOOST_SIMD_COMPILER_GCC) && (BOOST_SIMD_GCC_VERSION < 40300) -#undef BOOST_SIMD_ALIGNED_TYPE_ON_TPL -#define BOOST_SIMD_ALIGNED_TYPE_ON_TPL(T,ALIGN) T -#endif - -/*! - @brief Macro wrapper for SIMD aligned type with template alignment - - Wraps a type @c T so that it is aligned on an arbitrary alignment constraint. - This macro is to be used when the alignment is dependent on a template. - - @par Rationale - - This variant is required as some older compiler don't accept alignment - attribute as a template. In all other cases, it is equivalent - to BOOST_SIMD_ALIGNED_TYPE_ON. - If not supported, it will fall back to BOOST_SIMD_CONFIG_ALIGNMENT. - - @param T Type to align on current SIMD alignment - @param ALIGN Alignment constraint to respect -**/ -#define BOOST_SIMD_ALIGNED_TYPE_ON_MPL(T,ALIGN) BOOST_SIMD_ALIGNED_TYPE_ON(T,ALIGN) - -// Not supported by GCC 4.2 nor MSVC -#if (defined(BOOST_SIMD_COMPILER_GCC) && (BOOST_SIMD_GCC_VERSION < 40300)) \ - || defined(BOOST_SIMD_COMPILER_MSVC) -#undef BOOST_SIMD_ALIGNED_TYPE_ON_MPL -#define BOOST_SIMD_ALIGNED_TYPE_ON_MPL(T,ALIGN) BOOST_SIMD_ALIGNED_TYPE_ON(T,BOOST_SIMD_CONFIG_ALIGNMENT) -#endif - -/*! - @brief Macro wrapper for SIMD aligned type - - Wraps a type @c T so that it is aligned on current SIMD alignment constraint. - - @usage{preprocessor/aligned_type.cpp} - - @param T Type to align on current SIMD alignment -**/ -#define BOOST_SIMD_ALIGNED_TYPE(T) \ -BOOST_SIMD_ALIGNED_TYPE_ON(T,BOOST_SIMD_CONFIG_ALIGNMENT) \ -/**/ - -/*! - @brief Macro wrapper for SIMD aligned type in template context - - Wraps a type @c T so that it is aligned on current SIMD alignment constraint. - This macro is to be used when the type to mark as aligned is used in a template - typedef. - - @par Rationale - - This variant is required as some older compiler don't accept alignment - attribute applied on template parameters. In all other cases, it is equivalent - to BOOST_SIMD_ALIGNED_TYPE. - - @param T Type to align on current SIMD alignment -**/ -#define BOOST_SIMD_ALIGNED_TYPE_TPL(T) \ -BOOST_SIMD_ALIGNED_TYPE_ON_TPL(T,BOOST_SIMD_CONFIG_ALIGNMENT) \ -/**/ - -#endif diff --git a/inst/include/boost/simd/preprocessor/assume_aligned.hpp b/inst/include/boost/simd/preprocessor/assume_aligned.hpp deleted file mode 100644 index 3d578ae..0000000 --- a/inst/include/boost/simd/preprocessor/assume_aligned.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// Copyright 2013 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREPROCESSOR_ASSUME_ALIGNED_HPP_INCLUDED -#define BOOST_SIMD_PREPROCESSOR_ASSUME_ALIGNED_HPP_INCLUDED - -#include -#include - -#if defined(_MSC_VER) -#define BOOST_SIMD_ASSUME_ALIGNED(Type,Ptr,Align) \ -__assume((std::size_t)(Ptr) % Align == 0); \ -/**/ -#elif defined(__INTEL_COMPILER) -#define BOOST_SIMD_ASSUME_ALIGNED(Type,Ptr,Align) __assume_aligned(Ptr, Align) -#elif defined(BOOST_SIMD_GCC_VERSION) && (BOOST_SIMD_GCC_VERSION >= 40700) -#define BOOST_SIMD_ASSUME_ALIGNED(Type,Ptr,Align) \ -Ptr = static_cast(__builtin_assume_aligned(Ptr, Align)); \ -/**/ -#else -/*! - @brief Macro wrapper for alignment assertion - - Provides a portable access to various compiler specific intrinsics to - inform the compiler that a given pointer is aligned on a given boundary. - - @usage{preprocessor/assume_aligned.cpp} - - @param Type Pointer type to handle - @param Ptr Pointer to check - @param Align Power of two alignment boundary to apply -**/ -#define BOOST_SIMD_ASSUME_ALIGNED(Type,Ptr,Align) -#endif - -#endif diff --git a/inst/include/boost/simd/preprocessor/make.hpp b/inst/include/boost/simd/preprocessor/make.hpp deleted file mode 100644 index 021a136..0000000 --- a/inst/include/boost/simd/preprocessor/make.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREPROCESSOR_MAKE_HPP_INCLUDED -#define BOOST_SIMD_PREPROCESSOR_MAKE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_SIMD_PP_DETAILS_MAKE(z, Cardinal, Args) \ -BOOST_FORCEINLINE \ -result_type eval( BOOST_PP_ENUM_BINARY_PARAMS ( BOOST_PP_TUPLE_ELEM(2,0,Args) \ - , const A,& a \ - ) \ - , boost::mpl::size_t const& \ - ) const \ -{ \ - return make(BOOST_PP_ENUM( Cardinal \ - , BOOST_PP_TUPLE_ELEM(2,1,Args) \ - , Cardinal \ - ) \ - ); \ -} \ -/**/ - - -#define BOOST_SIMD_PP_GENERIC_MAKE_ARGS(z,n,t) a ## n(p ## n) -#define BOOST_SIMD_PP_GENERIC_MAKE_TYPES(z,n,t) const X ## n & a ##n; -#define BOOST_SIMD_PP_GENERIC_MAKE_TPL(z,n,t) typename X ## n - -/*! - @brief make-based implementation generator - - Some SIMD functions can't be defined otherwise than as the explicit - building of a SIMD register using make(...). This macro facilitate - the generation of regular, cardinal based use of make in this case for - every valid cardinal. - - @param Args Number of actual parameters to the inner call - @param Function Preprocessor macro generating one element of the make call -**/ -#define BOOST_SIMD_PP_IMPLEMENT_WITH_MAKE(Args,Function) \ -BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM( 2 \ - , BOOST_SIMD_PP_DETAILS_MAKE \ - , (Args,Function) \ - ) \ - \ -template \ -struct generic_make \ -{ \ - generic_make(BOOST_PP_ENUM_BINARY_PARAMS(Args, const X,& p), T& t) \ - : that(t) \ - , BOOST_PP_ENUM(Args,BOOST_SIMD_PP_GENERIC_MAKE_ARGS,~) {} \ - \ - template BOOST_FORCEINLINE void operator()() const \ - { \ - that[I] = Function(~,I,N); \ - } \ - \ - T& that; \ - BOOST_PP_REPEAT(Args, BOOST_SIMD_PP_GENERIC_MAKE_TYPES, ~) \ - private: \ - generic_make& operator=(generic_make const&); \ -}; \ - \ -template \ -result_type eval( BOOST_PP_ENUM_BINARY_PARAMS ( Args \ - , const A,& a \ - ) \ - , boost::mpl::size_t const& \ - ) const \ -{ \ - typedef typename meta::scalar_of::type s_t; \ - typedef aligned_array data_t; \ - \ - data_t that; \ - \ - meta::iterate( generic_make< data_t \ - , N \ - , BOOST_PP_ENUM_PARAMS(Args,A) \ - >(BOOST_PP_ENUM_PARAMS(Args,a),that) ); \ - return aligned_load(&that[0]); \ -} \ -/**/ - -#include -#include - -#endif diff --git a/inst/include/boost/simd/preprocessor/make_helper.hpp b/inst/include/boost/simd/preprocessor/make_helper.hpp deleted file mode 100644 index 016cc8e..0000000 --- a/inst/include/boost/simd/preprocessor/make_helper.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREPROCESSOR_MAKE_HELPER_HPP_INCLUDED -#define BOOST_SIMD_PREPROCESSOR_MAKE_HELPER_HPP_INCLUDED - -#include -#include -#include - -#define BOOST_SIMD_MAKE_BODY(n) \ -typedef typename A0::type result_type; \ -typedef typename meta::scalar_of::type stype; \ -BOOST_FORCEINLINE result_type \ -operator()(BOOST_PP_ENUM_PARAMS(n, stype const& a)) const \ -/**/ - -#endif diff --git a/inst/include/boost/simd/preprocessor/malloc.hpp b/inst/include/boost/simd/preprocessor/malloc.hpp deleted file mode 100644 index 7533cb4..0000000 --- a/inst/include/boost/simd/preprocessor/malloc.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREPROCESSOR_MALLOC_HPP_INCLUDED -#define BOOST_SIMD_PREPROCESSOR_MALLOC_HPP_INCLUDED - -#if defined(DOXYGEN_ONLY) -/*! - @brief Malloc-like behavior flag - - Used on function definition, BOOST_SIMD_MALLOC flags the current function - as having a behavior similar to @a malloc. This allows some compilers to - optimize the code using pointer returned by such function. - - @usage{memory/simd_malloc.cpp} - -**/ -#define BOOST_SIMD_MALLOC -#else -#if defined(BOOST_SIMD_COMPILER_MSVC) -#define BOOST_SIMD_MALLOC __declspec(restrict) -#define BOOST_SIMD_ALLOC_SIZE(n) -#define BOOST_SIMD_ALLOC_THROWS -#elif defined(BOOST_SIMD_GCC_LIKE) -#define BOOST_SIMD_MALLOC __attribute__ ((malloc)) -#define BOOST_SIMD_ALLOC_SIZE(n) __attribute__((alloc_size(n))) -#define BOOST_SIMD_ALLOC_THROWS __attribute__((returns_nonnull)) -#else -#define BOOST_SIMD_MALLOC -#define BOOST_SIMD_ALLOC_SIZE(n) -#define BOOST_SIMD_ALLOC_THROWS -#endif -#endif - -#endif diff --git a/inst/include/boost/simd/preprocessor/new.hpp b/inst/include/boost/simd/preprocessor/new.hpp deleted file mode 100644 index db66236..0000000 --- a/inst/include/boost/simd/preprocessor/new.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREPROCESSOR_NEW_HPP_INCLUDED -#define BOOST_SIMD_PREPROCESSOR_NEW_HPP_INCLUDED - -#include -#include -#include -#include - -/*! - @brief Define alignment aware new and delete overload into a given POD type - - When used at class scope, BOOST_SIMD_MEMORY_OVERLOAD_NEW_DELETE generates - code for overloaded new and delete operator that use aligned allocation - function over an arbitrary alignment boundary @c Alignment. - - @usage{preprocessor/overload_new_delete.cpp} - - @param Alignment Alignment boundary in bytes to use for dynamic allocation - of current type. -**/ -#define BOOST_SIMD_MEMORY_OVERLOAD_NEW_DELETE(Alignment) \ -void* operator new(std::size_t sz, const std::nothrow_t& throw_status) \ -{ \ - return boost::simd::allocate(sz, throw_status); \ -} \ - \ -void* operator new(std::size_t sz) \ -{ \ - return boost::simd::allocate(sz); \ -} \ - \ -void* operator new(std::size_t, void* p) \ -{ \ - return p; \ -} \ - \ -void* operator new[](std::size_t, void* p) \ -{ \ - return p; \ -} \ - \ -void* operator new[](std::size_t sz, const std::nothrow_t& throw_status) \ -{ \ - return boost::simd::allocate(sz, throw_status); \ -} \ - \ -void* operator new[](std::size_t sz) \ -{ \ - return boost::simd::allocate(sz); \ -} \ - \ -void operator delete(void* m) \ -{ \ - boost::simd::deallocate(m); \ -} \ - \ -void operator delete[](void* m) \ -{ \ - boost::simd::deallocate(m); \ -} \ - \ -void operator delete(void* m, const std::nothrow_t&) \ -{ \ - boost::simd::deallocate(m); \ -} \ - \ -void operator delete[](void* m, const std::nothrow_t&) \ -{ \ - boost::simd::deallocate(m); \ -} \ -void operator delete(void*, void*) \ -{ \ -} \ -/**/ - -/*! - @brief Define SIMD aware new and delete overload into a given POD type - - When used at class scope, BOOST_SIMD_MEMORY_OVERLOAD_NEW_DELETE_SIMD generates - code for overloaded new and delete operator that use aligned allocation - function to satisfy current SIMD architecture alignment constraint. - - @usage{preprocessor/overload_new_delete_simd.cpp} -**/ -#define BOOST_SIMD_MEMORY_OVERLOAD_NEW_DELETE_SIMD() \ -BOOST_SIMD_MEMORY_OVERLOAD_NEW_DELETE(BOOST_SIMD_CONFIG_ALIGNMENT) \ -/**/ - -#endif diff --git a/inst/include/boost/simd/preprocessor/parameters.hpp b/inst/include/boost/simd/preprocessor/parameters.hpp deleted file mode 100644 index 55798cb..0000000 --- a/inst/include/boost/simd/preprocessor/parameters.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREPROCESSOR_PARAMETERS_HPP_INCLUDED -#define BOOST_SIMD_PREPROCESSOR_PARAMETERS_HPP_INCLUDED - -#include -#include - -#if defined(DOXYGEN_ONLY) -/*! - @brief System dependent value for SIMD alignment - - This macro is defined to be equal to the current system required alignment - for proper SIMD code execution. -**/ -#define BOOST_SIMD_CONFIG_ALIGNMENT BOOST_SIMD_CONFIG_ALIGNMENT -#else -#define BOOST_SIMD_CONFIG_ALIGNMENT BOOST_SIMD_BYTES -#endif - - -#if defined(DOXYGEN_ONLY) -/*! - @brief System dependent value for alloca alignment - - This macro is defined to be equal to the current system alignment of - address returned by @c alloca. -**/ -#define BOOST_SIMD_CONFIG_ALIGNMENT BOOST_SIMD_CONFIG_ALIGNMENT -#else - -#endif - -#endif diff --git a/inst/include/boost/simd/preprocessor/stack_buffer.hpp b/inst/include/boost/simd/preprocessor/stack_buffer.hpp deleted file mode 100644 index 2bd8621..0000000 --- a/inst/include/boost/simd/preprocessor/stack_buffer.hpp +++ /dev/null @@ -1,173 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 MetaScale SAS -// Copyright 2013 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_PREPROCESSOR_STACK_BUFFER_HPP_INCLUDED -#define BOOST_SIMD_PREPROCESSOR_STACK_BUFFER_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include - -#include - -#if !defined(__APPLE__) -#include -#endif - -/// INTERNAL ONLY -#define BOOST_SIMD_STACK_BUFFER_AUX_MAKE_RANGE( variableName, type, size ) \ -boost::iterator_range const \ -variableName( &__##variableName##helper_pointer__[ 0 ] \ - , &__##variableName##helper_pointer__[ size ] \ - ) \ -/**/ - -/// INTERNAL ONLY -#define BOOST_SIMD_STACK_BUFFER_AUX_BUILTIN_ALLOCA( type, size ) \ -::alloca( (size) * sizeof( type ) ) \ -/**/ - -#if BOOST_SIMD_ALLOCA_ALIGNMENT >= BOOST_SIMD_CONFIG_ALIGNMENT -/// INTERNAL ONLY -#define BOOST_SIMD_STACK_BUFFER_AUX_ALIGNED_ALLOCA \ -BOOST_SIMD_STACK_BUFFER_AUX_BUILTIN_ALLOCA \ -/**/ -#else -/// INTERNAL ONLY -#define BOOST_SIMD_STACK_BUFFER_AUX_ALIGNED_ALLOCA( type, size ) \ -reinterpret_cast \ -( \ - ( \ - reinterpret_cast \ - ( \ - ::alloca( (size) * sizeof( type ) \ - + BOOST_SIMD_CONFIG_ALIGNMENT - BOOST_SIMD_ALLOCA_ALIGNMENT ) \ - ) \ - + BOOST_SIMD_CONFIG_ALIGNMENT - BOOST_SIMD_ALLOCA_ALIGNMENT \ - ) & ~( BOOST_SIMD_CONFIG_ALIGNMENT - 1 ) \ -) \ -/**/ -#endif - -/*! - @brief Defines a memory buffer allocated on the stack - - This macro creates a Range named @c variableName that stores @c size - elements of POD type @c type. Said range is allocated on the stack using - system dependent code that enforce proper stack alignment. - - @usage{memory/stack_buffer.cpp} - - @param variableName Name of the buffer to be created - @param type Type stored into the buffer - @param size Number of element in the buffer -**/ -#define BOOST_SIMD_STACK_BUFFER( variableName, type, size ) \ -type* BOOST_DISPATCH_RESTRICT const __##variableName##helper_pointer__ = \ - static_cast( \ - BOOST_SIMD_STACK_BUFFER_AUX_BUILTIN_ALLOCA( type, size ) \ - ); \ -BOOST_SIMD_STACK_BUFFER_AUX_MAKE_RANGE( variableName, type, size ) \ -/**/ - -/*! - @brief Defines a memory buffer allocated on the stack suitable for SIMD - - This macro creates a Range named @c variableName that stores @c size - elements of POD type @c type. Said range is allocated on the stack using - system dependent code that enforce proper SIMD compatible alignment. - - @usage{memory/simd_stack_buffer.cpp} - - @param variableName Name of the buffer to be created - @param type Type stored into the buffer - @param size Number of element in the buffer -**/ -#define BOOST_SIMD_ALIGNED_STACK_BUFFER( variableName, type, size ) \ -BOOST_SIMD_ALIGN_ON( BOOST_SIMD_CONFIG_ALIGNMENT ) \ -type* BOOST_DISPATCH_RESTRICT const \ -__##variableName##helper_pointer__ = \ - static_cast( \ - BOOST_SIMD_STACK_BUFFER_AUX_ALIGNED_ALLOCA( type, size ) \ - ); \ -BOOST_ASSERT_MSG \ -( \ - reinterpret_cast( __##variableName##helper_pointer__ ) \ - % (BOOST_SIMD_CONFIG_ALIGNMENT) == 0 \ -, "Alignment assumption breached in BOOST_SIMD_STACK_BUFFER" \ -); \ -BOOST_SIMD_STACK_BUFFER_AUX_MAKE_RANGE( variableName, type, size ) \ -/**/ - -/*! - @brief Defines a scoped memory buffer allocated on the stack - - This macro creates a Range named @c variableName that stores @c size - elements of POD type @c type. Said range is allocated on the stack using - system dependent code that enforce proper SIMD compatible alignment. This - Range is made to be deallocated at current scope's exit. - - @usage{memory/scoped_buffer.cpp} - - @param variableName Name of the buffer to be created - @param type Type stored into the buffer - @param size Number of element in the buffer - -**/ -#ifndef __GNUC__ -#define BOOST_SIMD_SCOPED_STACK_BUFFER( variableName, type, size ) \ -BOOST_SIMD_STACK_BUFFER( variableName, type, size) \ -/**/ -#else -#define BOOST_SIMD_SCOPED_STACK_BUFFER( variableName, type, size ) \ -type __##variableName##helper_pointer__[ size ]; \ -BOOST_SIMD_STACK_BUFFER_AUX_MAKE_RANGE( variableName, type, size ) \ -/**/ -#endif - - -/*! - @brief Defines a scoped memory buffer allocated on the stack suitable for SIMD - - This macro creates a Range named @c variableName that stores @c size - elements of POD type @c type. Said range is allocated on the stack using - system dependent code that enforce proper SIMD compatible alignment. This - Range is made to be deallocated at current scope's exit. - - @usage{memory/simd_scoped_buffer.cpp} - - @param variableName Name of the buffer to be created - @param type Type stored into the buffer - @param size Number of element in the buffer - -**/ -#ifndef __GNUC__ -#define BOOST_SIMD_ALIGNED_SCOPED_STACK_BUFFER( variableName, type, size ) \ -BOOST_SIMD_ALIGNED_STACK_BUFFER( variableName, type, size) \ -/**/ -#else -#define BOOST_SIMD_ALIGNED_SCOPED_STACK_BUFFER( variableName, type, size ) \ -BOOST_SIMD_ALIGN_ON( BOOST_SIMD_CONFIG_ALIGNMENT ) type \ -__##variableName##helper_pointer__[ size ]; \ -BOOST_ASSERT_MSG \ -( \ - reinterpret_cast( __##variableName##helper_pointer__ ) \ - % (BOOST_SIMD_CONFIG_ALIGNMENT) == 0, \ - "Alignment assumption breached in BOOST_SIMD_SCOPED_STACK_BUFFER" \ -); \ -BOOST_SIMD_STACK_BUFFER_AUX_MAKE_RANGE( variableName, type, size ) \ -/**/ -#endif - -#endif diff --git a/inst/include/boost/simd/reduction/constants.hpp b/inst/include/boost/simd/reduction/constants.hpp deleted file mode 100644 index b8ac43a..0000000 --- a/inst/include/boost/simd/reduction/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/reduction/functions.hpp b/inst/include/boost/simd/reduction/functions.hpp deleted file mode 100644 index 4b4e883..0000000 --- a/inst/include/boost/simd/reduction/functions.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/functions/all.hpp b/inst/include/boost/simd/reduction/functions/all.hpp deleted file mode 100644 index 73ed2f0..0000000 --- a/inst/include/boost/simd/reduction/functions/all.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_ALL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_ALL_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief all generic tag - - Represents the all function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_and_; - struct True; - - struct all_ : ext::reduction_ - { - /// @brief Parent hierarchy - typedef ext::reduction_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_all_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_all_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_all_; - } - /*! - Returns true if all elements of the input vector are non zero. - - @par Semantic: - - For every parameter of type T0 - - @code - logical> r = all(a0); - @endcode - - is similar to: - - @code - logical> r = True; - for(result_type i = 0; i != meta::cardinal_of; ++i) - if (!a0[i]) {r = False; break; } - @endcode - - @param a0 - - @return a value of the scalar logical type asssociated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::all_, all, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::all_, all, 2) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/any.hpp b/inst/include/boost/simd/reduction/functions/any.hpp deleted file mode 100644 index c3ae9cf..0000000 --- a/inst/include/boost/simd/reduction/functions/any.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_ANY_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_ANY_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief any generic tag - - Represents the any function in generic contexts. - - @par Models: - Hierarchy - **/ - struct logical_or_; - struct False; - - struct any_ : ext::reduction_ - { - /// @brief Parent hierarchy - typedef ext::reduction_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_any_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_any_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_any_; - } - /*! - Returns true if at least one element of the input vector is non zero. - - @par Semantic: - - For every parameter of type T0 - - @code - logical> r = any(a0); - @endcode - - is similar to: - - @code - logical> r = False; - for(result_type i = 0; i != cardinal_of; ++i) - if (a0[i]) {r = True; break; } - @endcode - - @param a0 - - @return a value of the scalar type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::any_, any, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::any_, any, 2) -} } -#endif diff --git a/inst/include/boost/simd/reduction/functions/compare_equal.hpp b/inst/include/boost/simd/reduction/functions/compare_equal.hpp deleted file mode 100644 index e51ed84..0000000 --- a/inst/include/boost/simd/reduction/functions/compare_equal.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED -#include -#include -#include - - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief compare_equal generic tag - - Represents the compare_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct compare_equal_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_compare_equal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_compare_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_compare_equal_; - } - /*! - Returns a logical scalar value that is the result of the lexicographic - test for equality of all elements of the entries, - i.e. return true if and only if all corresponding entries - elements are equal. - - It is probably not what you wish. Have a look to is_equal - - @par Semantic: - - For every parameters of type T0: - - @code - logical> r = compare_equal(a0,a1); - @endcode - - is similar to: - - @code - logical> r = all(a0 == a1) - @endcode - - @par Alias: - @c compare_eq - - @see @funcref{is_equal} - @param a0 - - @param a1 - - @return a value of the scalar logical type asssociated to the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_equal_, compare_equal , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_equal_, compare_eq , 2 ) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/compare_greater.hpp b/inst/include/boost/simd/reduction/functions/compare_greater.hpp deleted file mode 100644 index 744d093..0000000 --- a/inst/include/boost/simd/reduction/functions/compare_greater.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief compare_greater generic tag - - Represents the compare_greater function in generic contexts. - - @par Models: - Hierarchy - **/ - struct compare_greater_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_compare_greater_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_compare_greater_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_compare_greater_; - } - /*! - return a bool that is the result of the lexicographic - test for > on all elements of the entries - - It is probably not what you wish. Have a look to is_greater - - @par Semantic: - - For every parameters of type T0: - - @code - as_logical> r = compare_greater(a0,a1); - @endcode - - is similar to: - - @code - as_logical> r = False; - for(std::size_t i=0;i;++i) - { - if (a0[i] > a1[i]) {r = True; break;} - if (a1[i] > a0[i]) {r = False; break;} - } - @endcode - - @par Alias: - @c compare_gt - - @see @funcref{is_greater} - @param a0 - - @param a1 - - @return a value of the scalar logical type associated to the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_greater_, compare_greater , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_greater_, compare_gt , 2 ) -} } -#endif diff --git a/inst/include/boost/simd/reduction/functions/compare_greater_equal.hpp b/inst/include/boost/simd/reduction/functions/compare_greater_equal.hpp deleted file mode 100644 index f085453..0000000 --- a/inst/include/boost/simd/reduction/functions/compare_greater_equal.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief compare_greater_equal generic tag - - Represents the compare_greater_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct compare_greater_equal_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_compare_greater_equal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_compare_greater_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_compare_greater_equal_; - } - /*! - Returns a logical scalar that is the result of the lexicographic - test for >= on all elements of the entries - - It is probably not what you wish. Have a look to is_greater_equal. - - @par Semantic: - - For every parameters of type T0: - - @code - as_logical> r = compare_greater_equal(a0,a1); - @endcode - - is similar to: - - @code - as_logical> r = !compare_less(a1, a0) - @endcode - - @par Alias: - @c compare_ge - - @see @funcref{is_greater_equal} - @param a0 - - @param a1 - - @return a value of the scalar logical type associated to the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_greater_equal_, compare_greater_equal , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_greater_equal_, compare_ge , 2 ) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/compare_less.hpp b/inst/include/boost/simd/reduction/functions/compare_less.hpp deleted file mode 100644 index a6d3b6d..0000000 --- a/inst/include/boost/simd/reduction/functions/compare_less.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief compare_less generic tag - - Represents the compare_less function in generic contexts. - - @par Models: - Hierarchy - **/ - struct compare_less_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_compare_less_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_compare_less_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_compare_less_; - } - /*! - Returns a logical scalar that is the result of the lexicographic - test for < on all elements of the entries - - It is probably not what you wish. Have a look to is_less - - @par Semantic: - - For every parameters of type T0: - - @code - as_logical> r = compare_less(a0,a1); - @endcode - - is similar to: - - @code - as_logical> r = False; - for(std::size_t i=0;i;++i) - { - if (a0[i] < a1[i]) {r = True; break;} - if (a1[i] < a0[i]) {r = False; break;} - } - @endcode - - @see @funcref{is_less} - @par Alias: - @c compare_lt - - @param a0 - - @param a1 - - @return a value of the scalar logical type associated to the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_less_, compare_less , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_less_, compare_lt , 2 ) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/compare_less_equal.hpp b/inst/include/boost/simd/reduction/functions/compare_less_equal.hpp deleted file mode 100644 index 2cde6ca..0000000 --- a/inst/include/boost/simd/reduction/functions/compare_less_equal.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief compare_less_equal generic tag - - Represents the compare_less_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct compare_less_equal_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_compare_less_equal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_compare_less_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_compare_less_equal_; - } - /*! - Returns a logical scalar that is the result of the lexicographic - test for <= on all elements of the entries - - It is probably not what you wish. Have a look to is_less_equal - - @par Semantic: - - For every parameters of type T0: - - @code - as_logical> r = compare_less_equal(a0,a1); - @endcode - - is similar to: - - @code - as_logical> r = !compare_greater(a1, a0) - @endcode - - @par Alias: - @c compare_le - - @see @funcref{is_less_equal} - @param a0 - - @param a1 - - @return a value of the scalar logical type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_less_equal_, compare_less_equal , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_less_equal_, compare_le , 2 ) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/compare_not_equal.hpp b/inst/include/boost/simd/reduction/functions/compare_not_equal.hpp deleted file mode 100644 index 618a1c0..0000000 --- a/inst/include/boost/simd/reduction/functions/compare_not_equal.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief compare_not_equal generic tag - - Represents the compare_not_equal function in generic contexts. - - @par Models: - Hierarchy - **/ - struct compare_not_equal_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_compare_not_equal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_compare_not_equal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_compare_not_equal_; - } - /*! - Returns a logical scalar that is the result of the lexicographic - test for != on elements of the entries, - i.e. return true if and only if two corresponding entries - elements are not equal. - - It is probably not what you wish. Have a look to is_not_equal - - @par Semantic: - - For every parameters of type T0: - - @code - logical> r = compare_not_equal(a0,a1); - @endcode - - is similar to: - - @code - logical> r = any(a0 == a1); - @endcode - - @par Alias: - @c compare_neq - - @see @funcref{is_not_equal} - @param a0 - - @param a1 - - @return a value of the scalar logical type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_not_equal_, compare_not_equal , 2 ) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::compare_not_equal_, compare_neq , 2 ) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/dot.hpp b/inst/include/boost/simd/reduction/functions/dot.hpp deleted file mode 100644 index 3811944..0000000 --- a/inst/include/boost/simd/reduction/functions/dot.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_DOT_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_DOT_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief dot generic tag - - Represents the dot function in generic contexts. - - @par Models: - Hierarchy - **/ - struct dot_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_dot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_dot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_dot_; - } - /*! - returns the dot product of the two vector arguments - - @par Semantic: - - For every parameters of type T0: - - @code - scalar_of r = dot(a0,a1); - @endcode - - is similar to: - - @code - scalar_of r = sum(a0*conj(a1)); - @endcode - - @param a0 - - @param a1 - - @return a value of the scalar type associated to the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::dot_, dot, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::dot_, dot, 3) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/hmsb.hpp b/inst/include/boost/simd/reduction/functions/hmsb.hpp deleted file mode 100644 index 48200ed..0000000 --- a/inst/include/boost/simd/reduction/functions/hmsb.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_HMSB_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_HMSB_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief hmsb generic tag - - Represents the hmsb function in generic contexts. - - @par Models: - Hierarchy - **/ - - struct hmsb_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_hmsb_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_hmsb_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_hmsb_; - } - /*! - Returns a size_t value composed by the highiest bits. - of each vector element - - @par Semantic: - - For every parameter of type T0 - - @code - size_t r = hmsb(a0); - @endcode - - is similar to: - - @code - size_t r = 0; - for(result_type i = 0; i != cardinal_of; ++i) - { - r |= (bits(a0[i]) >> (sizeof(stype)*8 - 1)) << i; - } - @endcode - - @param a0 - - @return a size_t value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::hmsb_, hmsb, 1) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/inbtrue.hpp b/inst/include/boost/simd/reduction/functions/inbtrue.hpp deleted file mode 100644 index b649985..0000000 --- a/inst/include/boost/simd/reduction/functions/inbtrue.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_INBTRUE_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief inbtrue generic tag - - Represents the inbtrue function in generic contexts. - - @par Models: - Hierarchy - **/ - struct inbtrue_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_inbtrue_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_inbtrue_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_inbtrue_; - } - /*! - Returns the number of non zero elements of the input SIMD vector. - - @par Semantic: - - For every parameter of type T0 - - @code - size_t r = inbtrue(a0); - @endcode - - is similar to: - - @code - size_t r = sum(if_one_else_zero(a0)); - @endcode - - @param a0 - - @return a size_t value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::inbtrue_, inbtrue, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::inbtrue_, inbtrue, 2) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/is_included.hpp b/inst/include/boost/simd/reduction/functions/is_included.hpp deleted file mode 100644 index 8f8c7fb..0000000 --- a/inst/include/boost/simd/reduction/functions/is_included.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_included generic tag - - Represents the is_included function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_included_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_included_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_included_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_included_; - } - /*! - Returns True is only if all bits set in a0 are also set in a1 - - @par Semantic: - - For every parameters of type T0: - - @code - logical> r = is_included(a0,a1); - @endcode - - is similar to: - - @code - logical> r = all((a0&a1) == a1); - @endcode - - @param a0 - - @param a1 - - @return a value of the scalar logical type associated to the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_included_, is_included, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_included_, testz, 2) -} } - -#endif - diff --git a/inst/include/boost/simd/reduction/functions/is_included_c.hpp b/inst/include/boost/simd/reduction/functions/is_included_c.hpp deleted file mode 100644 index 916d17d..0000000 --- a/inst/include/boost/simd/reduction/functions/is_included_c.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_included_c generic tag - - Represents the is_included_c function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_included_c_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_included_c_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_included_c_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_included_c_; - } - /*! - Returns True is only if all bits set in a0 are not set in a1 - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - logical> r = is_included_c(a0,a1); - @endcode - - is similar to: - - @code - logical> r = all(a0&a1 == zero); - @endcode - - @par Alias: - @c testz, @c are_disjoint - - @param a0 - - @param a1 - - @return a value of the scalar logical type associated to the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_included_c_, is_included_c, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_included_c_, testz, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_included_c_, are_disjoint, 2) -} } -#endif diff --git a/inst/include/boost/simd/reduction/functions/is_simd_logical.hpp b/inst/include/boost/simd/reduction/functions/is_simd_logical.hpp deleted file mode 100644 index 3d41f19..0000000 --- a/inst/include/boost/simd/reduction/functions/is_simd_logical.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief is_simd_logical generic tag - - Represents the is_simd_logical function in generic contexts. - - @par Models: - Hierarchy - **/ - struct is_simd_logical_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_simd_logical_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_simd_logical_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_simd_logical_; - } - /*! - returns true if all vector elements have all or no bit sets. - - @par Semantic: - - For every parameter of type T0 - - @code - logical> r = is_simd_logical(a0); - @endcode - - is similar to: - - @code - T0 r = all(a0 == Allbits || a0 == Zero); - @endcode - - @param a0 - - @return a value of the scalar logical type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::is_simd_logical_, is_simd_logical, 1) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/maximum.hpp b/inst/include/boost/simd/reduction/functions/maximum.hpp deleted file mode 100644 index 4445145..0000000 --- a/inst/include/boost/simd/reduction/functions/maximum.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_MAXIMUM_HPP_INCLUDED -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief maximum generic tag - - Represents the maximum function in generic contexts. - - @par Models: - Hierarchy - **/ - struct max_; - struct Maxinit; - - struct maximum_ : ext::reduction_ - { - /// @brief Parent hierarchy - typedef ext::reduction_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_maximum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_maximum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_maximum_; - } - /*! - Returns the greatest element of the SIMD vector - - @par Semantic: - - For every parameter of type T0 - - @code - scalar_of r = maximum(a0); - @endcode - - is similar to: - - @code - scalar_of r = Minf; - for(std::size_t i=0;i;++i) - r = r < a0[i] ? a0[i] : r; - @endcode - - @param a0 - - @return a value of the scalar type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::maximum_, maximum, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::maximum_, maximum, 2) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/minimum.hpp b/inst/include/boost/simd/reduction/functions/minimum.hpp deleted file mode 100644 index 1c198c2..0000000 --- a/inst/include/boost/simd/reduction/functions/minimum.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_MINIMUM_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief minimum generic tag - - Represents the minimum function in generic contexts. - - @par Models: - Hierarchy - **/ - struct min_; - struct Valmax; - - struct minimum_ : ext::reduction_ - { - /// @brief Parent hierarchy - typedef ext::reduction_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_minimum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_minimum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_minimum_; - } - /*! - Returns the least element of the SIMD vector - - @par Semantic: - - For every parameter of type T0 - - @code - scalar_of r = minimum(a0); - @endcode - - is similar to: - - @code - scalar_of r = Inf; - for(std::size_t i=0;i;++i) - r = r > a0[i] ? a0[i] : r; - @endcode - - @param a0 - - @return a value of the scalar type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minimum_, minimum, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::minimum_, minimum, 2) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/nbtrue.hpp b/inst/include/boost/simd/reduction/functions/nbtrue.hpp deleted file mode 100644 index d37c540..0000000 --- a/inst/include/boost/simd/reduction/functions/nbtrue.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_NBTRUE_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief nbtrue generic tag - - Represents the nbtrue function in generic contexts. - - @par Models: - Hierarchy - **/ - struct nbtrue_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_nbtrue_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_nbtrue_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_nbtrue_; - } - /*! - Returns the number of non zero elements of the input SIMD vector. - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = nbtrue(a0); - @endcode - - is similar to: - - @code - T0 r = sum(if_one_else_zero(a0)); - @endcode - - @param a0 - - @return a value of the scalar type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::nbtrue_, nbtrue, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::nbtrue_, nbtrue, 2) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/none.hpp b/inst/include/boost/simd/reduction/functions/none.hpp deleted file mode 100644 index 07126e8..0000000 --- a/inst/include/boost/simd/reduction/functions/none.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_NONE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_NONE_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief none generic tag - - Represents the none function in generic contexts. - - @par Models: - Hierarchy - **/ - struct none_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_none_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_none_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_none_; - } - /*! - Returns True if all elements of the input vector are zero. - - @par Semantic: - - For every parameter of type T0 - - @code - as_logical> r = none(a0); - @endcode - - is similar to: - - @code - as_logical> r = !any(a0); - @endcode - - @param a0 - - @return a value of the scalar logical type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::none_, none, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::none_, none, 2) -} } -#endif diff --git a/inst/include/boost/simd/reduction/functions/posmax.hpp b/inst/include/boost/simd/reduction/functions/posmax.hpp deleted file mode 100644 index fb09f11..0000000 --- a/inst/include/boost/simd/reduction/functions/posmax.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_POSMAX_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_POSMAX_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief posmax generic tag - - Represents the posmax function in generic contexts. - - @par Models: - Hierarchy - **/ - struct posmax_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_posmax_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_posmax_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_posmax_; - } - /*! - Returns the index of the first occurence of greatest element of the SIMD vector - - @par Semantic: - - For every parameter of type T0 - - @code - size_t r = posmax(a0); - @endcode - - is similar to: - - @code - scalar_of m = maximum(a0); - size_t r; - for(size_t i=0; i < cardinal_of; i++) - if (m == a0[i]) { r = i; break; } - @endcode - - @param a0 - - @return a size_t value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::posmax_, posmax, 1) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/posmin.hpp b/inst/include/boost/simd/reduction/functions/posmin.hpp deleted file mode 100644 index 7e35abb..0000000 --- a/inst/include/boost/simd/reduction/functions/posmin.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_POSMIN_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_POSMIN_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief posmin generic tag - - Represents the posmin function in generic contexts. - - @par Models: - Hierarchy - **/ - struct posmin_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_posmin_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_posmin_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_posmin_; - } - /*! - Returns the index of the first occurence of least element of the SIMD vector - - @par Semantic: - - For every parameter of type T0 - - @code - size_t r = posmin(a0); - @endcode - - is similar to: - - @code - T0 m = minimum(a0); - size_t r; - for(size_t i=0; i < cardinal_of; i++) - if (m == a0[i]) { r = i; break; } - @endcode - - @param a0 - - @return a size_t value - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::posmin_, posmin, 1) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/prod.hpp b/inst/include/boost/simd/reduction/functions/prod.hpp deleted file mode 100644 index 9b29c71..0000000 --- a/inst/include/boost/simd/reduction/functions/prod.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_PROD_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_PROD_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief prod generic tag - - Represents the prod function in generic contexts. - - @par Models: - Hierarchy - **/ - struct prod_ : ext::reduction_ - { - /// @brief Parent hierarchy - typedef ext::reduction_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_prod_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_prod_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_prod_; - } - /*! - Returns the product of the elements of the SIMD vector - - @par Semantic: - - For every parameter of type T0 - - @code - scalar r = prod(a0); - @endcode - - is similar to: - - @code - scalar r = One; - for(result_type i = 0; i != cardinal_of; ++i) - r *= a0[i]; - @endcode - - @param a0 - - @return a value of the scalar type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::prod_, prod, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::prod_, prod, 2) -} } -#endif - diff --git a/inst/include/boost/simd/reduction/functions/scalar/all.hpp b/inst/include/boost/simd/reduction/functions/scalar/all.hpp deleted file mode 100644 index 9bf2762..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/all.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_ALL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_ALL_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( all_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_nez(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( all_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1 const &) const - { - return is_nez(a0); - } - }; - -} } } -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/any.hpp b/inst/include/boost/simd/reduction/functions/scalar/any.hpp deleted file mode 100644 index 083390b..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/any.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_ANY_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_ANY_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( any_, tag::cpu_ - , (A0) - , (scalar_ < fundamental_ > ) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_nez(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( any_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1 const &) const - { - return is_nez(a0); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/compare_equal.hpp b/inst/include/boost/simd/reduction/functions/scalar/compare_equal.hpp deleted file mode 100644 index 6558522..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/compare_equal.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_equal_ - , tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A0 a1) const - { - return result_type(a0 == a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( compare_equal_ - , tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(bool(a0) == bool(a1)) ; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/compare_greater.hpp b/inst/include/boost/simd/reduction/functions/scalar/compare_greater.hpp deleted file mode 100644 index 28ff6f6..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/compare_greater.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_GREATER_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_GREATER_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_greater_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) { return result_type(a0 > a1); } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/compare_greater_equal.hpp b/inst/include/boost/simd/reduction/functions/scalar/compare_greater_equal.hpp deleted file mode 100644 index c24388e..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/compare_greater_equal.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_greater_equal_ - , tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 >= a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( compare_greater_equal_ - , tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!(a0 < a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/compare_less.hpp b/inst/include/boost/simd/reduction/functions/scalar/compare_less.hpp deleted file mode 100644 index 6c24a93..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/compare_less.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_LESS_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_less_ - , tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 < a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/compare_less_equal.hpp b/inst/include/boost/simd/reduction/functions/scalar/compare_less_equal.hpp deleted file mode 100644 index c3d38a7..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/compare_less_equal.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_less_equal_ - , tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(a0 <= a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( compare_less_equal_ - , tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!(a0 > a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/compare_not_equal.hpp b/inst/include/boost/simd/reduction/functions/scalar/compare_not_equal.hpp deleted file mode 100644 index 270a5bf..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/compare_not_equal.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_not_equal_ - , tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return result_type(bool(a0) != bool(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( compare_not_equal_ - , tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A0 a1) const - { - return result_type(!(a0 == a1)); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/dot.hpp b/inst/include/boost/simd/reduction/functions/scalar/dot.hpp deleted file mode 100644 index 93e72f4..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/dot.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( dot_, tag::cpu_ - , (A0)(A1) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename boost::common_type::type result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return a0*a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/hmsb.hpp b/inst/include/boost/simd/reduction/functions/scalar/hmsb.hpp deleted file mode 100644 index 29f75b4..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/hmsb.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_HMSB_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_HMSB_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hmsb_, tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return b_and(a0, boost::simd::Signmask()) != 0; - } - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/inbtrue.hpp b/inst/include/boost/simd/reduction/functions/scalar/inbtrue.hpp deleted file mode 100644 index 28ddaeb..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/inbtrue.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_INBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( inbtrue_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const & a0) const - { - return is_nez(a0) ? One() : Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( inbtrue_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1 const &) const - { - return is_nez(a0) ? One() : Zero(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/is_included.hpp b/inst/include/boost/simd/reduction/functions/scalar/is_included.hpp deleted file mode 100644 index 6145c0a..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/is_included.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_IS_INCLUDED_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_included_ - , tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(bitwise_or(a0, a1) == a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/is_included_c.hpp b/inst/include/boost/simd/reduction/functions/scalar/is_included_c.hpp deleted file mode 100644 index 12bd361..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/is_included_c.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_IS_INCLUDED_C_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_included_c_ - , tag::cpu_ - , (A0) - , (scalar_< fundamental_ >) - (scalar_< fundamental_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return is_eqz(bitwise_and(a1, a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/is_simd_logical.hpp b/inst/include/boost/simd/reduction/functions/scalar/is_simd_logical.hpp deleted file mode 100644 index ce639cf..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/is_simd_logical.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_IS_SIMD_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_simd_logical_ - , tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0 == genmask(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_simd_logical_ - , tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return true; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/maximum.hpp b/inst/include/boost/simd/reduction/functions/scalar/maximum.hpp deleted file mode 100644 index 5059e15..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/maximum.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_MAXIMUM_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( maximum_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const & a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( maximum_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/minimum.hpp b/inst/include/boost/simd/reduction/functions/scalar/minimum.hpp deleted file mode 100644 index 015afce..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/minimum.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_MINIMUM_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minimum_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const & a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minimum_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/nbtrue.hpp b/inst/include/boost/simd/reduction/functions/scalar/nbtrue.hpp deleted file mode 100644 index 23f3f4a..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/nbtrue.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_NBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nbtrue_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const & a0) const - { - return boost::simd::is_nez(a0) ? One() : Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nbtrue_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1 const &) const - { - return boost::simd::is_nez(a0) ? One() : Zero(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/none.hpp b/inst/include/boost/simd/reduction/functions/scalar/none.hpp deleted file mode 100644 index 113b323..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/none.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_NONE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_NONE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( none_, tag::cpu_ - , (A0) - , (scalar_ < fundamental_ > ) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return is_eqz(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( none_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1 const &) const - { - return is_eqz(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/posmax.hpp b/inst/include/boost/simd/reduction/functions/scalar/posmax.hpp deleted file mode 100644 index 84e7c71..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/posmax.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_POSMAX_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_POSMAX_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( posmax_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&)const - { - return Zero(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/posmin.hpp b/inst/include/boost/simd/reduction/functions/scalar/posmin.hpp deleted file mode 100644 index 8330ccc..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/posmin.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_POSMIN_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_POSMIN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( posmin_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&)const - { - return Zero(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/prod.hpp b/inst/include/boost/simd/reduction/functions/scalar/prod.hpp deleted file mode 100644 index 909879d..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/prod.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_PROD_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_PROD_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( prod_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( prod_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/scalar/sum.hpp b/inst/include/boost/simd/reduction/functions/scalar/sum.hpp deleted file mode 100644 index 2ecdc4e..0000000 --- a/inst/include/boost/simd/reduction/functions/scalar/sum.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_SUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SCALAR_SUM_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sum_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sum_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/all.hpp b/inst/include/boost/simd/reduction/functions/simd/common/all.hpp deleted file mode 100644 index aa541df..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/all.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_ALL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_ALL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( all_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(hmsb(genmask(a0)) == (1ull << meta::cardinal_of::value)-1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/any.hpp b/inst/include/boost/simd/reduction/functions/simd/common/any.hpp deleted file mode 100644 index ecb956e..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/any.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_ANY_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_ANY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( any_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(hmsb(genmask(a0)) != 0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/compare_equal.hpp b/inst/include/boost/simd/reduction/functions/simd/common/compare_equal.hpp deleted file mode 100644 index 62ef3ba..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/compare_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_equal_ - , tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::all(a0 == a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/compare_greater.hpp b/inst/include/boost/simd/reduction/functions/simd/common/compare_greater.hpp deleted file mode 100644 index f8db499..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/compare_greater.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_GREATER_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_greater_ - , tag::cpu_, (X)(A0) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return compare_less(a1, a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/compare_greater_equal.hpp b/inst/include/boost/simd/reduction/functions/simd/common/compare_greater_equal.hpp deleted file mode 100644 index 896c643..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/compare_greater_equal.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_greater_equal_ - , tag::cpu_, (X)(A0) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!compare_less(a0, a1)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/compare_less.hpp b/inst/include/boost/simd/reduction/functions/simd/common/compare_less.hpp deleted file mode 100644 index 403ed22..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/compare_less.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_LESS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_less_, tag::cpu_, (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - for(std::size_t i=0;i::value;++i) - { - if (a0[i] < a1[i]) return result_type(true); - if (a1[i] < a0[i]) return result_type(false); - } - return result_type(false); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/compare_less_equal.hpp b/inst/include/boost/simd/reduction/functions/simd/common/compare_less_equal.hpp deleted file mode 100644 index 2a03f08..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/compare_less_equal.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_less_equal_ - , tag::cpu_, (X)(A0) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!compare_less(a1,a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/compare_not_equal.hpp b/inst/include/boost/simd/reduction/functions/simd/common/compare_not_equal.hpp deleted file mode 100644 index ace8320..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/compare_not_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_not_equal_ - , tag::cpu_, (X)(A0) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return boost::simd::any(a0 != a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/dot.hpp b/inst/include/boost/simd/reduction/functions/simd/common/dot.hpp deleted file mode 100644 index 10e2b4e..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/dot.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_DOT_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_DOT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( dot_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return sum(a0*a1); - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/hmsb.hpp b/inst/include/boost/simd/reduction/functions/simd/common/hmsb.hpp deleted file mode 100644 index 8f80ed6..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/hmsb.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_HMSB_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_HMSB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hmsb_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef std::size_t result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type stype; - - result_type z = 0; - const result_type N = meta::cardinal_of::value; - for(result_type i = 0; i != N; ++i) - { - z |= (bits(a0[i]) >> (sizeof(stype)*CHAR_BIT - 1)) << i; - } - return z; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hmsb_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::hmsb(boost::simd::genmask(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/inbtrue.hpp b/inst/include/boost/simd/reduction/functions/simd/common/inbtrue.hpp deleted file mode 100644 index 9c94ab2..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/inbtrue.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_INBTRUE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( inbtrue_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return sum(if_one_else_zero(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( inbtrue_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - (scalar_< integer_ > ) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1 const &) const - { - return sum(if_one_else_zero(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/is_included.hpp b/inst/include/boost/simd/reduction/functions/simd/common/is_included.hpp deleted file mode 100644 index 49c75cb..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/is_included.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_IS_INCLUDED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_included_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 const& a1) const - { - return simd::all(eq(b_or(a0, a1), a1)); - } - }; - -} } } -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/is_included_c.hpp b/inst/include/boost/simd/reduction/functions/simd/common/is_included_c.hpp deleted file mode 100644 index a15ef2b..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/is_included_c.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_IS_INCLUDED_C_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_included_c_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A0 const& a1) const - { - return none(bitwise_and(a1, a0)); - } - }; - -} } } -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/is_simd_logical.hpp b/inst/include/boost/simd/reduction/functions/simd/common/is_simd_logical.hpp deleted file mode 100644 index ec5c052..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/is_simd_logical.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_IS_SIMD_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_simd_logical_ - , tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename boost::dispatch::meta::as_integer::type iA0; - iA0 tmp = bitwise_cast(a0); - return result_type(simd::all(l_or(is_equal(tmp, Mone()), is_eqz(tmp)))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_simd_logical_ - , tag::cpu_, (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return True(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/maximum.hpp b/inst/include/boost/simd/reduction/functions/simd/common/maximum.hpp deleted file mode 100644 index 57b7ee1..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/maximum.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_MAXIMUM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( maximum_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename A0::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return extract<0>(splatted_maximum(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/minimum.hpp b/inst/include/boost/simd/reduction/functions/simd/common/minimum.hpp deleted file mode 100644 index 387560b..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/minimum.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_MINIMUM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minimum_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename A0::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return extract<0>(splatted_minimum(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/nbtrue.hpp b/inst/include/boost/simd/reduction/functions/simd/common/nbtrue.hpp deleted file mode 100644 index f06e770..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/nbtrue.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_NBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nbtrue_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_arithmetic::type arith_t; - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return sum(if_one_else_zero(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nbtrue_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>)) - (scalar_< integer_ > ) - ) - { - typedef typename meta::as_arithmetic::type arith_t; - typedef typename meta::scalar_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const & a0, A1 const &) const - { - return sum(if_one_else_zero(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/none.hpp b/inst/include/boost/simd/reduction/functions/simd/common/none.hpp deleted file mode 100644 index c8b6401..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/none.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_NONE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_NONE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( none_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::logical_not(boost::simd::any(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/posmax.hpp b/inst/include/boost/simd/reduction/functions/simd/common/posmax.hpp deleted file mode 100644 index f5e8071..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/posmax.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_POSMAX_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_POSMAX_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( posmax_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type stype; - - result_type p = 0; - stype m = a0[0]; - - // TODO UNROLL - for(size_t i=1; i < boost::simd::meta::cardinal_of::value; i++) - { - if (m < a0[i]) - { - m = a0[i]; - p = i; - } - } - return p; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/posmin.hpp b/inst/include/boost/simd/reduction/functions/simd/common/posmin.hpp deleted file mode 100644 index 8b0d6fa..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/posmin.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_POSMIN_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_POSMIN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( posmin_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type stype; - - result_type p = 0; - stype m = a0[0]; - - // TODO UNROLL - for(size_t i=1; i < boost::simd::meta::cardinal_of::value; i++) - { - if (m > a0[i]) - { - m = a0[i]; - p = i; - } - } - return p; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/prod.hpp b/inst/include/boost/simd/reduction/functions/simd/common/prod.hpp deleted file mode 100644 index b8f10b0..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/prod.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_PROD_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_PROD_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( prod_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename A0::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return extract<0>(splatted_prod(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/common/sum.hpp b/inst/include/boost/simd/reduction/functions/simd/common/sum.hpp deleted file mode 100644 index 53d701a..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/common/sum.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_SUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_COMMON_SUM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sum_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename A0::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return extract<0>(splatted_sum(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/all.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/all.hpp deleted file mode 100644 index acc985d..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/all.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_ALL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_ALL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (all_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a00 = _mm256_extractf128_si256(a0, 0); - if (!simd::all(a00)) return False(); - svtype a01 = _mm256_extractf128_si256(a0, 1); - return simd::all(a01); - } - }; - -} } } -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/any.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/any.hpp deleted file mode 100644 index 7168e1c..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/any.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_ANY_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_ANY_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (any_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::as_arithmetic::type aA0; - typedef typename dispatch::meta::as_integer::type iA0; - return result_type( _mm256_testz_si256( bitwise_cast(a0) - , Allbits() - ) == 0 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT (any_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type iA0; - return result_type(boost::simd::any(bitwise_cast(boost::simd::abs(a0)))); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/dot.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/dot.hpp deleted file mode 100644 index 0c1b152..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/dot.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_DOT_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_DOT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( dot_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::scalar_of::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 r = _mm256_dp_ps(a0, a1, 0xFF); - return r[0]+r[4]; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/hmsb.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/hmsb.hpp deleted file mode 100644 index 4e76867..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/hmsb.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_HMSB_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_HMSB_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hmsb_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < type8_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename meta::retarget::type r_t; - - r_t a00 = _mm256_extractf128_si256(a0, 0); - r_t a01 = _mm256_extractf128_si256(a0, 1); - - return result_type(_mm_movemask_epi8(a00)) - | ( result_type(_mm_movemask_epi8(a01)) << 16 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hmsb_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < type16_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename meta::retarget::type r_t; - - r_t a00 = _mm256_extractf128_si256(a0, 0); - r_t a01 = _mm256_extractf128_si256(a0, 1); - - return hmsb(a00) | (hmsb(a01)<<8); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hmsb_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < type32_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename dispatch::meta::as_floating::type vfloat; - return _mm256_movemask_ps(bitwise_cast(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hmsb_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < type64_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename dispatch::meta::as_floating::type vdouble; - return _mm256_movemask_pd(bitwise_cast(a0)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/inbtrue.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/inbtrue.hpp deleted file mode 100644 index c70fdc5..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/inbtrue.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_INBTRUE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include -#include -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (inbtrue_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef std::size_t result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a00 = _mm256_extractf128_si256(a0, 0); - svtype a01 = _mm256_extractf128_si256(a0, 1); - return inbtrue(a00)+inbtrue(a01); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is double -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (inbtrue_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef std::size_t result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - std::size_t r = _mm256_movemask_pd(is_nez(a0)); - return (r&1)+(r>>1&1)+((r>>2)&1)+(r>>3); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is float -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (inbtrue_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef std::size_t result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - std::size_t r = _mm256_movemask_ps(is_nez(a0)); - return (r&1)+((r>>1)&1)+((r>>2)&1)+(r>>3&1)+((r>>4)&1)+((r>>5)&1)+(r>>6&1)+(r>>7); - // typedef typename dispatch::meta::as_floating::type type; - // return __builtin_popcount(_mm_movemask_ps(isnez(cast(a0)))); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/is_included.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/is_included.hpp deleted file mode 100644 index 53d28f0..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/is_included.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_IS_INCLUDED_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_included_, boost::simd::tag::avx_ - , (A0) - , ((simd_, boost::simd::tag::avx_>)) - ((simd_, boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const& a0,A0 const& a1) const - { - return result_type(_mm256_testc_si256(a1, a0) != 0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_included_, boost::simd::tag::avx_ - , (A0) - , ((simd_, boost::simd::tag::avx_>)) - ((simd_, boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const& a0,A0 const& a1) const - { - typedef typename boost::dispatch::meta::as_integer::type iA0; - return is_included(bitwise_cast(a0), bitwise_cast(a1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/is_included_c.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/is_included_c.hpp deleted file mode 100644 index 3593bf2..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/is_included_c.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_IS_INCLUDED_C_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_included_c_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const& a0,A0 const& a1) const - { - return result_type( _mm256_testz_si256(a1, a0) != 0 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_included_c_, boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const& a0,A0 const& a1) const - { - typedef typename boost::dispatch::meta::as_integer::type iA0; - return is_included_c(bitwise_cast(a0), bitwise_cast(a1)); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/nbtrue.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/nbtrue.hpp deleted file mode 100644 index d251c46..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/nbtrue.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_NBTRUE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (nbtrue_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a00 = _mm256_extractf128_si256(a0, 0); - svtype a01 = _mm256_extractf128_si256(a0, 1); - return nbtrue(a00)+nbtrue(a01); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is double -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (nbtrue_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - int r = _mm256_movemask_pd(is_nez(a0)); - return double((r&1)+(r>>1&1)+((r>>2)&1)+(r>>3)); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is float -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (nbtrue_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - int r = _mm256_movemask_ps(is_nez(a0)); - return result_type((r&1)+((r>>1)&1)+((r>>2)&1)+(r>>3&1)+((r>>4)&1)+((r>>5)&1)+(r>>6&1)+(r>>7)); - // return __builtin_popcount(_mm_movemask_ps(isnez(cast(a0)))); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/none.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/none.hpp deleted file mode 100644 index ce714b9..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/none.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_NONE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_NONE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (none_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::as_arithmetic::type aA0; - typedef typename dispatch::meta::as_integer::type iA0; - return result_type( _mm256_testz_si256( bitwise_cast(a0) - , Allbits() - ) != 0 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT (none_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type iA0; - return result_type(none(bitwise_cast(boost::simd::abs(a0)))) ; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/avx/sum.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/avx/sum.hpp deleted file mode 100644 index a4e337e..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/avx/sum.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_SUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_AVX_SUM_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sum_, tag::cpu_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename A0::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(__m256d a0) const - { - __m256d half_sum = _mm256_hadd_pd( a0, a0 ); - __m128d sum = _mm_add_pd( _mm256_extractf128_pd( half_sum, 0 ) - , _mm256_extractf128_pd( half_sum, 1 ) - ); - return _mm_cvtsd_f64(sum); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sum_, tag::cpu_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_FORCEINLINE result_type operator()(__m256 a0) const - { - A0 r = _mm256_dp_ps(a0, One(), 0xFF); - return r[0]+r[4]; - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/common/compare_less.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/common/compare_less.hpp deleted file mode 100644 index 3c49205..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/common/compare_less.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_COMMON_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_COMMON_COMPARE_LESS_HPP_INCLUDED -#ifdef BOOST_SIMD_SSE_FAMILY - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_less_ - , boost::simd::tag::sse2_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - A0 const r0 = reverse(a0) , r1 = reverse(a1); - std::size_t const mlt = hmsb(r0 < r1) , mgt = hmsb(r0 > r1); - - return result_type( (mlt > mgt) && mlt ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/sse2/all.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/sse2/all.hpp deleted file mode 100644 index 2109c5f..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/sse2/all.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE2_ALL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE2_ALL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (all_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type(_mm_movemask_epi8(genmask(a0)) == 0xFFFF); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/sse2/hmsb.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/sse2/hmsb.hpp deleted file mode 100644 index fecdad0..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/sse2/hmsb.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE2_HMSB_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE2_HMSB_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hmsb_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < type8_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return _mm_movemask_epi8(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hmsb_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < type32_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename dispatch::meta::as_floating::type type; - return _mm_movemask_ps(bitwise_cast(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hmsb_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < type64_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename dispatch::meta::as_floating::type type; - return _mm_movemask_pd(bitwise_cast(a0)); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/sse2/inbtrue.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/sse2/inbtrue.hpp deleted file mode 100644 index 0079b44..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/sse2/inbtrue.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE2_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE2_INBTRUE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // Implementation when type A0 is arithmetic_ - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( inbtrue_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef std::size_t result_type; - typedef typename meta::make_dependent::type base; - typedef simd::native i8type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - i8type tmp = bitwise_cast(genmask(a0)); - return boost::simd::popcnt(_mm_movemask_epi8(tmp)) - * boost::simd::meta::cardinal_of::value >> 4; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( inbtrue_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef std::size_t result_type; - typedef typename meta::make_dependent::type base; - typedef simd::native i8type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - i8type tmp = bitwise_cast(genmask(a0)); - return boost::simd::popcnt(_mm_movemask_epi8(tmp)) - * boost::simd::meta::cardinal_of::value >> 4; - } - }; - - //============================================================================ - // Implementation when type A0 is double - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( inbtrue_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef std::size_t result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - int32_t r = _mm_movemask_pd(genmask(a0)); - return (r&1)+(r>>1); - } - }; - - //============================================================================ - // Implementation when type A0 is float - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( inbtrue_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef std::size_t result_type; - typedef typename meta::make_dependent::type type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - type r = _mm_movemask_ps(genmask(a0)); - return (r&1)+((r>>1)&1)+((r>>2)&1)+(r>>3); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/sse2/nbtrue.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/sse2/nbtrue.hpp deleted file mode 100644 index 71cc5c7..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/sse2/nbtrue.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE2_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE2_NBTRUE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // Implementation when type A0 is arithmetic_ - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( nbtrue_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type result_type; - typedef typename meta::make_dependent::type base; - typedef simd::native i8type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - i8type tmp = bitwise_cast(genmask(a0)); - return result_type(boost::simd::popcnt(_mm_movemask_epi8(tmp)) - * boost::simd::meta::cardinal_of::value >> 4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nbtrue_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type result_type; - typedef typename meta::make_dependent::type base; - typedef simd::native i8type; - - BOOST_SIMD_FUNCTOR_CALL(1) - { - i8type tmp = bitwise_cast(genmask(a0)); - return result_type(boost::simd::popcnt(_mm_movemask_epi8(tmp)) - * boost::simd::meta::cardinal_of::value >> 4); - } - }; - - //============================================================================ - // Implementation when type A0 is double - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( nbtrue_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef double result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - int r = _mm_movemask_pd(genmask(a0)); - return double((r&1)+(r>>1)); - } - }; - - //============================================================================ - // Implementation when type A0 is float - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( nbtrue_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef float result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - int r = _mm_movemask_ps(genmask(a0)); - return float((r&1)+((r>>1)&1)+((r>>2)&1)+(r>>3)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/any.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/any.hpp deleted file mode 100644 index b6dc6b9..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/any.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_ANY_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_ANY_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (any_, boost::simd::tag::sse4_1_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::as_arithmetic::type aA0; - typedef typename dispatch::meta::as_integer::type iA0; - return result_type(!result_type(_mm_testz_si128(bitwise_cast(a0), Allbits()))); - } - }; - - BOOST_DISPATCH_IMPLEMENT (any_, boost::simd::tag::sse4_1_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type iA0; - return result_type(boost::simd::any(bitwise_cast(boost::simd::abs(a0)))); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/dot.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/dot.hpp deleted file mode 100644 index 553d067..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/dot.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_DOT_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_DOT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (dot_, boost::simd::tag::sse4_1_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 r = _mm_dp_pd(a0, a1, 0xFF); - return r[0]; - } - }; - - BOOST_DISPATCH_IMPLEMENT (dot_, boost::simd::tag::sse4_1_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - A0 r = _mm_dp_ps(a0, a1, 0xFF); - return r[0]; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/is_included.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/is_included.hpp deleted file mode 100644 index 223652d..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/is_included.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_IS_INCLUDED_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_included_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_, boost::simd::tag::sse_>)) - ((simd_, boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const& a0,A0 const& a1) const - { - return result_type(_mm_testc_si128(a1, a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_included_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_, boost::simd::tag::sse_>)) - ((simd_, boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const& a0,A0 const& a1) const - { - typedef typename boost::dispatch::meta::as_integer::type iA0; - return is_included(bitwise_cast(a0), bitwise_cast(a1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/is_included_c.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/is_included_c.hpp deleted file mode 100644 index ed28eda..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/is_included_c.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_IS_INCLUDED_C_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_included_c_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_, boost::simd::tag::sse_>)) - ((simd_, boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const& a0,A0 const& a1) const - { - return result_type(_mm_testz_si128(a1, a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_included_c_, boost::simd::tag::sse4_1_ - , (A0) - , ((simd_, boost::simd::tag::sse_>)) - ((simd_, boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - inline result_type operator()(A0 const& a0,A0 const& a1) const - { - typedef typename boost::dispatch::meta::as_integer::type iA0; - return is_included_c(bitwise_cast(a0), bitwise_cast(a1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/none.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/none.hpp deleted file mode 100644 index f1133a3..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/sse4_1/none.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompnoneing file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_NONE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSE4_1_NONE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (none_, boost::simd::tag::sse4_1_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::as_arithmetic::type aA0; - typedef typename dispatch::meta::as_integer::type iA0; - return result_type(_mm_testz_si128(bitwise_cast(a0), Allbits())); - } - }; - - BOOST_DISPATCH_IMPLEMENT (none_, boost::simd::tag::sse4_1_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_integer::type iA0; - return result_type(none(bitwise_cast(boost::simd::abs(a0)))) ; - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/sse/ssse3/hmsb.hpp b/inst/include/boost/simd/reduction/functions/simd/sse/ssse3/hmsb.hpp deleted file mode 100644 index 905a37f..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/sse/ssse3/hmsb.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSSE3_HMSB_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_SSE_SSSE3_HMSB_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hmsb_ - , boost::simd::tag::ssse3_ - , (A0) - , ((simd_ < type16_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename A0::template rebind::type s8type; - - __m128i mask = _mm_setr_epi8 ( 0x01,0x03,0x05,0x07,0x09,0x0B,0x0D,0x0F - , -128,-128,-128,-128,-128,-128,-128,-128 - ); - - return _mm_movemask_epi8(_mm_shuffle_epi8(bitwise_cast(a0),mask)); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/all.hpp b/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/all.hpp deleted file mode 100644 index 5a46997..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/all.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_ALL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_ALL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( all_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::all( is_nez(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( all_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < logical_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type( vec_all_eq( a0(), True()() ) ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/any.hpp b/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/any.hpp deleted file mode 100644 index 359cf0d..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/any.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_ANY_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_ANY_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( any_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::any( is_nez(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( any_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < logical_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type( vec_any_eq( a0(), True()() ) ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/compare_equal.hpp b/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/compare_equal.hpp deleted file mode 100644 index 6f7622d..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/compare_equal.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_COMPARE_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_equal_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(vec_all_eq(a0(),a1())); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/compare_not_equal.hpp b/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/compare_not_equal.hpp deleted file mode 100644 index 9e013e3..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/compare_not_equal.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_COMPARE_NOT_EQUAL_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_not_equal_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return result_type(vec_any_ne(a0(),a1())); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/none.hpp b/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/none.hpp deleted file mode 100644 index 80ca450..0000000 --- a/inst/include/boost/simd/reduction/functions/simd/vmx/altivec/none.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_NONE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SIMD_VMX_ALTIVEC_NONE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( none_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return boost::simd::none( is_nez(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( none_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < logical_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return result_type( vec_all_eq( a0(), False()() ) ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/reduction/functions/sum.hpp b/inst/include/boost/simd/reduction/functions/sum.hpp deleted file mode 100644 index 3cd8fb0..0000000 --- a/inst/include/boost/simd/reduction/functions/sum.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_REDUCTION_FUNCTIONS_SUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_FUNCTIONS_SUM_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief sum generic tag - - Represents the sum function in generic contexts. - - @par Models: - Hierarchy - **/ - struct sum_ : ext::reduction_ - { - /// @brief Parent hierarchy - typedef ext::reduction_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sum_; - } - /*! - Returns the sum of the elements of the SIMD vector - - @par Semantic: - - For every parameter of type T0 - - @code - scalar r = sum(a0); - @endcode - - is similar to: - - @code - scalar r = Zero; - for(result_type i = 0; i != meta::cardinal_of; ++i) - r += a0[i]; - @endcode - - @param a0 - - @return a value of the scalar type associated to the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sum_, sum, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sum_, sum, 2) - -} } -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/all.hpp b/inst/include/boost/simd/reduction/include/functions/all.hpp deleted file mode 100644 index 4f30737..0000000 --- a/inst/include/boost/simd/reduction/include/functions/all.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_ALL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_ALL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/any.hpp b/inst/include/boost/simd/reduction/include/functions/any.hpp deleted file mode 100644 index 7b32e62..0000000 --- a/inst/include/boost/simd/reduction/include/functions/any.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_ANY_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_ANY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/compare_equal.hpp b/inst/include/boost/simd/reduction/include/functions/compare_equal.hpp deleted file mode 100644 index a7cc7ca..0000000 --- a/inst/include/boost/simd/reduction/include/functions/compare_equal.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/compare_greater.hpp b/inst/include/boost/simd/reduction/include/functions/compare_greater.hpp deleted file mode 100644 index 21fc324..0000000 --- a/inst/include/boost/simd/reduction/include/functions/compare_greater.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/compare_greater_equal.hpp b/inst/include/boost/simd/reduction/include/functions/compare_greater_equal.hpp deleted file mode 100644 index fd95a7b..0000000 --- a/inst/include/boost/simd/reduction/include/functions/compare_greater_equal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/compare_less.hpp b/inst/include/boost/simd/reduction/include/functions/compare_less.hpp deleted file mode 100644 index 7ffcf74..0000000 --- a/inst/include/boost/simd/reduction/include/functions/compare_less.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/compare_less_equal.hpp b/inst/include/boost/simd/reduction/include/functions/compare_less_equal.hpp deleted file mode 100644 index 79f54ee..0000000 --- a/inst/include/boost/simd/reduction/include/functions/compare_less_equal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/compare_not_equal.hpp b/inst/include/boost/simd/reduction/include/functions/compare_not_equal.hpp deleted file mode 100644 index 790af22..0000000 --- a/inst/include/boost/simd/reduction/include/functions/compare_not_equal.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/dot.hpp b/inst/include/boost/simd/reduction/include/functions/dot.hpp deleted file mode 100644 index 63f8006..0000000 --- a/inst/include/boost/simd/reduction/include/functions/dot.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_DOT_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_DOT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/hmsb.hpp b/inst/include/boost/simd/reduction/include/functions/hmsb.hpp deleted file mode 100644 index b65867f..0000000 --- a/inst/include/boost/simd/reduction/include/functions/hmsb.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_HMSB_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_HMSB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/inbtrue.hpp b/inst/include/boost/simd/reduction/include/functions/inbtrue.hpp deleted file mode 100644 index 461cb62..0000000 --- a/inst/include/boost/simd/reduction/include/functions/inbtrue.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_INBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/is_included.hpp b/inst/include/boost/simd/reduction/include/functions/is_included.hpp deleted file mode 100644 index d4d177f..0000000 --- a/inst/include/boost/simd/reduction/include/functions/is_included.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/is_included_c.hpp b/inst/include/boost/simd/reduction/include/functions/is_included_c.hpp deleted file mode 100644 index 41721cf..0000000 --- a/inst/include/boost/simd/reduction/include/functions/is_included_c.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/is_simd_logical.hpp b/inst/include/boost/simd/reduction/include/functions/is_simd_logical.hpp deleted file mode 100644 index 95a84ce..0000000 --- a/inst/include/boost/simd/reduction/include/functions/is_simd_logical.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/maximum.hpp b/inst/include/boost/simd/reduction/include/functions/maximum.hpp deleted file mode 100644 index 650cc66..0000000 --- a/inst/include/boost/simd/reduction/include/functions/maximum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_MAXIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/minimum.hpp b/inst/include/boost/simd/reduction/include/functions/minimum.hpp deleted file mode 100644 index 315fa5a..0000000 --- a/inst/include/boost/simd/reduction/include/functions/minimum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_MINIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/nbtrue.hpp b/inst/include/boost/simd/reduction/include/functions/nbtrue.hpp deleted file mode 100644 index e7bf625..0000000 --- a/inst/include/boost/simd/reduction/include/functions/nbtrue.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_NBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/none.hpp b/inst/include/boost/simd/reduction/include/functions/none.hpp deleted file mode 100644 index f4a3e02..0000000 --- a/inst/include/boost/simd/reduction/include/functions/none.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_NONE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_NONE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/posmax.hpp b/inst/include/boost/simd/reduction/include/functions/posmax.hpp deleted file mode 100644 index 7101a88..0000000 --- a/inst/include/boost/simd/reduction/include/functions/posmax.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_POSMAX_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_POSMAX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/posmin.hpp b/inst/include/boost/simd/reduction/include/functions/posmin.hpp deleted file mode 100644 index 5cd6e1d..0000000 --- a/inst/include/boost/simd/reduction/include/functions/posmin.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_POSMIN_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_POSMIN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/prod.hpp b/inst/include/boost/simd/reduction/include/functions/prod.hpp deleted file mode 100644 index 0ead1b6..0000000 --- a/inst/include/boost/simd/reduction/include/functions/prod.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_PROD_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_PROD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/all.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/all.hpp deleted file mode 100644 index 14e3520..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/all.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_ALL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_ALL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/any.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/any.hpp deleted file mode 100644 index ae6fb02..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/any.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_ANY_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_ANY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/compare_equal.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/compare_equal.hpp deleted file mode 100644 index d516f3d..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/compare_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/compare_greater.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/compare_greater.hpp deleted file mode 100644 index c93bfba..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/compare_greater.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/compare_greater_equal.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/compare_greater_equal.hpp deleted file mode 100644 index cf43f22..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/compare_greater_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/compare_less.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/compare_less.hpp deleted file mode 100644 index f7f6b36..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/compare_less.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/compare_less_equal.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/compare_less_equal.hpp deleted file mode 100644 index 8406cd1..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/compare_less_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/compare_not_equal.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/compare_not_equal.hpp deleted file mode 100644 index 9c90f51..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/compare_not_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/dot.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/dot.hpp deleted file mode 100644 index 1405058..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/dot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/hmsb.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/hmsb.hpp deleted file mode 100644 index 79dee87..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/hmsb.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_HMSB_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_HMSB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/inbtrue.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/inbtrue.hpp deleted file mode 100644 index dc9eaa3..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/inbtrue.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_INBTRUE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/is_included.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/is_included.hpp deleted file mode 100644 index a5dc1ec..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/is_included.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/is_included_c.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/is_included_c.hpp deleted file mode 100644 index 4b929de..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/is_included_c.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_C_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/is_simd_logical.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/is_simd_logical.hpp deleted file mode 100644 index a347872..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/is_simd_logical.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_SIMD_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/maximum.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/maximum.hpp deleted file mode 100644 index 47cdc65..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/maximum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_MAXIMUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/minimum.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/minimum.hpp deleted file mode 100644 index 467c369..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/minimum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_MINIMUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/nbtrue.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/nbtrue.hpp deleted file mode 100644 index 3259fdf..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/nbtrue.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_NBTRUE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/none.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/none.hpp deleted file mode 100644 index f2915f0..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/none.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_NONE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_NONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/posmax.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/posmax.hpp deleted file mode 100644 index 0e70ff5..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/posmax.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_POSMAX_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_POSMAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/posmin.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/posmin.hpp deleted file mode 100644 index 51bab73..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/posmin.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_POSMIN_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_POSMIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/prod.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/prod.hpp deleted file mode 100644 index b5479e8..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/prod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_PROD_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_PROD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/scalar/sum.hpp b/inst/include/boost/simd/reduction/include/functions/scalar/sum.hpp deleted file mode 100644 index 5017a6c..0000000 --- a/inst/include/boost/simd/reduction/include/functions/scalar/sum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_SUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_SUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/all.hpp b/inst/include/boost/simd/reduction/include/functions/simd/all.hpp deleted file mode 100644 index c5f225a..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/all.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_ALL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_ALL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/any.hpp b/inst/include/boost/simd/reduction/include/functions/simd/any.hpp deleted file mode 100644 index 688934f..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/any.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_ANY_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_ANY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/compare_equal.hpp b/inst/include/boost/simd/reduction/include/functions/simd/compare_equal.hpp deleted file mode 100644 index e11eb8e..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/compare_equal.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/compare_greater.hpp b/inst/include/boost/simd/reduction/include/functions/simd/compare_greater.hpp deleted file mode 100644 index 7cb1216..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/compare_greater.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/compare_greater_equal.hpp b/inst/include/boost/simd/reduction/include/functions/simd/compare_greater_equal.hpp deleted file mode 100644 index e14b1cb..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/compare_greater_equal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/compare_less.hpp b/inst/include/boost/simd/reduction/include/functions/simd/compare_less.hpp deleted file mode 100644 index 47ef474..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/compare_less.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/compare_less_equal.hpp b/inst/include/boost/simd/reduction/include/functions/simd/compare_less_equal.hpp deleted file mode 100644 index 2193fdc..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/compare_less_equal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/compare_not_equal.hpp b/inst/include/boost/simd/reduction/include/functions/simd/compare_not_equal.hpp deleted file mode 100644 index 3183df3..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/compare_not_equal.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/dot.hpp b/inst/include/boost/simd/reduction/include/functions/simd/dot.hpp deleted file mode 100644 index cefeb87..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/dot.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_DOT_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_DOT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/hmsb.hpp b/inst/include/boost/simd/reduction/include/functions/simd/hmsb.hpp deleted file mode 100644 index 8f8f52c..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/hmsb.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_HMSB_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_HMSB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/inbtrue.hpp b/inst/include/boost/simd/reduction/include/functions/simd/inbtrue.hpp deleted file mode 100644 index 158d8d6..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/inbtrue.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_INBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_INBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/is_included.hpp b/inst/include/boost/simd/reduction/include/functions/simd/is_included.hpp deleted file mode 100644 index dc0a36f..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/is_included.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/is_included_c.hpp b/inst/include/boost/simd/reduction/include/functions/simd/is_included_c.hpp deleted file mode 100644 index 21b21ca..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/is_included_c.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_C_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_C_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/is_simd_logical.hpp b/inst/include/boost/simd/reduction/include/functions/simd/is_simd_logical.hpp deleted file mode 100644 index 61642b4..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/is_simd_logical.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_SIMD_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/maximum.hpp b/inst/include/boost/simd/reduction/include/functions/simd/maximum.hpp deleted file mode 100644 index 529f4ae..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/maximum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_MAXIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/minimum.hpp b/inst/include/boost/simd/reduction/include/functions/simd/minimum.hpp deleted file mode 100644 index 3544047..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/minimum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_MINIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/nbtrue.hpp b/inst/include/boost/simd/reduction/include/functions/simd/nbtrue.hpp deleted file mode 100644 index 6056756..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/nbtrue.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_NBTRUE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_NBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/none.hpp b/inst/include/boost/simd/reduction/include/functions/simd/none.hpp deleted file mode 100644 index 88e65fb..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/none.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_NONE_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_NONE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/posmax.hpp b/inst/include/boost/simd/reduction/include/functions/simd/posmax.hpp deleted file mode 100644 index 5493cbb..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/posmax.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_POSMAX_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_POSMAX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/posmin.hpp b/inst/include/boost/simd/reduction/include/functions/simd/posmin.hpp deleted file mode 100644 index f03cdd4..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/posmin.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_POSMIN_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_POSMIN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/prod.hpp b/inst/include/boost/simd/reduction/include/functions/simd/prod.hpp deleted file mode 100644 index 95e30f6..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/prod.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_PROD_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_PROD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/simd/sum.hpp b/inst/include/boost/simd/reduction/include/functions/simd/sum.hpp deleted file mode 100644 index 171ebd5..0000000 --- a/inst/include/boost/simd/reduction/include/functions/simd/sum.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_SUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SIMD_SUM_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/include/functions/sum.hpp b/inst/include/boost/simd/reduction/include/functions/sum.hpp deleted file mode 100644 index 2c774f2..0000000 --- a/inst/include/boost/simd/reduction/include/functions/sum.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SUM_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_INCLUDE_FUNCTIONS_SUM_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/reduction/reduction.hpp b/inst/include/boost/simd/reduction/reduction.hpp deleted file mode 100644 index d0e5d00..0000000 --- a/inst/include/boost/simd/reduction/reduction.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_REDUCTION_REDUCTION_HPP_INCLUDED -#define BOOST_SIMD_REDUCTION_REDUCTION_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/config.hpp b/inst/include/boost/simd/sdk/config.hpp deleted file mode 100644 index 2623338..0000000 --- a/inst/include/boost/simd/sdk/config.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_HPP_INCLUDED - -#if defined(__FAST_MATH__) && !defined(BOOST_SIMD_NO_NANS) -#define BOOST_SIMD_NO_NANS -#endif - -#if defined(__FAST_MATH__) && !defined(BOOST_SIMD_NO_MINUSZERO) -#define BOOST_SIMD_NO_MINUSZERO -#endif - -#if defined(__FAST_MATH__) && !defined(BOOST_SIMD_NO_INFINITIES) -#define BOOST_SIMD_NO_INFINITIES -#endif - -#if defined(__FAST_MATH__) && !defined(BOOST_SIMD_NO_DENORMALS) -#define BOOST_SIMD_NO_DENORMALS -#endif - -#if defined(BOOST_SIMD_NO_NANS) && defined(BOOST_SIMD_NO_INFINITIES) && !defined(BOOST_SIMD_NO_INVALIDS) -#define BOOST_SIMD_NO_INVALIDS -#elif defined(BOOST_SIMD_NO_INVALIDS) -#define BOOST_SIMD_NO_NANS -#define BOOST_SIMD_NO_INFINITIES -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/arch.hpp b/inst/include/boost/simd/sdk/config/arch.hpp deleted file mode 100644 index c636b06..0000000 --- a/inst/include/boost/simd/sdk/config/arch.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_ARCH_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_ARCH_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Architecture configuration headers -// Defines architecture symbols for architecture related variation point. -// Documentation: http://nt2.lri.fr/sdk/config/architecture.html -//////////////////////////////////////////////////////////////////////////////// -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// Include custom specific architectures from extensions folders -//////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// Some other architecture specific informations -//////////////////////////////////////////////////////////////////////////////// -#include -//#include - -#endif diff --git a/inst/include/boost/simd/sdk/config/arch/arm.hpp b/inst/include/boost/simd/sdk/config/arch/arm.hpp deleted file mode 100644 index 5cd5d7b..0000000 --- a/inst/include/boost/simd/sdk/config/arch/arm.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_ARCH_ARM_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_ARCH_ARM_HPP_INCLUDED - -#if !defined(BOOST_SIMD_ARCH) - - #if defined(__arm__) || defined(_ARM) || defined(DOXYGEN_ONLY) - #define BOOST_SIMD_ARCH_ARM - #define BOOST_SIMD_ARCH "ARM" - #endif - - #if defined(__aarch64__) - #define BOOST_SIMD_ARCH_ARM - #define BOOST_SIMD_ARCH_ARM_64 - #define BOOST_SIMD_ARCH "AArch64" - #endif - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/config/arch/ia64.hpp b/inst/include/boost/simd/sdk/config/arch/ia64.hpp deleted file mode 100644 index 9842d40..0000000 --- a/inst/include/boost/simd/sdk/config/arch/ia64.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_ARCH_IA64_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_ARCH_IA64_HPP_INCLUDED - -#if !defined(BOOST_SIMD_ARCH) - #if defined(__ia64__) || defined(_IA64) || defined(__IA64__) ||\ - defined(__ia64) || defined(_M_IA64) || defined(DOXYGEN_ONLY) \ - - #define BOOST_SIMD_ARCH_IA64 - #define BOOST_SIMD_ARCH "Intel 64" - - #endif -#endif -#endif diff --git a/inst/include/boost/simd/sdk/config/arch/none.hpp b/inst/include/boost/simd/sdk/config/arch/none.hpp deleted file mode 100644 index 00c976e..0000000 --- a/inst/include/boost/simd/sdk/config/arch/none.hpp +++ /dev/null @@ -1,17 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_ARCH_NONE_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_ARCH_NONE_HPP_INCLUDED - -#if !defined(BOOST_SIMD_ARCH) - #define BOOST_SIMD_ARCH_UNKNOWN - #define BOOST_SIMD_ARCH "unknown" -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/arch/powerpc.hpp b/inst/include/boost/simd/sdk/config/arch/powerpc.hpp deleted file mode 100644 index 7c64f60..0000000 --- a/inst/include/boost/simd/sdk/config/arch/powerpc.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_ARCH_POWERPC_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_ARCH_POWERPC_HPP_INCLUDED - -#if !defined(BOOST_SIMD_ARCH) - #if defined(__powerpc) || defined(__powerpc__) \ - || defined(__POWERPC__) || defined(__ppc__) \ - || defined(_M_PPC) || defined(_ARCH_PPC) \ - || defined(DOXYGEN_ONLY) - - #define BOOST_SIMD_ARCH_POWERPC - #define BOOST_SIMD_ARCH "Power PC" - - #endif -#endif -#endif diff --git a/inst/include/boost/simd/sdk/config/arch/stack.hpp b/inst/include/boost/simd/sdk/config/arch/stack.hpp deleted file mode 100644 index 58432f8..0000000 --- a/inst/include/boost/simd/sdk/config/arch/stack.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_ARCH_STACK_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_ARCH_STACK_HPP_INCLUDED - -#include -#include - -// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16660 -#if defined( __arm__ ) || defined( _ARM ) - #if defined( __APPLE__ ) - // http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html - #define BOOST_SIMD_ARCH_ALIGNMENT 4 - #else - // http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0042d/index.html - #define BOOST_SIMD_ARCH_ALIGNMENT 8 - #endif -#elif (defined(__clang__) || defined( __GNUC__ ) ) && defined( __i386__ ) - #define BOOST_SIMD_ARCH_ALIGNMENT 16 -#elif defined( _WIN32 ) - // http://msdn.microsoft.com/en-us/library/aa290049(v=vs.71).aspx - #if defined( _WIN64 ) - #define BOOST_SIMD_ARCH_ALIGNMENT 16 - #else - #define BOOST_SIMD_ARCH_ALIGNMENT 4 - #endif -#else -#define BOOST_SIMD_ARCH_ALIGNMENT 16 -#endif - -// Fix for GCC Bug 35271 : http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35271 -#if defined( __GNUC__ ) && (BOOST_SIMD_GCC_VERSION < 40203) -#define BOOST_SIMD_ALLOCA_ALIGNMENT 8 -#else -#define BOOST_SIMD_ALLOCA_ALIGNMENT BOOST_SIMD_ARCH_ALIGNMENT -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/arch/x86.hpp b/inst/include/boost/simd/sdk/config/arch/x86.hpp deleted file mode 100644 index 18145e6..0000000 --- a/inst/include/boost/simd/sdk/config/arch/x86.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_ARCH_X86_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_ARCH_X86_HPP_INCLUDED - -#if !defined(BOOST_SIMD_ARCH) - - #if defined(__x86_64__) || defined(_M_X64) \ - || defined(DOXYGEN_ONLY) - #define BOOST_SIMD_ARCH_X86_64 - #endif - - #if defined(BOOST_SIMD_ARCH_X86_64) \ - || defined(__i386__) || defined(_M_IX86) \ - || defined(__INTEL__) || defined(_X86_) \ - || defined(__THW_INTEL__) || defined(DOXYGEN_ONLY) - #define BOOST_SIMD_ARCH_X86 - #endif - - #if defined(BOOST_SIMD_ARCH_X86_64) || defined(DOXYGEN_ONLY) - #define BOOST_SIMD_ARCH "Intel x86_64" - #elif defined(BOOST_SIMD_ARCH_X86) - #define BOOST_SIMD_ARCH "Intel x86" - #endif - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/config/compiler.hpp b/inst/include/boost/simd/sdk/config/compiler.hpp deleted file mode 100644 index 5275f30..0000000 --- a/inst/include/boost/simd/sdk/config/compiler.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_COMPILER_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_COMPILER_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Architecture configuration headers -// Defines architecture symbols for architecture related variation point. -// Documentation: http://nt2.lri.fr/sdk/config/compiler.html -//////////////////////////////////////////////////////////////////////////////// -#include -#include - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/config/compiler/gcc.hpp b/inst/include/boost/simd/sdk/config/compiler/gcc.hpp deleted file mode 100644 index 7bfb29e..0000000 --- a/inst/include/boost/simd/sdk/config/compiler/gcc.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_COMPILER_GCC_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_COMPILER_GCC_HPP_INCLUDED - -#if !defined(BOOST_SIMD_COMPILER) - #if defined(__GNUC__) - - #if !defined(__clang__) && !defined(__INTEL_COMPILER) - #define BOOST_SIMD_COMPILER_GCC - #endif - - #define BOOST_SIMD_COMPILER_GCC_LIKE - #define BOOST_SIMD_COMPILER BOOST_COMPILER - #define BOOST_SIMD_GCC_VERSION ( __GNUC__ * 10000 \ - + __GNUC_MINOR__ * 100 \ - + __GNUC_PATCHLEVEL__ \ - ) - - - #endif -#endif -#endif diff --git a/inst/include/boost/simd/sdk/config/compiler/gcc_xml.hpp b/inst/include/boost/simd/sdk/config/compiler/gcc_xml.hpp deleted file mode 100644 index a87592a..0000000 --- a/inst/include/boost/simd/sdk/config/compiler/gcc_xml.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_COMPILER_GCC_XML_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_COMPILER_GCC_XML_HPP_INCLUDED - -#if !defined(BOOST_SIMD_COMPILER) - #if defined(__GCCXML__) || defined(DOXYGEN_ONLY) - - #define BOOST_SIMD_COMPILER_GCC - #define BOOST_SIMD_COMPILER_GCC_XML - #define BOOST_SIMD_COMPILER BOOST_COMPILER - - #endif -#endif -#endif diff --git a/inst/include/boost/simd/sdk/config/compiler/none.hpp b/inst/include/boost/simd/sdk/config/compiler/none.hpp deleted file mode 100644 index cabb62f..0000000 --- a/inst/include/boost/simd/sdk/config/compiler/none.hpp +++ /dev/null @@ -1,17 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_COMPILER_NONE_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_COMPILER_NONE_HPP_INCLUDED - -#if !defined(BOOST_SIMD_COMPILER) - #define BOOST_SIMD_COMPILER_UNKNOWN - #define BOOST_SIMD_COMPILER "unknown" -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/compiler/visualc.hpp b/inst/include/boost/simd/sdk/config/compiler/visualc.hpp deleted file mode 100644 index 84be63a..0000000 --- a/inst/include/boost/simd/sdk/config/compiler/visualc.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_COMPILER_VISUALC_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_COMPILER_VISUALC_HPP_INCLUDED - -#if !defined(BOOST_SIMD_COMPILER) - #if defined(BOOST_MSVC) - - ////////////////////////////////////////////////////////////////////////////// - // http://www.boost.org/development/requirements.html#Design_and_Programming - ////////////////////////////////////////////////////////////////////////////// - #pragma warning( disable : 4554 ) // precedence on & operator - #pragma warning( disable : 4244 ) // converting types to double - #pragma warning( disable : 4804 ) // unsafe use of > - #pragma warning( disable : 4996 ) // unsafe iostream call - - #define BOOST_SIMD_COMPILER_MSVC - #define BOOST_SIMD_COMPILER BOOST_COMPILER - - #endif -#endif -#endif diff --git a/inst/include/boost/simd/sdk/config/details/common/detect.hpp b/inst/include/boost/simd/sdk/config/details/common/detect.hpp deleted file mode 100644 index a917c80..0000000 --- a/inst/include/boost/simd/sdk/config/details/common/detect.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_COMMON_DETECT_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_COMMON_DETECT_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace config { namespace details -{ - inline bool detect(dispatch::tag::cpu_ const& ) - { - return false; - } -} } } } - -#endif diff --git a/inst/include/boost/simd/sdk/config/details/detect.hpp b/inst/include/boost/simd/sdk/config/details/detect.hpp deleted file mode 100644 index d1a3e9e..0000000 --- a/inst/include/boost/simd/sdk/config/details/detect.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_DETECT_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_DETECT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/config/details/detector/cpuid.hpp b/inst/include/boost/simd/sdk/config/details/detector/cpuid.hpp deleted file mode 100644 index b36f9eb..0000000 --- a/inst/include/boost/simd/sdk/config/details/detector/cpuid.hpp +++ /dev/null @@ -1,123 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_DETECTOR_CPUID_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_DETECTOR_CPUID_HPP_INCLUDED - -/*! - *\file cpuid.hpp - *\brief cpuid function to get x86 processor infos -*/ - -#include -#include -#include - -#if defined(BOOST_SIMD_COMPILER_MSVC) -#include -#endif - -namespace boost { namespace simd { namespace config { namespace x86 -{ - - inline void cpuid(int CPUInfo[4],int InfoType) - { -#if defined(BOOST_SIMD_ARCH_X86) - -#if defined(BOOST_SIMD_COMPILER_GCC_LIKE) - enum e_x_enum { eax,ebx,ecx,edx }; - -#if !defined(__PIC__) || defined(BOOST_SIMD_ARCH_X86_64) - __asm__ __volatile__ - ( - "cpuid" - : "=a" (CPUInfo[eax]), "=b" (CPUInfo[ebx]) - , "=c" (CPUInfo[ecx]), "=d" (CPUInfo[edx]) - : "a" (InfoType) - : "cc" - ); -#else - __asm__ __volatile__ - ( - "pushl %%ebx \n\t" /* save %ebx */ - "cpuid \n\t" - "movl %%ebx, %1 \n\t" /* save what cpuid just put in %ebx */ - "popl %%ebx \n\t" /* restore the old %ebx */ - : "=a"(CPUInfo[eax]), "=r"(CPUInfo[ebx]) - , "=c"(CPUInfo[ecx]), "=d"(CPUInfo[edx]) - : "a"(InfoType) - : "cc" - ); -#endif - -#elif defined(BOOST_SIMD_COMPILER_MSVC) - __cpuid(CPUInfo,InfoType); -#else -#error compiler not supported -#endif - -#endif - } - - inline void cpuidex(int CPUInfo[4],int InfoType, int ECXValue) - { -#if defined(BOOST_SIMD_ARCH_X86) - -#if defined(BOOST_SIMD_COMPILER_GCC_LIKE) - enum { eax,ebx,ecx,edx }; - -#if !defined(__PIC__) || defined(BOOST_SIMD_ARCH_X86_64) - __asm__ __volatile__ - ( - "cpuid" - : "=a" (CPUInfo[eax]), "=b" (CPUInfo[ebx]) - , "=c" (CPUInfo[ecx]), "=d" (CPUInfo[edx]) - : "a" (InfoType), "c" (ECXValue) - : "cc" - ); -#else - __asm__ __volatile__ - ( - "pushl %%ebx \n\t" /* save %ebx */ - "cpuid \n\t" - "movl %%ebx, %1 \n\t" /* save what cpuid just put in %ebx */ - "popl %%ebx \n\t" /* restore the old %ebx */ - : "=a"(CPUInfo[eax]), "=r"(CPUInfo[ebx]) - , "=c"(CPUInfo[ecx]), "=d"(CPUInfo[edx]) - : "a"(InfoType), "c" (ECXValue) - : "cc" - ); -#endif - -#elif defined(BOOST_SIMD_COMPILER_MSVC) -#if _MSC_VER > 1500 - __cpuidex(CPUInfo,InfoType,ECXValue); -#else - __asm - { - mov esi,CPUInfo - mov eax,InfoType - mov ecx,ECXValue - cpuid - mov dword ptr [esi], eax - mov dword ptr [esi+4],ebx - mov dword ptr [esi+8],ecx - mov dword ptr [esi+0Ch],edx - } -#endif -#else -#error compiler not supported -#endif - -#endif - } - -} } } } - - -#endif diff --git a/inst/include/boost/simd/sdk/config/details/detector/get_vendor.hpp b/inst/include/boost/simd/sdk/config/details/detector/get_vendor.hpp deleted file mode 100644 index 669bbc5..0000000 --- a/inst/include/boost/simd/sdk/config/details/detector/get_vendor.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_DETECTOR_GET_VENDOR_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_DETECTOR_GET_VENDOR_HPP_INCLUDED - -#include -#ifdef BOOST_SIMD_ARCH_X86 -#include -#include - -/*! - *\file get_vendor.hpp - *\brief Runtime function to get the Vendor Processor. -*/ - -#define BOOST_SIMD_VENDOR_INTEL "GenuineIntel" -#define BOOST_SIMD_VENDOR_AMD "AuthenticAMD" - -namespace boost { namespace simd { namespace config { namespace x86 -{ - enum vendor - { - intel, - amd - }; - - inline static bool str_match(const int abcd[4], const char* vendor) - { - return ( !std::memcmp(abcd + 1, vendor, 4) - && !std::memcmp(abcd + 2, vendor + 8, 4) - && !std::memcmp(abcd + 3, vendor + 4, 4) ); - } - - inline int get_vendor() - { - static const int function = 0x00000000; - int regs_x86[4]; - config::x86::cpuid(regs_x86, function); - if( str_match(regs_x86, BOOST_SIMD_VENDOR_INTEL) ) return intel; - else if( str_match(regs_x86, BOOST_SIMD_VENDOR_AMD) ) return amd; - else return -1; - } -} } } } - -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/details/detector/linux_auxv.hpp b/inst/include/boost/simd/sdk/config/details/detector/linux_auxv.hpp deleted file mode 100644 index f2371ca..0000000 --- a/inst/include/boost/simd/sdk/config/details/detector/linux_auxv.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_DETECTOR_LINUX_AUXV_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_DETECTOR_LINUX_AUXV_HPP_INCLUDED - -#ifdef BOOST_SIMD_OS_LINUX -#include -#include -#include -#include - -namespace boost { namespace simd { namespace config { namespace linux_ -{ - inline uintptr_t auxv(uintptr_t type) - { - int fd; - uintptr_t auxv[2]; - - fd = open("/proc/self/auxv", O_RDONLY); - if (fd >= 0) - { - while(read(fd, &auxv, sizeof(auxv)) == sizeof(auxv)) - { - if (auxv[0] == type) - { - close(fd); - return auxv[1]; - } - } - close(fd); - } - return 0; - } - - inline unsigned int hwcap() - { - return auxv(AT_HWCAP); - } - -} } } } - -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/details/powerpc/detect.hpp b/inst/include/boost/simd/sdk/config/details/powerpc/detect.hpp deleted file mode 100644 index 355900d..0000000 --- a/inst/include/boost/simd/sdk/config/details/powerpc/detect.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_POWERPC_DETECT_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_POWERPC_DETECT_HPP_INCLUDED - -#include - -#ifdef BOOST_SIMD_ARCH_POWERPC -#include -#include - -#if defined(BOOST_SIMD_OS_LINUX) -#include -#include -#elif defined(BOOST_SIMD_OS_MACOS) -#include -#endif - -namespace boost { namespace simd { namespace config { namespace details -{ - inline bool detect(tag::vmx_ const&) - { -#if defined(BOOST_SIMD_OS_LINUX) - return config::linux_::hwcap() & PPC_FEATURE_HAS_ALTIVEC; -#elif defined(BOOST_SIMD_OS_MACOS) - long cpuAttributes; - bool hasAltiVec = false; - OSErr err = Gestalt( gestaltPowerPCProcessorFeatures, &cpuAttributes ); - if( noErr == err ) { hasAltiVec = ( 1 << gestaltPowerPCHasVectorInstructions) & cpuAttributes; } - return hasAltiVec; -#else - return false; -#endif - } - -} } } } - -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/details/powerpc/support.hpp b/inst/include/boost/simd/sdk/config/details/powerpc/support.hpp deleted file mode 100644 index c6d79f5..0000000 --- a/inst/include/boost/simd/sdk/config/details/powerpc/support.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_POWERPC_SUPPORT_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_POWERPC_SUPPORT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - // register detection of VMX extensions - static support_registration ppc_vmx ( "vmx" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration ppc_vsx ( "vsx" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration ppc_qpx ( "qpx" - , &boost::simd::is_supported - , ®istration_list - ); - -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/config/details/registration.hpp b/inst/include/boost/simd/sdk/config/details/registration.hpp deleted file mode 100644 index 24214ef..0000000 --- a/inst/include/boost/simd/sdk/config/details/registration.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_REGISTRATION_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_REGISTRATION_HPP_INCLUDED - -namespace boost { namespace simd -{ - namespace details - { - struct support_registration - { - support_registration(const char* n, bool (*f)(), support_registration* nx) - : name(n), function(f), next(0) - { - if(nx) next = nx->link(this); - } - - support_registration* link(support_registration* n) - { - if(next != 0 ) return next->link(n); - else next = n; - return 0; - } - - const char* name; - bool (*function)(); - support_registration* next; - - private: - support_registration(support_registration const&); - support_registration& operator=(support_registration const&); - }; - - static support_registration registration_list(0,0,0); - } -} } - -#endif diff --git a/inst/include/boost/simd/sdk/config/details/support.hpp b/inst/include/boost/simd/sdk/config/details/support.hpp deleted file mode 100644 index bbeea54..0000000 --- a/inst/include/boost/simd/sdk/config/details/support.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_SUPPORT_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_SUPPORT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/config/details/x86/detect.hpp b/inst/include/boost/simd/sdk/config/details/x86/detect.hpp deleted file mode 100644 index fb953ca..0000000 --- a/inst/include/boost/simd/sdk/config/details/x86/detect.hpp +++ /dev/null @@ -1,124 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_DETAILS_X86_DETECT_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_DETAILS_X86_DETECT_HPP_INCLUDED - -#include - -#ifdef BOOST_SIMD_ARCH_X86 -#include -#include -#include - -/*! - *\file detect.hpp -*/ - -namespace boost { namespace simd { namespace config { namespace details -{ - inline bool has_bit_set(int value, int bit) - { - return (value & (1< -#include -#include - -namespace boost { namespace simd { namespace details -{ - // register detection of X86 extensions - static support_registration x86_sse ( "sse" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_sse2( "sse2" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_sse3( "sse3" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_ssse3 ( "ssse3" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_sse4a ( "sse4a" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_sse41 ( "sse4.1" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_sse42 ( "sse4.2" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_avx ( "avx" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_fma4( "fma4" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_xop ( "xop" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_fma3( "fma3" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_avx2( "avx2" - , &boost::simd::is_supported - , ®istration_list - ); - static support_registration x86_mic ( "mic" - , &boost::simd::is_supported - , ®istration_list - ); -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/config/enforce_precision.hpp b/inst/include/boost/simd/sdk/config/enforce_precision.hpp deleted file mode 100644 index d9813ae..0000000 --- a/inst/include/boost/simd/sdk/config/enforce_precision.hpp +++ /dev/null @@ -1,135 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_ENFORCE_PRECISION_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_ENFORCE_PRECISION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace config -{ - #ifdef BOOST_SIMD_ARCH_X86 - namespace x86 - { - template - struct x87_precision_flag; - - template<> - struct x87_precision_flag - { - static const unsigned short value = 0; - }; - - template<> - struct x87_precision_flag - { - static const unsigned short value = 2; - }; - - template<> - struct x87_precision_flag - { - static const unsigned short value = 1; - }; - - BOOST_FORCEINLINE unsigned short x87_get_control_word() - { - #ifdef _MSC_VER - #ifndef BOOST_SIMD_ARCH_X86_64 - unsigned short cw; - __asm { - fnstcw cw - } - return cw; - #else - // FIXME: MSVC x64 doesn't support inline ASM - return 0; - #endif - #elif defined(__GNUC__) - unsigned short cw; - __asm__ __volatile__ ("fnstcw %w0" : "=m" (cw)); - return cw; - #else - #error unsupported compiler to manage x87 floating-point control word - #endif - } - - BOOST_FORCEINLINE void x87_set_control_word(unsigned short cw) - { - #ifdef _MSC_VER - #ifndef BOOST_SIMD_ARCH_X86_64 - __asm { - fldcw cw - } - #else - // FIXME: MSVC x64 doesn't support inline ASM - boost::ignore_unused(cw); - #endif - #elif defined(__GNUC__) - __asm__ __volatile__ ("fldcw %0" : : "m" (cw)); - #else - #error unsupported compiler to manage x87 floating-point control word - #endif - } - } - #endif - - template - struct enforce_precision - { - BOOST_FORCEINLINE enforce_precision() - { - } - }; - - #if !defined(FLT_EVAL_METHOD) && defined(__FLT_EVAL_METHOD__) - #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__ - #endif - - #ifdef FLT_EVAL_METHOD - #if FLT_EVAL_METHOD != 0 - #ifndef BOOST_SIMD_HAS_X87 - #define BOOST_SIMD_HAS_X87 - #endif - #endif - - // default without FLT_EVAL_METHOD is to have x87 in 32-bit and no x87 in 64-bit - // can force otherwise with BOOST_SIMD_NO_X87 - #elif defined(BOOST_SIMD_ARCH_X86) && !defined(BOOST_SIMD_ARCH_X86_64) && !defined(BOOST_SIMD_NO_X87) - #ifndef BOOST_SIMD_HAS_X87 - #define BOOST_SIMD_HAS_X87 - #endif - #endif - - #ifdef BOOST_SIMD_HAS_X87 - template - struct enforce_precision >::type> - { - BOOST_FORCEINLINE enforce_precision() : cw(x86::x87_get_control_word()) - { - unsigned short new_cw = (cw & 0xFCFF) | (x86::x87_precision_flag::value << 8); - x86::x87_set_control_word(new_cw); - } - - BOOST_FORCEINLINE ~enforce_precision() - { - x86::x87_set_control_word(cw); - } - - unsigned short cw; - }; - #endif -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/config/is_supported.hpp b/inst/include/boost/simd/sdk/config/is_supported.hpp deleted file mode 100644 index 220805e..0000000 --- a/inst/include/boost/simd/sdk/config/is_supported.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_IS_SUPPORTED_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_IS_SUPPORTED_HPP_INCLUDED - -/*! - *\file is_supported.hpp - * \brief Runtime function returning the SIMD extension supported. - * For detecting a new extenion from a new vendor you need to add a - * vendor case and provide the right specialization of cpuid_mask. -*/ -#include -#include -#include - -namespace boost { namespace simd -{ - template inline bool is_supported() - { - Tag tag_; - static const bool status = config::details::detect(tag_); - return status; - } - - inline int is_supported(const char* name) - { - int result = 0; - details::support_registration* c = details::registration_list.next; - - while(c && result != 1) - { - if(strcmp(name,c->name) == 0) result = c->function() ? 1 : -1; - c = c->next; - } - - return result; - } -} } - -#include - -#endif diff --git a/inst/include/boost/simd/sdk/config/os.hpp b/inst/include/boost/simd/sdk/config/os.hpp deleted file mode 100644 index 63df579..0000000 --- a/inst/include/boost/simd/sdk/config/os.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_OS_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_OS_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Architecture configuration headers -// Defines architecture symbols for architecture related variation point. -// Documentation: http://nt2.lri.fr/doc/build/html/sdk/config/platform.html -//////////////////////////////////////////////////////////////////////////////// - -#include -#include - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/config/os/macos.hpp b/inst/include/boost/simd/sdk/config/os/macos.hpp deleted file mode 100644 index 891b4ee..0000000 --- a/inst/include/boost/simd/sdk/config/os/macos.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_OS_MACOS_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_OS_MACOS_HPP_INCLUDED - -#if !defined(BOOST_SIMD_OS) - #if defined(macintosh) || defined(__APPLE__) \ - || defined(__APPLE_CC__) || defined(DOXYGEN_ONLY) \ - - #define BOOST_SIMD_OS_MAC_OS - #define BOOST_SIMD_OS BOOST_PLATFORM - - #endif -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/os/nix.hpp b/inst/include/boost/simd/sdk/config/os/nix.hpp deleted file mode 100644 index 74f79dc..0000000 --- a/inst/include/boost/simd/sdk/config/os/nix.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_OS_NIX_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_OS_NIX_HPP_INCLUDED - -#if !defined(BOOST_SIMD_OS) - #if defined(linux) || defined(__linux) \ - || defined(__linux__) || defined(__unix) || defined(DOXYGEN_ONLY) \ - - #define BOOST_SIMD_OS_LINUX - #define BOOST_SIMD_OS BOOST_PLATFORM - - #endif -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/os/none.hpp b/inst/include/boost/simd/sdk/config/os/none.hpp deleted file mode 100644 index 5abc670..0000000 --- a/inst/include/boost/simd/sdk/config/os/none.hpp +++ /dev/null @@ -1,17 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_OS_NONE_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_OS_NONE_HPP_INCLUDED - -#if !defined(BOOST_SIMD_OS) - #define BOOST_SIMD_OS_UNKNOWN - #define BOOST_SIMD_OS "unknown" -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/os/windows.hpp b/inst/include/boost/simd/sdk/config/os/windows.hpp deleted file mode 100644 index 9780e1e..0000000 --- a/inst/include/boost/simd/sdk/config/os/windows.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_OS_WINDOWS_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_OS_WINDOWS_HPP_INCLUDED - -#if !defined(BOOST_SIMD_OS) - #if defined(_WIN32) || defined(__WIN32__) \ - || defined(WIN32) || defined(DOXYGEN_ONLY) \ - - #if !defined(VC_EXTRALEAN) - #define VC_EXTRALEAN - #endif - - #if !defined(WIN32_LEAN_AND_MEAN) - #define WIN32_LEAN_AND_MEAN - #endif - - #define BOOST_SIMD_OS_WINDOWS - #define BOOST_SIMD_OS BOOST_PLATFORM - - #endif -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/config/type_lists.hpp b/inst/include/boost/simd/sdk/config/type_lists.hpp deleted file mode 100644 index 51c4123..0000000 --- a/inst/include/boost/simd/sdk/config/type_lists.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_TYPE_LISTS_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_TYPE_LISTS_HPP_INCLUDED - -#include - -#define BOOST_SIMD_REAL_TYPES (double)(float) - -#define BOOST_SIMD_INTEGRAL_SIGNED_TYPES (boost::simd::int64_t)(boost::simd::int32_t) \ - (boost::simd::int16_t)(boost::simd::int8_t) \ -/**/ - -#define BOOST_SIMD_INTEGRAL_UNSIGNED_TYPES (boost::simd::uint64_t)(boost::simd::uint32_t) \ - (boost::simd::uint16_t)(boost::simd::uint8_t) \ -/**/ - -#define BOOST_SIMD_INT_CONVERT_TYPES (boost::simd::int32_t)(boost::simd::int64_t) -#define BOOST_SIMD_UINT_CONVERT_TYPES (boost::simd::uint32_t)(boost::simd::uint64_t) - -#define BOOST_SIMD_REAL_GROUPABLE_TYPES (double) -#define BOOST_SIMD_REAL_SPLITABLE_TYPES (float) - -#define BOOST_SIMD_GROUPABLE_TYPES (boost::simd::int16_t)(boost::simd::uint16_t) \ - (boost::simd::int32_t)(boost::simd::uint32_t) \ - (boost::simd::int64_t)(boost::simd::uint64_t) \ - (double) \ -/**/ -#define BOOST_SIMD_SPLITABLE_TYPES (boost::simd::int8_t)(boost::simd::uint8_t) \ - (boost::simd::int16_t)(boost::simd::uint16_t) \ - (boost::simd::int32_t)(boost::simd::uint32_t) \ - (float) \ -/**/ - -#define BOOST_SIMD_INTEGRAL_TYPES BOOST_SIMD_INTEGRAL_UNSIGNED_TYPES BOOST_SIMD_INTEGRAL_SIGNED_TYPES -#define BOOST_SIMD_UNSIGNED_TYPES BOOST_SIMD_INTEGRAL_UNSIGNED_TYPES -#define BOOST_SIMD_SIGNED_TYPES BOOST_SIMD_REAL_TYPES BOOST_SIMD_INTEGRAL_SIGNED_TYPES -#define BOOST_SIMD_REAL_CONVERTIBLE_TYPES BOOST_SIMD_INT_CONVERT_TYPES BOOST_SIMD_UINT_CONVERT_TYPES BOOST_SIMD_REAL_TYPES -#define BOOST_SIMD_TYPES BOOST_SIMD_REAL_TYPES BOOST_SIMD_INTEGRAL_TYPES - -#endif diff --git a/inst/include/boost/simd/sdk/config/types.hpp b/inst/include/boost/simd/sdk/config/types.hpp deleted file mode 100644 index 0e84239..0000000 --- a/inst/include/boost/simd/sdk/config/types.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_CONFIG_TYPES_HPP_INCLUDED -#define BOOST_SIMD_SDK_CONFIG_TYPES_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Types injection into boost.simd -// Injects or define some basic types in boost::simd for consistency sake. -//////////////////////////////////////////////////////////////////////////////// -#include -#include -#include - -namespace boost { namespace simd -{ - typedef boost::dispatch::meta::make_integer<1,unsigned>::type uint8_t; - typedef boost::dispatch::meta::make_integer<2,unsigned>::type uint16_t; - typedef boost::dispatch::meta::make_integer<4,unsigned>::type uint32_t; - typedef boost::dispatch::meta::make_integer<8,unsigned>::type uint64_t; - typedef boost::dispatch::meta::make_integer<1,signed>::type int8_t; - typedef boost::dispatch::meta::make_integer<2,signed>::type int16_t; - typedef boost::dispatch::meta::make_integer<4,signed>::type int32_t; - typedef boost::dispatch::meta::make_integer<8,signed>::type int64_t; -} } - -#endif diff --git a/inst/include/boost/simd/sdk/details/aliasing.hpp b/inst/include/boost/simd/sdk/details/aliasing.hpp deleted file mode 100644 index a15f93b..0000000 --- a/inst/include/boost/simd/sdk/details/aliasing.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_DETAILS_ALIASING_HPP_INCLUDED -#define BOOST_SIMD_SDK_DETAILS_ALIASING_HPP_INCLUDED - -#include -#include -#include - -#ifndef BOOST_SIMD_NO_STRICT_ALIASING - -#ifdef BOOST_MSVC -#define BOOST_SIMD_NO_STRICT_ALIASING -#endif - -#ifdef __GNUC__ -#define BOOST_SIMD_MAY_ALIAS __attribute__((may_alias)) -#endif - -#endif - -#ifndef BOOST_SIMD_MAY_ALIAS -#define BOOST_SIMD_MAY_ALIAS -#endif - -namespace boost { namespace simd { namespace meta -{ - template - struct may_alias - { - typedef T BOOST_SIMD_MAY_ALIAS type; - }; - - template - struct may_alias >::type> - { - typedef T type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/details/at_iterator.hpp b/inst/include/boost/simd/sdk/details/at_iterator.hpp deleted file mode 100644 index 059ed31..0000000 --- a/inst/include/boost/simd/sdk/details/at_iterator.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_DETAILS_AT_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_SDK_DETAILS_AT_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd -{ - template - struct at_iterator - : boost::fusion:: - iterator_facade < at_iterator - , boost::fusion::unbounded_tag - > - { - BOOST_STATIC_CONSTANT(int index, = N); - BOOST_STATIC_CONSTANT(int maximum, = Max); - typedef Seq sequence_type; - - at_iterator(Seq& seq) : seq_(seq) {} - - Seq& seq_; - - template - struct value_of - : boost::fusion::result_of:: - value_at_c - { - }; - - template - struct deref - { - typedef typename boost::fusion::result_of:: - at_c< typename It::sequence_type - , It::index - >::type type; - - static type call(It const& it) { return boost::fusion::at_c(it.seq_); } - }; - - template - struct next - { - typedef at_iterator< typename It::sequence_type - , (It::index >= It::maximum) ? It::maximum : (It::index + 1) - , It::maximum - > type; - - static type call(It const& it) { return type(it.seq_); } - }; - - template - struct prior - { - typedef at_iterator< typename It::sequence_type - , (It::index <= 0) ? 0 : (It::index - 1) - , It::maximum - > type; - - static type call(It const& it) { return type(it.seq_); } - }; - - template - struct distance - { - typedef typename boost::mpl:: - int_::type type; - - static type call(It1 const& , It2 const& ) { return type(); } - }; - - template - struct advance - { - typedef at_iterator< typename It::sequence_type - , (It::index + M::value >= It::maximum) ? It::maximum : (It::index + M::value) - , It::maximum - > type; - - static type call(It const& it) { return type(it.seq_); } - }; - - private: - at_iterator& operator=(at_iterator const&); - }; -} } - -#endif diff --git a/inst/include/boost/simd/sdk/details/io_fix.hpp b/inst/include/boost/simd/sdk/details/io_fix.hpp deleted file mode 100644 index 0e8c186..0000000 --- a/inst/include/boost/simd/sdk/details/io_fix.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_DETAILS_IO_FIX_HPP_INCLUDED -#define BOOST_SIMD_SDK_DETAILS_IO_FIX_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - template inline - typename boost - ::enable_if_c < ( boost::is_same::value - || boost::is_same::value - || boost::is_same::value - ) - , int - >::type - display ( T const& v) - { - return static_cast(v); - } - - template inline - typename boost - ::disable_if_c< ( boost::is_same::value - || boost::is_same::value - || boost::is_same::value - ) - , T const& - >::type - display ( T const& v) - { - return v; - } -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/dsl/lambda_generator.hpp b/inst/include/boost/simd/sdk/dsl/lambda_generator.hpp deleted file mode 100644 index 8041d73..0000000 --- a/inst/include/boost/simd/sdk/dsl/lambda_generator.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_DSL_LAMBDA_GENERATOR_HPP_INCLUDED -#define BOOST_SIMD_SDK_DSL_LAMBDA_GENERATOR_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct lambda_generator - : proto::transform< lambda_generator > - { - template - struct impl : proto::transform_impl - { - typedef typename mpl::apply1::type>::type result_type; - - BOOST_FORCEINLINE - result_type - operator()( typename impl::expr_param e - , typename impl::state_param - , typename impl::data_param - ) const - { - return result_type(e); - } - }; - }; - - template - struct lambda_pod_generator - : proto::transform< lambda_pod_generator > - { - template - struct impl : proto::transform_impl - { - typedef typename mpl::apply1::type>::type result_type; - - BOOST_FORCEINLINE - result_type - operator()( typename impl::expr_param e - , typename impl::state_param - , typename impl::data_param - ) const - { - result_type const that = {e}; - return that; - } - }; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/dsl/typed_expression.hpp b/inst/include/boost/simd/sdk/dsl/typed_expression.hpp deleted file mode 100644 index a339de2..0000000 --- a/inst/include/boost/simd/sdk/dsl/typed_expression.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_DSL_TYPED_EXPRESSION_HPP_INCLUDED -#define BOOST_SIMD_SDK_DSL_TYPED_EXPRESSION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct typed_expression - { - template - struct apply_impl; - - template - struct apply - : apply_impl::value> - { - }; - - #define M0(z, n, t) \ - template \ - struct apply_impl \ - : mpl::apply2< Lambda \ - , Expr \ - , typename dispatch::meta:: \ - call< typename proto:: \ - tag_of::type \ - ( \ - BOOST_PP_ENUM(n, M1, ~) \ - ) \ - >::type \ - > \ - { \ - }; \ - /**/ - - #define M1(z, n, t) \ - typename dispatch::meta:: \ - as_ref< typename dispatch::meta:: \ - semantic_of< typename proto::result_of:: \ - child_c::type \ - >::type \ - >::type \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_DISPATCH_MAX_ARITY, M0, ~) - - #undef M1 - #undef M0 - - // terminal case - template - struct apply_impl - : mpl::apply2< Lambda - , Expr - , typename dispatch::meta:: - call< typename proto:: - tag_of::type(Expr&) - >::type - > - { - }; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/functor/hierarchy.hpp b/inst/include/boost/simd/sdk/functor/hierarchy.hpp deleted file mode 100644 index e541346..0000000 --- a/inst/include/boost/simd/sdk/functor/hierarchy.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_FUNCTOR_HIERARCHY_HPP_INCLUDED -#define BOOST_SIMD_SDK_FUNCTOR_HIERARCHY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace simd -{ - namespace tag - { - // Sites - using boost::dispatch::tag::formal_; - using boost::dispatch::tag::cpu_; - } - -namespace ext -{ - // Base hierarchies - using boost::dispatch::meta::proxy_; - using boost::dispatch::meta::unknown_; - using boost::dispatch::meta::unspecified_; - - // Native types and related hierarchies - using boost::dispatch::meta::single_; - using boost::dispatch::meta::double_; - - using boost::dispatch::meta::int8_; using boost::dispatch::meta::uint8_; using boost::dispatch::meta::ints8_; - using boost::dispatch::meta::int16_; using boost::dispatch::meta::uint16_; using boost::dispatch::meta::ints16_; - using boost::dispatch::meta::int32_; using boost::dispatch::meta::uint32_; using boost::dispatch::meta::ints32_; - using boost::dispatch::meta::int64_; using boost::dispatch::meta::uint64_; using boost::dispatch::meta::ints64_; - - using boost::dispatch::meta::type8_; - using boost::dispatch::meta::type16_; - using boost::dispatch::meta::type32_; - using boost::dispatch::meta::type64_; - - using boost::dispatch::meta::floating_sized_; - using boost::dispatch::meta::floating_; - - using boost::dispatch::meta::signed_; - using boost::dispatch::meta::unsigned_; - - using boost::dispatch::meta::int_; - using boost::dispatch::meta::uint_; - using boost::dispatch::meta::integer_; - - using boost::dispatch::meta::arithmetic_; - using boost::dispatch::meta::bool_; - using boost::dispatch::meta::fundamental_; - - // Composite hierarchies - using boost::dispatch::meta::scalar_; - using boost::dispatch::meta::generic_; - using boost::dispatch::meta::target_; - - using boost::dispatch::meta::ast_; - using boost::dispatch::meta::node_; - using boost::dispatch::meta::expr_; - - using boost::dispatch::meta::array_; - using boost::dispatch::meta::fusion_sequence_; - using boost::dispatch::meta::mpl_integral_; - - // Tieable - using boost::dispatch::meta::tieable_; - - // Function object - template - struct implement; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/functor/preprocessor/call.hpp b/inst/include/boost/simd/sdk/functor/preprocessor/call.hpp deleted file mode 100644 index 17a725e..0000000 --- a/inst/include/boost/simd/sdk/functor/preprocessor/call.hpp +++ /dev/null @@ -1,18 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_FUNCTOR_PREPROCESSOR_CALL_HPP_INCLUDED -#define BOOST_SIMD_SDK_FUNCTOR_PREPROCESSOR_CALL_HPP_INCLUDED - -#include -#include - -#define BOOST_SIMD_FUNCTOR_CALL(N) BOOST_DISPATCH_CALL(N) -#define BOOST_SIMD_FUNCTOR_CALL_REPEAT(N) BOOST_DISPATCH_CALL_REPEAT(N) - -#endif diff --git a/inst/include/boost/simd/sdk/functor/preprocessor/dispatch.hpp b/inst/include/boost/simd/sdk/functor/preprocessor/dispatch.hpp deleted file mode 100644 index 562d41e..0000000 --- a/inst/include/boost/simd/sdk/functor/preprocessor/dispatch.hpp +++ /dev/null @@ -1,15 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_FUNCTOR_PREPROCESSOR_DISPATCH_HPP_INCLUDED -#define BOOST_SIMD_SDK_FUNCTOR_PREPROCESSOR_DISPATCH_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/functor/preprocessor/function.hpp b/inst/include/boost/simd/sdk/functor/preprocessor/function.hpp deleted file mode 100644 index a092b07..0000000 --- a/inst/include/boost/simd/sdk/functor/preprocessor/function.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_FUNCTOR_PREPROCESSOR_FUNCTION_HPP_INCLUDED -#define BOOST_SIMD_SDK_FUNCTOR_PREPROCESSOR_FUNCTION_HPP_INCLUDED - -#include - -#define BOOST_SIMD_FUNCTION_IMPLEMENTATION(TAG,NAME,N) \ -BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(TAG,NAME,N) - -#define BOOST_SIMD_FUNCTION_IMPLEMENTATION_TPL(TAG,NAME,ARGS,N) \ -BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(TAG,NAME,ARGS,N) - -#endif diff --git a/inst/include/boost/simd/sdk/functor/proxy.hpp b/inst/include/boost/simd/sdk/functor/proxy.hpp deleted file mode 100644 index a6c1bff..0000000 --- a/inst/include/boost/simd/sdk/functor/proxy.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_FUNCTOR_PROXY_HPP_INCLUDED -#define BOOST_SIMD_SDK_FUNCTOR_PROXY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_G ( unspecified_, tag::cpu_ - , (Func)(A0) - , (proxy_) - ) - { - typedef typename dispatch::meta::unproxy::type b0_t; - typedef typename dispatch::meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typename dispatch::make_functor::type callee; - return callee( dispatch::unproxy(a0) ); - } - }; - - #define M0(z,n,t) (A##n) - /**/ - #define M1(z,n,t) (unspecified_) - /**/ - #define M2(z,n,t) \ - typedef typename boost::dispatch::meta:: \ - unproxy< _A##n >::type \ - b##n##_t; \ - /**/ - #define M3(z,n,t) b##n##_t - /**/ - #define M4(z,n,t) boost::dispatch::unproxy(a##n) - /**/ - - #define M5(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT_G_IF ( unspecified_, tag::cpu_ \ - , (Func)BOOST_PP_REPEAT(n,M0,~) \ - , ( boost::dispatch::meta::any \ - < boost::dispatch::meta::is_proxy \ - , BOOST_PP_ENUM_PARAMS(n,A) \ - > \ - ) \ - , BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - template \ - struct result; \ - \ - template \ - struct result \ - { \ - BOOST_PP_REPEAT(n,M2,~) \ - typedef typename dispatch::meta::call \ - ::type type; \ - }; \ - \ - template \ - BOOST_FORCEINLINE \ - typename result::type \ - operator()(BOOST_PP_ENUM_BINARY_PARAMS(n, _A, && a)) const \ - { \ - typename dispatch::make_functor::type callee; \ - return callee ( BOOST_PP_ENUM(n,M4,~) ); \ - } \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO ( 2 - , BOOST_PP_INC(BOOST_PP_MIN ( BOOST_DISPATCH_MAX_ARITY - , BOOST_PROTO_MAX_ARITY - ) - ) - , M5 ,~ - ) - - #undef M0 - #undef M1 - #undef M2 - #undef M3 - #undef M4 - #undef M5 -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/math.hpp b/inst/include/boost/simd/sdk/math.hpp deleted file mode 100644 index d7b3740..0000000 --- a/inst/include/boost/simd/sdk/math.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_MATH_HPP_INCLUDED -#define BOOST_SIMD_SDK_MATH_HPP_INCLUDED - -#if defined(unix) || defined(__unix__) || defined(__unix) -#include -#endif - -// C99 / POSIX.1-2001 -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(_POSIX_VERSION) && _POSIX_VERSION >= 200112L) -#define BOOST_SIMD_HAS_TGAMMA -#define BOOST_SIMD_HAS_TGAMMAF -#define BOOST_SIMD_HAS_LGAMMA -#define BOOST_SIMD_HAS_LGAMMAF -#define BOOST_SIMD_HAS_CBRT -#define BOOST_SIMD_HAS_CBRTF -#define BOOST_SIMD_HAS_REMQUO -#define BOOST_SIMD_HAS_REMQUOF -#define BOOST_SIMD_HAS_LOGB -#define BOOST_SIMD_HAS_LOGBF -#define BOOST_SIMD_HAS_ILOGB -#define BOOST_SIMD_HAS_ILOGBF -#define BOOST_SIMD_HAS_COPYSIGN -#define BOOST_SIMD_HAS_COPYSIGNF -#define BOOST_SIMD_HAS_NEXTAFTER -#define BOOST_SIMD_HAS_NEXTAFTERF -#define BOOST_SIMD_HAS_HYPOT -#define BOOST_SIMD_HAS_HYPOTF -#define BOOST_SIMD_HAS_ISNAN -#define BOOST_SIMD_HAS_ISNANF -#define BOOST_SIMD_HAS_FPCLASSIFY -#define BOOST_SIMD_HAS_ROUNDF -#define BOOST_SIMD_HAS_ROUND -#define BOOST_SIMD_HAS_CEILF -#define BOOST_SIMD_HAS_FLOORF -#define BOOST_SIMD_HAS_TRUNCF -#define BOOST_SIMD_HAS_FABSF -#define BOOST_SIMD_HAS_SQRTF -#define BOOST_SIMD_HAS_FREXP -#define BOOST_SIMD_HAS_FREXPF -#endif - -// POSIX.1-2001 -#if defined(_POSIX_VERSION) && _POSIX_VERSION >= 200112L -#define BOOST_SIMD_HAS_Y0 -#define BOOST_SIMD_HAS_Y1 -#define BOOST_SIMD_HAS_YN -#define BOOST_SIMD_HAS_J0 -#define BOOST_SIMD_HAS_J1 -#define BOOST_SIMD_HAS_JN -#endif - -// SUSv3 -#if defined(_SVID_SOURCE) || defined(_BSD_SOURCE) || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 600) -#define BOOST_SIMD_HAS_Y0F -#define BOOST_SIMD_HAS_Y1F -#define BOOST_SIMD_HAS_YNF -#define BOOST_SIMD_HAS_J0F -#define BOOST_SIMD_HAS_J1F -#define BOOST_SIMD_HAS_JNF -#endif - -// Microsoft -#if defined(_MSC_VER) || defined(__MSVCRT__) -#define BOOST_SIMD_HAS__Y0 -#define BOOST_SIMD_HAS__Y1 -#define BOOST_SIMD_HAS__YN -#define BOOST_SIMD_HAS__J0 -#define BOOST_SIMD_HAS__J1 -#define BOOST_SIMD_HAS__JN -#define BOOST_SIMD_HAS__COPYSIGN -#define BOOST_SIMD_HAS__NEXTAFTER -#define BOOST_SIMD_HAS__LOGB -#define BOOST_SIMD_HAS__ISNAN -#define BOOST_SIMD_HAS__HYPOT -#define BOOST_SIMD_HAS__HYPOTF -#define BOOST_SIMD_HAS__FPCLASS -#define BOOST_SIMD_HAS_CEILF -#define BOOST_SIMD_HAS_FLOORF -#define BOOST_SIMD_HAS_FABSF -#define BOOST_SIMD_HAS_SQRTF -#define BOOST_SIMD_HAS_FREXP -#define BOOST_SIMD_HAS_FREXPF -#endif - -// Microsoft x64 -#if defined(_MSC_VER) && defined(_M_X64) -#define BOOST_SIMD_HAS__COPYSIGNF -#define BOOST_SIMD_HAS__NEXTAFTERF -#define BOOST_SIMD_HAS__LOGBF -#define BOOST_SIMD_HAS__ISNANF -#define BOOST_SIMD_HAS__FPCLASSF -#endif - -#include - -#endif diff --git a/inst/include/boost/simd/sdk/meta/all.hpp b/inst/include/boost/simd/sdk/meta/all.hpp deleted file mode 100644 index 110e6ab..0000000 --- a/inst/include/boost/simd/sdk/meta/all.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_ALL_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_ALL_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace meta -{ - using boost::dispatch::meta::all; - using boost::dispatch::meta::all_seq; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/any.hpp b/inst/include/boost/simd/sdk/meta/any.hpp deleted file mode 100644 index cdf0a3a..0000000 --- a/inst/include/boost/simd/sdk/meta/any.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_ANY_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_ANY_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace meta -{ - using boost::dispatch::meta::any; - using boost::dispatch::meta::any_seq; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/as_arithmetic.hpp b/inst/include/boost/simd/sdk/meta/as_arithmetic.hpp deleted file mode 100644 index 1285d59..0000000 --- a/inst/include/boost/simd/sdk/meta/as_arithmetic.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_AS_ARITHMETIC_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_AS_ARITHMETIC_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - template - struct logical; -} } - -namespace boost { namespace simd { namespace details -{ - template - struct as_arithmetic - : mpl::apply1 - { - }; - - template - struct as_arithmetic< logical, F > - : mpl::apply1 - { - }; -} } } - -namespace boost { namespace simd { namespace meta -{ - template - struct as_arithmetic - : details::as_arithmetic< typename scalar_of::type - , typename dispatch::meta:: - factory_of::type>::type - > - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/as_index.hpp b/inst/include/boost/simd/sdk/meta/as_index.hpp deleted file mode 100644 index 9f6e751..0000000 --- a/inst/include/boost/simd/sdk/meta/as_index.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_AS_INDEX_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_AS_INDEX_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct as_index - : vector_of::value> - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/as_logical.hpp b/inst/include/boost/simd/sdk/meta/as_logical.hpp deleted file mode 100644 index ffa5431..0000000 --- a/inst/include/boost/simd/sdk/meta/as_logical.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_AS_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_AS_LOGICAL_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd -{ - template - struct logical; -} } - -namespace boost { namespace simd { namespace details -{ - template - struct as_logical - : mpl::apply1 > - { - }; - - template - struct as_logical< logical, F > - : mpl::apply1 > - { - }; - - template - struct as_logical< bool, F > - : mpl::apply1 - { - }; -} } } - -namespace boost { namespace simd { namespace meta -{ - template - struct as_logical - : details::as_logical< typename real_of::type - , typename dispatch::meta:: - factory_of::type>::type - > - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/as_pack.hpp b/inst/include/boost/simd/sdk/meta/as_pack.hpp deleted file mode 100644 index 7d38044..0000000 --- a/inst/include/boost/simd/sdk/meta/as_pack.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_AS_PACK_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_AS_PACK_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief Generic pack type generator - - Generates the proper pack or scalar type of a given @c Cardinal. - - @par Semantic: - - For any given type @c Type and cardinal @c Cardinal, the following code: - - @code - typedef as_pack::type r; - @endcode - - is equivalent to: - - @code - typedef pack r; - @endcode - - if @c Cardinal is greater than one and to: - - @code - typedef Type r; - @endcode - - if @c Cardinal is equal to 1. - - @tparam Type Type of the pack to be generated - @tparam Cardinal Number of element in the pack to be built - **/ - template - struct as_pack - { - typedef boost::simd::pack type; - }; - - /// INTERNAL ONLY - template - struct as_pack - { - typedef Type type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/as_real.hpp b/inst/include/boost/simd/sdk/meta/as_real.hpp deleted file mode 100644 index 28db929..0000000 --- a/inst/include/boost/simd/sdk/meta/as_real.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_AS_REAL_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_AS_REAL_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct as_real - : boost::mpl::apply1< typename boost::dispatch::meta::factory_of::type>::type - , typename real_of::type - > - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/cardinal_as.hpp b/inst/include/boost/simd/sdk/meta/cardinal_as.hpp deleted file mode 100644 index 90612f7..0000000 --- a/inst/include/boost/simd/sdk/meta/cardinal_as.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_CARDINAL_AS_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_CARDINAL_AS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -/* WKRD: for some unknown reason, MSVC seems to require this even if - * cardinal_as isn't instantiated */ -#include - -namespace boost { namespace simd -{ - namespace details - { - template - struct cardinal_as - : meta::cardinal_of< native > - { - }; - - template - struct cardinal_as - : mpl::size_t<1> - { - }; - } - - namespace meta - { - template - struct cardinal_as : details::cardinal_as::type> - {}; - - template - struct cardinal_as >::type> - : meta::cardinal_of< native > - { - }; - } -} } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/cardinal_of.hpp b/inst/include/boost/simd/sdk/meta/cardinal_of.hpp deleted file mode 100644 index c1b4fb5..0000000 --- a/inst/include/boost/simd/sdk/meta/cardinal_of.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_CARDINAL_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_CARDINAL_OF_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the \ref boost::simd::meta::cardinal_of \metafunction - */ - -#include - -namespace boost { namespace simd { namespace meta -{ - //============================================================================ - /*! - * \ingroup metafunctions - * \metafunction computing the number of values of type \c T to fit in a - * register. - * - * \tparam T Hierarchizable type - * - * \par Model: - * - * \metafunction - * - */ - //============================================================================ - template struct cardinal_of : boost::mpl::size_t<1> {}; - - template struct cardinal_of : cardinal_of {}; - template struct cardinal_of : cardinal_of {}; - -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/is_bitwise_logical.hpp b/inst/include/boost/simd/sdk/meta/is_bitwise_logical.hpp deleted file mode 100644 index 515ecfe..0000000 --- a/inst/include/boost/simd/sdk/meta/is_bitwise_logical.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2014 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_IS_BITWISE_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_IS_BITWISE_LOGICAL_HPP_INCLUDED - -#include -#include -#include -#include - -/*! - @brief Check if logical and arithmetic datatypes use the same registers - - This metafunction determines if a logical SIMD vector uses the same - register types as arithmetic vector types. - - @par semantic - - boost::simd::meta::is_bitwise_logical::value = true/false - - @param T - a SIMD register on the target architecture -*/ - -namespace boost { namespace simd { namespace meta -{ - template - struct is_bitwise_logical - : mpl::equal_to< mpl::sizeof_< typename as_arithmetic::type > - , mpl::sizeof_< typename as_logical::type > - > - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/is_downgradable.hpp b/inst/include/boost/simd/sdk/meta/is_downgradable.hpp deleted file mode 100644 index 2540156..0000000 --- a/inst/include/boost/simd/sdk/meta/is_downgradable.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_IS_DOWNGRADABLE_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_IS_DOWNGRADABLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief is A0 downgradable to A1 ? - **/ - template - struct is_downgradable_to - : boost::is_same< A1 - , typename dispatch::meta::downgrade::type - > - {}; - - /*! - @brief is A0 downgradable ? i.e. isn't (u)int8 or float - **/ - template - struct is_downgradable - : mpl::not_< is_downgradable_to > - { - }; - - /*! - @brief is A0 downgradable with the same SIMD extension ? - **/ - template::type> - struct is_downgradable_on_ext - : mpl::and_< is_downgradable - , has_extension::type,X> - > - { - }; - - /*! - @brief is A0 downgradable with the same SIMD extension - and so does its real equivalent ? - **/ - template::type> - struct is_downgradable_as_real_on_ext - : mpl::and_< is_downgradable_on_ext - , mpl::not_ - < is_same < dispatch::meta::na_ - , typename meta::as_simd - < typename dispatch::meta::as_floating - < typename dispatch::meta::downgrade - < - typename A0::value_type - >::type - >::type - , X - >::type - > - > - > - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/is_logical.hpp b/inst/include/boost/simd/sdk/meta/is_logical.hpp deleted file mode 100644 index 719a288..0000000 --- a/inst/include/boost/simd/sdk/meta/is_logical.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_IS_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_IS_LOGICAL_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - template - struct logical; - -namespace meta -{ - template - struct is_logical : boost::mpl::false_ {}; - - template - struct is_logical > : boost::mpl::true_ {}; - - template - struct is_logical > : is_logical {}; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/is_upgradable.hpp b/inst/include/boost/simd/sdk/meta/is_upgradable.hpp deleted file mode 100644 index e72a810..0000000 --- a/inst/include/boost/simd/sdk/meta/is_upgradable.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_IS_UPGRADABLE_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_IS_UPGRADABLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - /*! - @brief is A0 upgradable to A1 ? - **/ - template - struct is_upgradable_to - : boost::is_same< A1 - , typename dispatch::meta::upgrade::type - > - {}; - - /*! - @brief is A0 upgradable ? i.e. isn't (u)int64 or double - **/ - template - struct is_upgradable - : mpl::not_< is_upgradable_to > - { - }; - - /*! - @brief is A0 upgradable with the same SIMD extension ? - **/ - template::type> - struct is_upgradable_on_ext - : mpl::and_< is_upgradable - , has_extension::type,X> - > - { - }; - - /*! - @brief is A0 upgradable with the same SIMD extension - and so does its real equivalent ? - **/ - template::type> - struct is_upgradable_as_real_on_ext - : mpl::and_< is_upgradable_on_ext - , mpl::not_ - < is_same < dispatch::meta::na_ - , typename meta::as_simd - < typename dispatch::meta::as_floating - < typename dispatch::meta::upgrade - < - typename A0::value_type - >::type - >::type - , X - >::type - > - > - > - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/iterate.hpp b/inst/include/boost/simd/sdk/meta/iterate.hpp deleted file mode 100644 index 40c39bc..0000000 --- a/inst/include/boost/simd/sdk/meta/iterate.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_ITERATE_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_ITERATE_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace details -{ - template - struct iterate - { - BOOST_FORCEINLINE static void call(F& f) - { - iterate::call(f); -#ifdef BOOST_MSVC - f.operator()(); -#else - f.template operator()(); -#endif - } - }; - - template - struct iterate<0, F> - { - BOOST_FORCEINLINE static void call(F&) - { - } - }; -} - -namespace meta -{ - template - BOOST_FORCEINLINE void iterate(F const& f) - { - details::iterate::call(f); - } - - template - BOOST_FORCEINLINE void iterate(F& f) - { - details::iterate::call(f); - } -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/make_dependent.hpp b/inst/include/boost/simd/sdk/meta/make_dependent.hpp deleted file mode 100644 index c1153d1..0000000 --- a/inst/include/boost/simd/sdk/meta/make_dependent.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/U.B.P -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_MAKE_DEPENDENT_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_MAKE_DEPENDENT_HPP_INCLUDED - -namespace boost { namespace simd { namespace meta -{ - /** - * make_dependent hides a concrete type into a type-dependent construct - * to prevent spurious template instanciation - **/ - template struct make_dependent - { - typedef T type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/make_type.hpp b/inst/include/boost/simd/sdk/meta/make_type.hpp deleted file mode 100644 index c7e5425..0000000 --- a/inst/include/boost/simd/sdk/meta/make_type.hpp +++ /dev/null @@ -1,43 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_MAKE_TYPE_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_MAKE_TYPE_HPP_INCLUDED - -#include - -#ifdef BOOST_NO_RVALUE_REFERENCES -#include -#include -#endif - -namespace boost { namespace simd { namespace meta -{ -#ifdef BOOST_NO_RVALUE_REFERENCES - - template - typename boost::disable_if< boost::is_reference - , T const& - >::type - make_type(); - - template - typename boost::enable_if< boost::is_reference - , T - >::type - make_type(); - -#else - - template - T&& make_type(); - -#endif -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/real_of.hpp b/inst/include/boost/simd/sdk/meta/real_of.hpp deleted file mode 100644 index 875c222..0000000 --- a/inst/include/boost/simd/sdk/meta/real_of.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_REAL_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_REAL_OF_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct real_of; -} - -namespace details -{ - template::type> - struct real_of - : meta::real_of - { - }; - - template - struct real_of - { - typedef T type; - }; -} - -namespace meta -{ - template - struct real_of - : details::real_of {}; - - template - struct real_of - : boost::mpl::if_< boost::is_same< typename meta::real_of::type - , T - > - , T& - , typename details::real_of::type - > - { - }; - - template - struct real_of - : boost::mpl::if_< boost::is_same< typename meta::real_of::type - , T - > - , T const - , typename details::real_of::type - > - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/register_of.hpp b/inst/include/boost/simd/sdk/meta/register_of.hpp deleted file mode 100644 index a922355..0000000 --- a/inst/include/boost/simd/sdk/meta/register_of.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_REGISTER_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_REGISTER_OF_HPP_INCLUDED - -namespace boost { namespace simd { namespace details -{ - template struct register_of - { - typedef Type type; - }; -} } } - -namespace boost { namespace simd { namespace meta -{ - template - struct register_of : details::register_of - {}; - - template - struct register_of : details::register_of - {}; - - template - struct register_of : details::register_of - {}; - - template - struct register_of : details::register_of - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/scalar_of.hpp b/inst/include/boost/simd/sdk/meta/scalar_of.hpp deleted file mode 100644 index ced1922..0000000 --- a/inst/include/boost/simd/sdk/meta/scalar_of.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_SCALAR_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_SCALAR_OF_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace meta -{ - using boost::dispatch::meta::scalar_of; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/meta/size.hpp b/inst/include/boost/simd/sdk/meta/size.hpp deleted file mode 100644 index 165b316..0000000 --- a/inst/include/boost/simd/sdk/meta/size.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_SIZE_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_SIZE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - template - struct size_check - : boost::mpl::apply < Op - , boost::mpl:: - sizeof_::type> - , boost::mpl:: - sizeof_::type> - > - {}; -} } } - -namespace boost { namespace simd { namespace meta -{ - template - struct has_same_size - : details::size_check < T1 - , T2 - , Transform - , boost::mpl::equal_to< boost::mpl::_1 - , boost::mpl::_2 - > - > - {}; - - template - struct has_different_size - : details::size_check < T1 - , T2 - , Transform - , boost::mpl::not_equal_to< boost::mpl::_1 - , boost::mpl::_2 - > - > - {}; - - template - struct has_smaller_size - : details::size_check < T1 - , T2 - , Transform - , boost::mpl::less< boost::mpl::_1 - , boost::mpl::_2 - > - > - {}; - - template - struct has_larger_size - : details::size_check < T1 - , T2 - , Transform - , boost::mpl::greater < boost::mpl::_1 - , boost::mpl::_2 - > - > - {}; - - template - struct has_smaller_or_equal_size - : details::size_check < T1 - , T2 - , Transform - , boost::mpl::less_equal< boost::mpl::_1 - , boost::mpl::_2 - > - > - {}; - - template - struct has_larger_or_equal_size - : details::size_check < T1 - , T2 - , Transform - , boost::mpl::greater_equal < boost::mpl::_1 - , boost::mpl::_2 - > - > - {}; - -} } } -#endif diff --git a/inst/include/boost/simd/sdk/meta/zero_initialize.hpp b/inst/include/boost/simd/sdk/meta/zero_initialize.hpp deleted file mode 100644 index f8de21c..0000000 --- a/inst/include/boost/simd/sdk/meta/zero_initialize.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/U.B.P -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_META_ZERO_INITIALIZE_HPP_INCLUDED -#define BOOST_SIMD_SDK_META_ZERO_INITIALIZE_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace meta -{ - /** - * zero_initialize is an extension point for zero-initialization of - * non-POD types - **/ - template - struct zero_initialize - { - static BOOST_FORCEINLINE T call() - { - return T(); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/next_power_of_2.hpp b/inst/include/boost/simd/sdk/next_power_of_2.hpp deleted file mode 100644 index 93f33f1..0000000 --- a/inst/include/boost/simd/sdk/next_power_of_2.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_NEXT_POWER_OF_2_HPP_INCLUDED -#define BOOST_SIMD_SDK_NEXT_POWER_OF_2_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Evaluates next power of 2 - - Computes the power of two greater or equal to any given integral value @c n. - - @par Semantic: - For any given integral value @c n: - - @code - auto r = next_power_of_2(n); - @endcode - - where @c r verifies: - - @code - is_power_of_2(r) == true && r >= n - @endcode - - @param n Integral value. - - @return Integral value of same type as n. - **/ - - namespace detail - { - - template < typename Int , int s > - struct next_power_of_2_impl - { - static BOOST_CXX14_CONSTEXPR BOOST_FORCEINLINE - Int apply( Int n ) - { - n = next_power_of_2_impl::apply(n); - return n | (n >> s/2); - } - }; - - template < typename Int > - struct next_power_of_2_impl - { - static BOOST_CXX14_CONSTEXPR BOOST_FORCEINLINE - Int apply( Int n ) - { - return n; - } - }; - - } - - - template < typename Int > - BOOST_CXX14_CONSTEXPR inline Int next_power_of_2( Int n ) - { - static_assert( std::is_integral::value , "Int must be an integral type." ); - using impl = detail::next_power_of_2_impl< Int, sizeof(Int)*8 >; - return impl::apply(--n) + Int{1}; - } -} } - -#endif diff --git a/inst/include/boost/simd/sdk/prev_power_of_2.hpp b/inst/include/boost/simd/sdk/prev_power_of_2.hpp deleted file mode 100644 index abf0ee8..0000000 --- a/inst/include/boost/simd/sdk/prev_power_of_2.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_PREV_POWER_OF_2_HPP_INCLUDED -#define BOOST_SIMD_SDK_PREV_POWER_OF_2_HPP_INCLUDED - -#include "next_power_of_2.hpp" - -namespace boost { namespace simd -{ - /*! - @brief Evaluates previous power of 2 - - Computes the power of two lesser or equal to any given integral value @c n. - - @par Semantic: - For any given integral value @c n: - - @code - auto r = prev_power_of_2(n); - @endcode - - where @c r verifies: - - @code - is_power_of_2(r) == true && r <= n - @endcode - - @param n Integral value. - - @return Integral value of same type as n. - **/ - template < typename Int > - inline BOOST_CONSTEXPR Int prev_power_of_2( Int n ) - { - static_assert( std::is_integral::value , "Int must be an integral type." ); - using impl = detail::next_power_of_2_impl< Int, sizeof(Int)*8 >; - return (n == 0) ? Int{0} : (impl::apply(n) >> 1) + Int{1}; - } -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/algorithm.hpp b/inst/include/boost/simd/sdk/simd/algorithm.hpp deleted file mode 100644 index f5b6a2b..0000000 --- a/inst/include/boost/simd/sdk/simd/algorithm.hpp +++ /dev/null @@ -1,142 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_ALGORITHM_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_ALGORITHM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace simd -{ - template - U* transform(T const* begin, T const* end, U* out, UnOp f) - { - typedef boost::simd::pack vT; - typedef boost::simd::pack vU; - - BOOST_MPL_ASSERT_MSG( vT::static_size == vU::static_size - , BOOST_SIMD_TRANSFORM_INPUT_OUTPUT_NOT_SAME_SIZE - , (T, U) - ); - - static const std::size_t N = vU::static_size; - - std::size_t shift = simd::align_on(out, N * sizeof(U)) - out; - T const* end2 = begin + std::min(shift, end-begin); - T const* end3 = end2 + (end - end2)/N*N; - - // prologue - for(; begin!=end2; ++begin, ++out) - *out = f(*begin); - - if(simd::is_aligned(begin, N * sizeof(T))) - { - for(; begin!=end3; begin += N, out += N) - simd::aligned_store(f(simd::aligned_load(begin)), out); - } - else - { - for(; begin!=end3; begin += N, out += N) - simd::aligned_store(f(simd::load(begin)), out); - } - - // epilogue - for(; begin!=end; ++begin, ++out) - *out = f(*begin); - - return out; - } - - template - U* transform(T1 const* begin1, T1 const* end, T2 const* begin2, U* out, BinOp f) - { - typedef boost::simd::pack vT1; - typedef boost::simd::pack vT2; - typedef boost::simd::pack vU; - - BOOST_MPL_ASSERT_MSG( vT1::static_size == vT2::static_size && vT1::static_size == vU::static_size - , BOOST_SIMD_TRANSFORM_INPUT_OUTPUT_NOT_SAME_SIZE - , (T1, T2, U) - ); - - static const std::size_t N = vU::static_size; - - std::size_t shift = simd::align_on(out, N * sizeof(U)) - out; - T1 const* end2 = begin1 + std::min(shift, end-begin1); - T1 const* end3 = end2 + (end - end2)/N*N; - - // prologue - for(; begin1!=end2; ++begin1, ++begin2, ++out) - *out = f(*begin1, *begin2); - - if(simd::is_aligned(begin1, N * sizeof(T1)) && simd::is_aligned(begin2, N * sizeof(T2))) - { - for(; begin1!=end3; begin1 += N, begin2 += N, out += N) - simd::aligned_store(f(simd::aligned_load(begin1), simd::aligned_load(begin2)), out); - } - else - { - for(; begin1!=end3; begin1 += N, begin2 += N, out += N) - simd::aligned_store(f(simd::load(begin1), simd::load(begin2)), out); - } - - // epilogue - for(; begin1!=end; ++begin1, ++begin2, ++out) - *out = f(*begin1, *begin2); - - return out; - } - - template - U accumulate(T const* begin, T const* end, U init, F f) - { - typedef boost::simd::pack vT; - typedef boost::simd::pack vU; - - BOOST_MPL_ASSERT_MSG( vT::static_size == vU::static_size - , BOOST_SIMD_ACCUMULATE_INPUT_OUTPUT_NOT_SAME_SIZE - , (T, U) - ); - - static const std::size_t N = vT::static_size; - T const* end2 = std::min( simd::align_on(begin, N * sizeof(T)), end ); - T const* end3 = end2 + (end - end2)/N*N; - - vU cur = simd::splat(init); - - // prologue - for(; begin!=end2; ++begin) - init = f(init, *begin); - - for(; begin!=end3; begin += N) - cur = f(cur, boost::simd::aligned_load(begin)); - - // reduce cur - for(typename vU::const_iterator b = cur.begin(); b != cur.end(); ++b) - init = f(init, *b); - - // epilogue - for(; begin!=end; ++begin) - init = f(init, *begin); - - return init; - } -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/category.hpp b/inst/include/boost/simd/sdk/simd/category.hpp deleted file mode 100644 index d807cc8..0000000 --- a/inst/include/boost/simd/sdk/simd/category.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_CATEGORY_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_CATEGORY_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct simd_ : simd_< typename T::parent, X > - { - typedef simd_< typename T::parent, X > parent; - }; - - template - struct simd_< unspecified_, X > - : generic_< typename property_of::type > - { - typedef generic_< typename property_of::type > parent; - }; - - //============================================================================ - // logical_ is the hierarchy of logical and goes straight to fundamental - //============================================================================ - template - struct logical_ : fundamental_ - { - typedef fundamental_ parent; - }; - - //============================================================================ - // hierarchies for tags - //============================================================================ - template - struct abstract_ : unspecified_ - { - typedef unspecified_ parent; - }; - - template - struct elementwise_ : unspecified_ - { - typedef unspecified_ parent; - }; - - template - struct reduction_ : unspecified_ - { - typedef unspecified_ parent; - }; - - template - struct cumulative_ : unspecified_ - { - typedef unspecified_ parent; - }; - -} } } - -namespace boost { namespace simd { namespace ext -{ - using boost::dispatch::meta::simd_; - using boost::dispatch::meta::logical_; - using boost::dispatch::meta::abstract_; - using boost::dispatch::meta::elementwise_; - using boost::dispatch::meta::reduction_; - using boost::dispatch::meta::cumulative_; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/logical.hpp b/inst/include/boost/simd/sdk/simd/details/logical.hpp deleted file mode 100644 index 580a7d1..0000000 --- a/inst/include/boost/simd/sdk/simd/details/logical.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_LOGICAL_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_LOGICAL_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct cardinal_of< simd::native, X> > - : cardinal_of< simd::native > - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/max_value.hpp b/inst/include/boost/simd/sdk/simd/details/max_value.hpp deleted file mode 100644 index 334ccd0..0000000 --- a/inst/include/boost/simd/sdk/simd/details/max_value.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_MAX_VALUE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_MAX_VALUE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - template - struct max_value_impl - { - template - struct result; - - template - struct result - { - typedef typename dispatch::meta::strip::type sT; - typedef typename mpl::apply1::type vT; - typedef typename dispatch::meta::strip::type sU; - typedef typename mpl::apply1::type vU; - typedef typename mpl::if_< mpl::greater - , sU - , sT - >::type type; - }; - - template - typename result::type operator()(T const&, U const&) const; - }; - - template - struct max_value - : fusion::result_of:: - fold< T - , typename fusion::result_of:: - value_of< typename fusion::result_of::begin::type - >::type - , max_value_impl - > - { - }; - - template::value > - struct max_value_noseq - { - typedef T type; - }; - - template - struct max_value_noseq - : max_value - { - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/native/meta.hpp b/inst/include/boost/simd/sdk/simd/details/native/meta.hpp deleted file mode 100644 index a7ae859..0000000 --- a/inst/include/boost/simd/sdk/simd/details/native/meta.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/native/meta/cardinal_of.hpp b/inst/include/boost/simd/sdk/simd/details/native/meta/cardinal_of.hpp deleted file mode 100644 index 8124883..0000000 --- a/inst/include/boost/simd/sdk/simd/details/native/meta/cardinal_of.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_CARDINAL_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_CARDINAL_OF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - template - struct cardinal_of_native - : boost::mpl::size_t< sizeof(typename meta::as_simd::type)/sizeof(T) > - { - }; - - template - struct cardinal_of_native - : meta::cardinal_of< native< typename max_value< T, meta::cardinal_as >::type - , X - > - > - { - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/native/meta/cardinal_of_declare.hpp b/inst/include/boost/simd/sdk/simd/details/native/meta/cardinal_of_declare.hpp deleted file mode 100644 index 7da3e70..0000000 --- a/inst/include/boost/simd/sdk/simd/details/native/meta/cardinal_of_declare.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_CARDINAL_OF_DECLARE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_CARDINAL_OF_DECLARE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - -namespace details -{ - template - struct cardinal_of_native; -} - -namespace meta -{ - //////////////////////////////////////////////////////////////////////////// - // Overload for SIMD native types - //////////////////////////////////////////////////////////////////////////// - template - struct cardinal_of< native > - : details::cardinal_of_native::value> - {}; -} } } - -#endif - diff --git a/inst/include/boost/simd/sdk/simd/details/native/meta/hierarchy_of.hpp b/inst/include/boost/simd/sdk/simd/details/native/meta/hierarchy_of.hpp deleted file mode 100644 index 7245d3c..0000000 --- a/inst/include/boost/simd/sdk/simd/details/native/meta/hierarchy_of.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_HIERARCHY_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_HIERARCHY_OF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct hierarchy_of< simd::native, Origin> - { - typedef typename remove_const::type stripped; - typedef typename mpl::if_< is_same< simd::native, stripped >, stripped, Origin>::type origin_; - typedef simd::ext::simd_::type, X> type; - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/sdk/simd/details/native/meta/model_of.hpp b/inst/include/boost/simd/sdk/simd/details/native/meta/model_of.hpp deleted file mode 100644 index 6dd4bff..0000000 --- a/inst/include/boost/simd/sdk/simd/details/native/meta/model_of.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_MODEL_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_MODEL_OF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct model_of< simd::native > - { - struct type - { - template - struct apply - { - typedef typename boost::dispatch::meta::primitive_of< typename simd::details::max_value_noseq >::type>::type TT; - typedef typename boost::dispatch::meta::primitive_of< typename simd::details::max_value_noseq >::type>::type XX; - - typedef typename simd::meta::vector_of< X - , sizeof(typename simd::meta::as_simd::type) / sizeof(XX) - >::type type; - }; - }; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/native/meta/register_of.hpp b/inst/include/boost/simd/sdk/simd/details/native/meta/register_of.hpp deleted file mode 100644 index 3723914..0000000 --- a/inst/include/boost/simd/sdk/simd/details/native/meta/register_of.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_REGISTER_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_REGISTER_OF_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace details -{ - template - struct register_of< native > - { - typedef typename native::native_type type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/native/meta/value_of.hpp b/inst/include/boost/simd/sdk/simd/details/native/meta/value_of.hpp deleted file mode 100644 index 85e09da..0000000 --- a/inst/include/boost/simd/sdk/simd/details/native/meta/value_of.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_VALUE_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_VALUE_OF_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct value_of< simd::native > - { - typedef Type type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/native/meta/zero_initialize.hpp b/inst/include/boost/simd/sdk/simd/details/native/meta/zero_initialize.hpp deleted file mode 100644 index 8d47e2b..0000000 --- a/inst/include/boost/simd/sdk/simd/details/native/meta/zero_initialize.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_ZERO_INITIALIZE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_NATIVE_META_ZERO_INITIALIZE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct zero_initialize< native > - { - static BOOST_FORCEINLINE native call() - { - typename native::native_type n = typename native::native_type(); - return native(n); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/operators.hpp b/inst/include/boost/simd/sdk/simd/details/operators.hpp deleted file mode 100644 index 90cd02b..0000000 --- a/inst/include/boost/simd/sdk/simd/details/operators.hpp +++ /dev/null @@ -1,204 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_OPERATORS_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_OPERATORS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_SIMD_OVERLOAD_UNARY_OP(Tag, Op) \ -template \ -BOOST_FORCEINLINE \ -typename boost::dispatch::meta:: \ -sfinae_enable_if< is_value \ - , dispatch::meta:: \ - call< Tag(A0 const&) > \ - >::type \ -operator Op \ -( \ - A0 const & a0 \ -) \ -{ \ - return typename dispatch::make_functor::type()(a0); \ -} \ -/**/ - -#define BOOST_SIMD_OVERLOAD_UNARY_OP_INC(Tag, TagInc, Op) \ -template \ -BOOST_FORCEINLINE \ -typename \ -enable_if< is_value \ - , A0& \ - >::type \ -operator Op \ -( \ - A0 & a0 \ -) \ -{ \ - return a0 = typename dispatch::make_functor::type()(a0); \ -} \ -template \ -BOOST_FORCEINLINE \ -typename \ -enable_if< is_value \ - , A0 \ - >::type \ -operator Op \ -( \ - A0 & a0, \ - int \ -) \ -{ \ - A0 const that = a0; \ - operator Op(a0); \ - return that; \ -} \ -/**/ - -#define BOOST_SIMD_OVERLOAD_BINARY_OP(Tag, Op) \ -template \ -BOOST_FORCEINLINE \ -typename boost::dispatch::meta:: \ -sfinae_enable_if< mpl::and_< is_value, is_value > \ - , dispatch::meta:: \ - call \ - >::type \ -operator Op \ -( \ - A0 const & a0, \ - A1 const & a1 \ -) \ -{ \ - return typename dispatch::make_functor::type()(a0, a1); \ -} \ -/**/ - -#define BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN(Tag, Op) \ -BOOST_SIMD_OVERLOAD_BINARY_OP(Tag, Op) \ -template \ -BOOST_FORCEINLINE \ -typename \ -enable_if< mpl::and_< is_value, is_value > \ - , A0& \ - >::type \ -operator BOOST_PP_CAT(Op, =) \ -( \ - A0 & a0, \ - A1 const & a1 \ -) \ -{ \ - a0 = operator Op(a0, a1); \ - return a0; \ -} \ -template \ -BOOST_FORCEINLINE \ -typename \ -enable_if< mpl::and_< is_value, is_value > \ - , A0 const& \ - >::type \ -operator BOOST_PP_CAT(Op, =) \ -( \ - A0 const & a0, \ - A1 const & a1 \ -) \ -{ \ - a0 = operator Op(a0, a1); \ - return a0; \ -} \ -/**/ - -namespace boost { namespace simd -{ - template - struct is_value - : mpl::or_< boost::dispatch::details::is_mpl_integral - , boost::is_fundamental - , meta::is_native - , proto::is_expr - > - { - }; - - namespace tag - { - struct unary_plus_; - struct unary_minus_; - struct complement_; - struct logical_not_; - struct inc_; - struct dec_; - - struct bitwise_and_; - struct bitwise_or_; - struct bitwise_xor_; - struct plus_; - struct minus_; - struct divides_; - struct multiplies_; - struct modulo_; - struct shift_left_; - struct shift_right_; - struct logical_and_; - struct logical_or_; - - struct is_equal_; - struct is_not_equal_; - struct is_less_; - struct is_greater_; - struct is_less_equal_; - struct is_greater_equal_; - } - - // unary operators - BOOST_SIMD_OVERLOAD_UNARY_OP( tag::unary_plus_ , + ) - BOOST_SIMD_OVERLOAD_UNARY_OP( tag::unary_minus_ , - ) - BOOST_SIMD_OVERLOAD_UNARY_OP( tag::complement_ , ~ ) - BOOST_SIMD_OVERLOAD_UNARY_OP( tag::logical_not_ , ! ) - BOOST_SIMD_OVERLOAD_UNARY_OP_INC( tag::plus_ , tag::inc_, ++ ) - BOOST_SIMD_OVERLOAD_UNARY_OP_INC( tag::minus_ , tag::dec_, -- ) - - // binary operators - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::bitwise_and_ , & ) - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::bitwise_or_ , | ) - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::bitwise_xor_ , ^ ) - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::plus_ , + ) - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::minus_ , - ) - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::divides_ , / ) - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::multiplies_ , * ) - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::modulo_ , % ) - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::shift_left_ , << ) - BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN( tag::shift_right_ , >> ) - BOOST_SIMD_OVERLOAD_BINARY_OP( tag::logical_and_ , && ) - BOOST_SIMD_OVERLOAD_BINARY_OP( tag::logical_or_ , || ) - - // comparison operators - BOOST_SIMD_OVERLOAD_BINARY_OP( tag::is_equal_ , == ) - BOOST_SIMD_OVERLOAD_BINARY_OP( tag::is_not_equal_ , != ) - BOOST_SIMD_OVERLOAD_BINARY_OP( tag::is_less_ , < ) - BOOST_SIMD_OVERLOAD_BINARY_OP( tag::is_greater_ , > ) - BOOST_SIMD_OVERLOAD_BINARY_OP( tag::is_less_equal_ , <= ) - BOOST_SIMD_OVERLOAD_BINARY_OP( tag::is_greater_equal_ , >= ) -} } - -#undef BOOST_SIMD_OVERLOAD_UNARY_OP -#undef BOOST_SIMD_OVERLOAD_UNARY_OP_INC -#undef BOOST_SIMD_OVERLOAD_BINARY_OP -#undef BOOST_SIMD_OVERLOAD_BINARY_OP_ASSIGN - -#endif diff --git a/inst/include/boost/simd/sdk/simd/details/soa_proxy.hpp b/inst/include/boost/simd/sdk/simd/details/soa_proxy.hpp deleted file mode 100644 index 08fa4dd..0000000 --- a/inst/include/boost/simd/sdk/simd/details/soa_proxy.hpp +++ /dev/null @@ -1,377 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_DETAILS_SOA_PROXY_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_DETAILS_SOA_PROXY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4512) // custom operator= required -#pragma warning(disable: 4522) // multiple operator= -#endif - -namespace boost { namespace simd { namespace tag -{ - struct insert_; - struct extract_; -} } } - -namespace boost { namespace simd -{ - template - struct soa_proxy - { - typedef T value_type; - - BOOST_FORCEINLINE soa_proxy(native& data_, std::size_t index_) : data(data_), index(index_) - { - } - -#ifdef BOOST_MSVC - BOOST_FORCEINLINE soa_proxy(soa_proxy const& other) : data(other.data), index(other.index) - { - } -#endif - - BOOST_FORCEINLINE soa_proxy const& operator=(T const& other) const - { - typename dispatch::make_functor::type()(other, data, index); - return *this; - } - - BOOST_FORCEINLINE soa_proxy& operator=(soa_proxy const& other) - { - return const_cast(*this = other()); - } - - BOOST_FORCEINLINE soa_proxy const& operator=(soa_proxy const& other) const - { - return *this = other(); - } - - BOOST_FORCEINLINE operator T() const - { - return typename dispatch::make_functor::type()(data, index); - } - - BOOST_FORCEINLINE T const operator()() const - { - return static_cast(*this); - } - - native& data; - std::size_t index; - - friend BOOST_FORCEINLINE bool operator!(soa_proxy const& a0) { return !a0(); } - friend BOOST_FORCEINLINE bool operator==(soa_proxy const& a0, soa_proxy const& a1) { return a0() == a1(); } - template friend BOOST_FORCEINLINE bool operator==(U const& a0, soa_proxy const& a1) { return a0 == a1(); } - template friend BOOST_FORCEINLINE bool operator==(soa_proxy const& a0, U const& a1) { return a0() == a1; } - friend BOOST_FORCEINLINE bool operator!=(soa_proxy const& a0, soa_proxy const& a1) { return a0() != a1(); } - template friend BOOST_FORCEINLINE bool operator!=(U const& a0, soa_proxy const& a1) { return a0 != a1(); } - template friend BOOST_FORCEINLINE bool operator!=(soa_proxy const& a0, U const& a1) { return a0() != a1; } - friend BOOST_FORCEINLINE std::ostream& operator<<(std::ostream& a0, soa_proxy const& a1) { return a0 << a1(); } - }; - - template - struct is_value; - - template - struct is_value< soa_proxy > - : mpl::true_ - { - }; - - template - struct soa_iterator_base - : std::iterator - { - protected: - BOOST_FORCEINLINE soa_iterator_base(T& data_, std::size_t index_ = 0) : data(data_), index(index_) {} - - - BOOST_FORCEINLINE void increment() - { - ++index; - } - - BOOST_FORCEINLINE void advance(std::ptrdiff_t n) - { - index += n; - } - - BOOST_FORCEINLINE void decrement() - { - --index; - } - - public: - BOOST_FORCEINLINE bool - operator==(soa_iterator_base const& other) const - { - return index == other.index; - } - - BOOST_FORCEINLINE bool - operator<(soa_iterator_base const& other) const - { - return index < other.index; - } - - BOOST_FORCEINLINE bool - operator!=(soa_iterator_base const& other) const - { - return !(this->operator==(other)); - } - - BOOST_FORCEINLINE bool - operator>(soa_iterator_base const& other) const - { - return other.operator<(*this); - } - - BOOST_FORCEINLINE bool - operator<=(soa_iterator_base const& other) const - { - return !(other.operator<(*this)); - } - - BOOST_FORCEINLINE bool - operator>=(soa_iterator_base const& other) const - { - return !(this->operator<(other)); - } - - T& data; - std::size_t index; - }; - - template - BOOST_FORCEINLINE std::ptrdiff_t - operator-(soa_iterator_base const& a0, soa_iterator_base const& a1) - { - return a0.index - a1.index; - } - - template - struct soa_iterator : soa_iterator_base< native > - { - typedef soa_proxy reference; - typedef soa_proxy* pointer; - typedef soa_iterator iterator; - - typedef typename soa_iterator_base< native >::difference_type difference_type; - - BOOST_FORCEINLINE soa_iterator(native& data_, std::size_t index_ = 0) - : soa_iterator_base< native >(data_, index_) - { - } - - BOOST_FORCEINLINE reference - operator*() const - { - return reference(this->data, this->index); - } - - BOOST_FORCEINLINE iterator& - operator++() - { - this->increment(); - return *this; - } - - BOOST_FORCEINLINE iterator - operator++(int) - { - iterator tmp = *this; - this->increment(); - return tmp; - } - - BOOST_FORCEINLINE iterator& - operator--() - { - this->decrement(); - return *this; - } - - BOOST_FORCEINLINE iterator - operator--(int) - { - iterator tmp = *this; - this->decrement(); - return tmp; - } - - BOOST_FORCEINLINE iterator& - operator+=(difference_type i) - { - this->advance(i); - return *this; - } - - BOOST_FORCEINLINE iterator& - operator-=(difference_type i) - { - this->operator+=(-i); - return *this; - } - - BOOST_FORCEINLINE iterator - operator+(difference_type i) const - { - iterator tmp = *this; - return tmp.operator+=(i); - } - - BOOST_FORCEINLINE iterator - operator-(difference_type i) const - { - iterator tmp = *this; - return tmp.operator-=(i); - } - - BOOST_FORCEINLINE reference - operator[](difference_type i) const - { - return *(this->operator+(i)); - } - }; - - template - BOOST_FORCEINLINE soa_iterator - operator+(std::ptrdiff_t n, soa_iterator const& it) - { - return it + n; - } - - template - struct soa_const_iterator : soa_iterator_base< native > - { - typedef T reference; - typedef T const_reference; - typedef const T* pointer; - typedef soa_const_iterator const_iterator; - - typedef typename soa_iterator_base< native >::difference_type difference_type; - - BOOST_FORCEINLINE soa_const_iterator(native const& data_, std::size_t index_ = 0) - : soa_iterator_base< native >(const_cast&>(data_), index_) - { - } - - BOOST_FORCEINLINE soa_const_iterator(soa_iterator const& other) - : soa_iterator_base< native >(other.data, other.index) - { - } - - BOOST_FORCEINLINE const_reference - operator*() const - { - return soa_proxy(this->data, this->index); - } - - BOOST_FORCEINLINE const_iterator& - operator++() - { - this->increment(); - return *this; - } - - BOOST_FORCEINLINE const_iterator - operator++(int) - { - const_iterator tmp = *this; - this->increment(); - return tmp; - } - - BOOST_FORCEINLINE const_iterator& - operator--() - { - this->decrement(); - return *this; - } - - BOOST_FORCEINLINE const_iterator - operator--(int) - { - const_iterator tmp = *this; - this->decrement(); - return tmp; - } - - BOOST_FORCEINLINE const_iterator& - operator+=(difference_type i) - { - this->advance(i); - return *this; - } - - BOOST_FORCEINLINE const_iterator& - operator-=(difference_type i) - { - this->operator+=(-i); - return *this; - } - - BOOST_FORCEINLINE const_iterator - operator+(difference_type i) const - { - const_iterator tmp = *this; - return tmp.operator+=(i); - } - - BOOST_FORCEINLINE const_iterator - operator-(difference_type i) const - { - const_iterator tmp = *this; - return tmp.operator-=(i); - } - - BOOST_FORCEINLINE const_reference - operator[](difference_type i) const - { - return *(this->operator+(i)); - } - }; - - template - BOOST_FORCEINLINE soa_const_iterator - operator+(std::ptrdiff_t n, soa_const_iterator const& it) - { - return it + n; - } -} } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -namespace boost { namespace dispatch { namespace meta -{ - template - struct hierarchy_of< boost::simd::soa_proxy - , Origin - > - { - typedef meta::proxy_ type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions.hpp b/inst/include/boost/simd/sdk/simd/extensions.hpp deleted file mode 100644 index d388888..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Regular SIMD extensions -//////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_SIMD_DISABLE_SIMD) && !defined(NVCC) -#include -#endif - -#include -#include - -#include - -BOOST_DISPATCH_COMBINE_SITE( BOOST_SIMD_DEFAULT_SITE ) - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/common/common.hpp b/inst/include/boost/simd/sdk/simd/extensions/common/common.hpp deleted file mode 100644 index b3bf625..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/common/common.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_COMMON_COMMON_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_COMMON_COMMON_HPP_INCLUDED - -#if !defined(BOOST_SIMD_DETECTED) -#define BOOST_SIMD_NO_SIMD - -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_STRING "simd_emulation_16" -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::simd_emulation_<16u> -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::dispatch::tag::cpu_ -#endif - -#if !defined(BOOST_SIMD_GPR_COUNT) -#define BOOST_SIMD_GPR_COUNT 1u -#endif - -#if !defined(BOOST_SIMD_VR_COUNT) -#define BOOST_SIMD_VR_COUNT 0u -#endif - -#include - -#if !defined(BOOST_SIMD_DETECTED) || defined(BOOST_SIMD_SIMD_HAS_ALL_TYPES) -#define BOOST_SIMD_SIMD_INTEGRAL_UNSIGNED_TYPES BOOST_SIMD_INTEGRAL_UNSIGNED_TYPES -#define BOOST_SIMD_SIMD_INTEGRAL_SIGNED_TYPES BOOST_SIMD_INTEGRAL_SIGNED_TYPES -#define BOOST_SIMD_SIMD_REAL_TYPES BOOST_SIMD_REAL_TYPES -#define BOOST_SIMD_SIMD_INT_CONVERT_TYPES BOOST_SIMD_INT_CONVERT_TYPES -#define BOOST_SIMD_SIMD_UINT_CONVERT_TYPES BOOST_SIMD_UINT_CONVERT_TYPES -#define BOOST_SIMD_SIMD_GROUPABLE_TYPES BOOST_SIMD_GROUPABLE_TYPES -#define BOOST_SIMD_SIMD_SPLITABLE_TYPES BOOST_SIMD_SPLITABLE_TYPES -#define BOOST_SIMD_SIMD_REAL_GROUPABLE_TYPES BOOST_SIMD_REAL_GROUPABLE_TYPES -#define BOOST_SIMD_SIMD_REAL_SPLITABLE_TYPES BOOST_SIMD_REAL_SPLITABLE_TYPES -#endif - -#include -#include - -#define BOOST_SIMD_SIMD_INTEGRAL_TYPES BOOST_SIMD_SIMD_INTEGRAL_UNSIGNED_TYPES BOOST_SIMD_SIMD_INTEGRAL_SIGNED_TYPES -#define BOOST_SIMD_SIMD_UNSIGNED_TYPES BOOST_SIMD_SIMD_INTEGRAL_UNSIGNED_TYPES -#define BOOST_SIMD_SIMD_SIGNED_TYPES BOOST_SIMD_SIMD_REAL_TYPES BOOST_SIMD_SIMD_INTEGRAL_SIGNED_TYPES -#define BOOST_SIMD_SIMD_REAL_CONVERTIBLE_TYPES BOOST_SIMD_SIMD_INT_CONVERT_TYPES BOOST_SIMD_SIMD_UINT_CONVERT_TYPES BOOST_SIMD_SIMD_REAL_TYPES -#define BOOST_SIMD_SIMD_TYPES BOOST_SIMD_SIMD_REAL_TYPES BOOST_SIMD_SIMD_INTEGRAL_TYPES - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/extensions.hpp b/inst/include/boost/simd/sdk/simd/extensions/extensions.hpp deleted file mode 100644 index 79fe72c..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/extensions.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_EXTENSIONS_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_EXTENSIONS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/meta/avx.hpp b/inst/include/boost/simd/sdk/simd/extensions/meta/avx.hpp deleted file mode 100644 index f2b31e6..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/meta/avx.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_AVX_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_AVX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -// Forward-declare logical -namespace boost { namespace simd -{ - template - struct logical; -} } - -//////////////////////////////////////////////////////////////////////////////// -// AVX extensions overload -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace meta -{ - ////////////////////////////////////////////////////////////////////////////// - // For a given type and extension, check if it's a SIMD register type - ////////////////////////////////////////////////////////////////////////////// - template<> struct is_simd_specific<__m256 , tag::avx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__m256d, tag::avx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__m256i, tag::avx_> : boost::mpl::true_ {}; - - ////////////////////////////////////////////////////////////////////////////// - // For a given type and extension, return the associated SIMD register type - ////////////////////////////////////////////////////////////////////////////// - template<> - struct as_simd - { - typedef __m256 type; - }; - - template<> - struct as_simd - { - typedef __m256d type; - }; - - template - struct as_simd::value && !is_same::value >::type> - { - typedef __m256i type; - }; - - template - struct as_simd, tag::avx_> - : as_simd - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/meta/common/tags.hpp b/inst/include/boost/simd/sdk/simd/extensions/meta/common/tags.hpp deleted file mode 100644 index daee280..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/meta/common/tags.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_COMMON_TAGS_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_COMMON_TAGS_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace tag -{ - struct simd_ : boost::dispatch::tag::cpu_ - { - typedef boost::dispatch::tag::cpu_ parent; - }; - - // Tag hierarchy for no extension - template struct simd_emulation_ - : boost::dispatch::tag::cpu_ - { - typedef boost::dispatch::tag::cpu_ parent; - typedef simd_emulation_ type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/meta/powerpc/tags.hpp b/inst/include/boost/simd/sdk/simd/extensions/meta/powerpc/tags.hpp deleted file mode 100644 index c513133..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/meta/powerpc/tags.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_POWERPC_TAGS_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_POWERPC_TAGS_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace tag -{ - // Tag hierarchy for VMX PPC extensions - struct vmx_ : simd_ { typedef simd_ parent; }; - struct vsx_ : vmx_ { typedef vmx_ parent; }; - - // BlueGene/Q SIMD Extension set - struct qpx_ : simd_ { typedef simd_ parent; }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/meta/qpx.hpp b/inst/include/boost/simd/sdk/simd/extensions/meta/qpx.hpp deleted file mode 100644 index 66bd1aa..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/meta/qpx.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_QPX_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_QPX_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template<> - struct is_simd_specific : boost::mpl::true_ {}; - - ////////////////////////////////////////////////////////////////////////////// - // For a given type and extension, return the associated SIMD register type - ////////////////////////////////////////////////////////////////////////////// - template<> - struct as_simd - { - typedef vector4double type; - }; - - template<> - struct as_simd, tag::qpx_> - { - typedef vector4double type; - }; - - template<> - struct is_logical_mask< native, tag::qpx_> > - : boost::mpl::false_ - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/meta/sse.hpp b/inst/include/boost/simd/sdk/simd/extensions/meta/sse.hpp deleted file mode 100644 index aabc613..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/meta/sse.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_SSE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_SSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -// Forward-declare logical -namespace boost { namespace simd -{ - template - struct logical; -} } - -//////////////////////////////////////////////////////////////////////////////// -// SSE extensions overload -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace meta -{ - ////////////////////////////////////////////////////////////////////////////// - // For a given type and extension, check if it's a SIMD register type - ////////////////////////////////////////////////////////////////////////////// - template<> struct is_simd_specific<__m128 , tag::sse_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__m128d, tag::sse_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__m128i, tag::sse_> : boost::mpl::true_ {}; - - ////////////////////////////////////////////////////////////////////////////// - // For a given type and extension, return the associated SIMD register type - ////////////////////////////////////////////////////////////////////////////// - template<> - struct as_simd - { - typedef __m128 type; - }; - - template<> - struct as_simd - { - typedef __m128d type; - }; - - template - struct as_simd::value && !is_same::value >::type> - { - typedef __m128i type; - }; - - template - struct as_simd, tag::sse_> - : as_simd - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/meta/tags.hpp b/inst/include/boost/simd/sdk/simd/extensions/meta/tags.hpp deleted file mode 100644 index db0ce27..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/meta/tags.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_TAGS_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_TAGS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/meta/vmx.hpp b/inst/include/boost/simd/sdk/simd/extensions/meta/vmx.hpp deleted file mode 100644 index 4a51662..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/meta/vmx.hpp +++ /dev/null @@ -1,136 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_VMX_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_VMX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// Altivec PPC extensions overload -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace meta -{ - ////////////////////////////////////////////////////////////////////////////// - // For a given type and extension, check if it's a SIMD register type - ////////////////////////////////////////////////////////////////////////////// - template<> struct is_simd_specific<__vector float, tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector unsigned int , tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector unsigned short, tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector unsigned char , tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector signed int , tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector signed short, tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector signed char , tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector __bool int , tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector __bool short, tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector __bool char , tag::vmx_> : boost::mpl::true_ {}; - #ifdef BOOST_SIMD_HAS_VSX_SUPPORT - template<> struct is_simd_specific<__vector double , tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector unsigned long , tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector signed long , tag::vmx_> : boost::mpl::true_ {}; - template<> struct is_simd_specific<__vector __bool long , tag::vmx_> : boost::mpl::true_ {}; - #endif - - ////////////////////////////////////////////////////////////////////////////// - // For a given type and extension, return the associated SIMD register type - ////////////////////////////////////////////////////////////////////////////// - template - struct as_simd::value && !is_same::value >::type> - { - template< class Type - , std::size_t Sz = sizeof(Type)*CHAR_BIT - , bool Integral = boost::is_integral::value - , bool Signed = boost::is_signed::value - , class Dummy=void - > - struct entry - { - typedef dispatch::meta::na_ type; - }; - - template - struct entry { typedef __vector float type; }; - template - struct entry { typedef __vector unsigned int type; }; - template - struct entry { typedef __vector unsigned short type; }; - template - struct entry { typedef __vector unsigned char type; }; - template - struct entry { typedef __vector signed int type; }; - template - struct entry { typedef __vector signed short type; }; - template - struct entry { typedef __vector signed char type; }; - - #ifdef BOOST_SIMD_HAS_VSX_SUPPORT - template - struct entry { typedef __vector double type; }; - template - struct entry { typedef __vector unsigned long type; }; - template - struct entry { typedef __vector signed long type; }; - #endif - - typedef typename entry::type type; - }; - - template - struct as_simd, tag::vmx_> - { - template - struct entry - { - typedef dispatch::meta::na_ type; - }; - - template - struct entry { typedef __vector __bool int type; }; - template - struct entry { typedef __vector __bool short type; }; - template - struct entry { typedef __vector __bool char type; }; - - #ifdef BOOST_SIMD_HAS_VSX_SUPPORT - template - struct entry { typedef __vector __bool long type; }; - #endif - - typedef typename entry::type type; - }; - - ////////////////////////////////////////////////////////////////////////////// - // For a given type and extension, return the biggest integer supported by - // the extension. - ////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_SIMD_HAS_VSX_SUPPORT - template<> struct biggest_integer - { - typedef boost::simd::int32_t type; - }; - - template<> struct biggest_uinteger - { - typedef boost::simd::uint32_t type; - }; - #endif -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/meta/x86/tags.hpp b/inst/include/boost/simd/sdk/simd/extensions/meta/x86/tags.hpp deleted file mode 100644 index 5454ea5..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/meta/x86/tags.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_X86_TAGS_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_META_X86_TAGS_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace tag -{ - // Tag hierarchy for SSE extensions - struct sse_ : simd_ { typedef simd_ parent; }; - struct sse2_ : sse_ { typedef sse_ parent; }; - struct sse3_ : sse2_ { typedef sse2_ parent; }; - struct sse4a_ : sse3_ { typedef sse3_ parent; }; - -#ifdef BOOST_SIMD_ARCH_AMD - struct ssse3_ : sse4a_ { typedef sse4a_ parent; }; -#else - struct ssse3_ : sse3_ { typedef sse3_ parent; }; -#endif - - struct sse4_1_ : ssse3_ { typedef ssse3_ parent; }; - struct sse4_2_ : sse4_1_ { typedef sse4_1_ parent; }; - struct avx_ : sse4_2_ { typedef sse4_2_ parent; }; - struct fma4_ : avx_ { typedef avx_ parent; }; - struct xop_ : fma4_ { typedef fma4_ parent; }; - -#ifdef BOOST_SIMD_ARCH_AMD - struct fma3_ : xop_ { typedef xop_ parent; }; -#else - struct fma3_ : avx_ { typedef avx_ parent; }; -#endif - - struct avx2_ : fma3_ { typedef fma3_ parent; }; - - // Tag hierarchy for mic extensions - struct mic_ : sse2_ { typedef sse2_ parent; }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/powerpc.hpp b/inst/include/boost/simd/sdk/simd/extensions/powerpc.hpp deleted file mode 100644 index 546fb68..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/powerpc.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_POWERPC_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_POWERPC_HPP_INCLUDED - -#include -#include -#include - -#if defined(BOOST_SIMD_HAS_VSX_SUPPORT) - #if !defined(BOOST_SIMD_VR_COUNT) - #define BOOST_SIMD_VR_COUNT 64u - #endif -#elif defined(BOOST_SIMD_HAS_VMX_SUPPORT) || defined(BOOST_SIMD_HAS_QPX_SUPPORT) - #if !defined(BOOST_SIMD_VR_COUNT) - #define BOOST_SIMD_VR_COUNT 32u - #endif -#endif - -#if defined(BOOST_SIMD_HAS_VMX_SUPPORT) || defined(BOOST_SIMD_HAS_QPX_SUPPORT) - #if !defined(BOOST_SIMD_GPR_COUNT) - #define BOOST_SIMD_GPR_COUNT 32u - #endif -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/powerpc/qpx.hpp b/inst/include/boost/simd/sdk/simd/extensions/powerpc/qpx.hpp deleted file mode 100644 index f8571b7..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/powerpc/qpx.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_POWERPC_QPX_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_POWERPC_QPX_HPP_INCLUDED - -#if defined(__VECTOR4DOUBLE__) -# ifndef BOOST_SIMD_HAS_QPX_SUPPORT -# define BOOST_SIMD_HAS_QPX_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_QPX_SUPPORT) -# undef BOOST_SIMD_HAS_QPX_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_QPX_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// Altivec PPC extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_ALTIVEC -#define BOOST_SIMD_STRING "QPX" -#define BOOST_SIMD_STRING_LIST "QPX" -#define BOOST_SIMD_VMX_FAMILY -#define BOOST_SIMD_BYTES 32 -#define BOOST_SIMD_BITS 256 -#define BOOST_SIMD_CARDINALS (8) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::qpx_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::qpx_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::qpx_ -#define BOOST_SIMD_NO_DENORMALS - -#define BOOST_SIMD_SIMD_REAL_TYPES (double) - -#define BOOST_SIMD_SIMD_INTEGRAL_UNSIGNED_TYPES -#define BOOST_SIMD_SIMD_INTEGRAL_SIGNED_TYPES - -#define BOOST_SIMD_SIMD_INT_CONVERT_TYPES -#define BOOST_SIMD_SIMD_UINT_CONVERT_TYPES - -#define BOOST_SIMD_SIMD_GROUPABLE_TYPES -#define BOOST_SIMD_SIMD_SPLITABLE_TYPES - -#define BOOST_SIMD_SIMD_REAL_GROUPABLE_TYPES -#define BOOST_SIMD_SIMD_REAL_SPLITABLE_TYPES - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/powerpc/vmx.hpp b/inst/include/boost/simd/sdk/simd/extensions/powerpc/vmx.hpp deleted file mode 100644 index b8af8ba..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/powerpc/vmx.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_POWERPC_VMX_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_POWERPC_VMX_HPP_INCLUDED - -#if defined(__ALTIVEC__) || defined(__VEC__) -# ifndef BOOST_SIMD_HAS_VMX_SUPPORT -# define BOOST_SIMD_HAS_VMX_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_VMX_SUPPORT) -# undef BOOST_SIMD_HAS_VMX_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_VMX_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// Include the proper intrinsic include. Depending of the option used by the -// compiler (-faltivec or -maltivec), we need to include altivec.h or not. -//////////////////////////////////////////////////////////////////////////////// -#if !defined(__APPLE_CC__) || __APPLE_CC__ <= 1 || __GNUC__ >= 4 -#include -#endif - -#ifdef bool -#undef bool -#endif -#ifdef pixel -#undef pixel -#endif -#ifdef vector -#undef vector -#endif - -#if defined(__IBMCPP__) || defined(__MWERKS__) -#define __bool bool -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Altivec PPC extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_ALTIVEC -#define BOOST_SIMD_STRING "VMX" -#define BOOST_SIMD_STRING_LIST "VMX" -#define BOOST_SIMD_VMX_FAMILY -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_CARDINALS (4)(8)(16) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::vmx_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::vmx_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::vmx_ -#define BOOST_SIMD_NO_DENORMALS - -#define BOOST_SIMD_SIMD_REAL_TYPES (float) - -#define BOOST_SIMD_SIMD_INTEGRAL_UNSIGNED_TYPES (boost::simd::uint32_t)(boost::simd::uint16_t)(boost::simd::uint8_t) -#define BOOST_SIMD_SIMD_INTEGRAL_SIGNED_TYPES (boost::simd:: int32_t)(boost::simd:: int16_t)(boost::simd:: int8_t) - -#define BOOST_SIMD_SIMD_INT_CONVERT_TYPES (boost::simd:: int32_t) -#define BOOST_SIMD_SIMD_UINT_CONVERT_TYPES (boost::simd::uint32_t) - -#define BOOST_SIMD_SIMD_GROUPABLE_TYPES (boost::simd::int16_t)(boost::simd::uint16_t)(boost::simd::int32_t)(boost::simd::uint32_t) -#define BOOST_SIMD_SIMD_SPLITABLE_TYPES (boost::simd::int16_t)(boost::simd::uint16_t)(boost::simd:: int8_t)(boost::simd:: uint8_t) - -#define BOOST_SIMD_SIMD_REAL_GROUPABLE_TYPES -#define BOOST_SIMD_SIMD_REAL_SPLITABLE_TYPES - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/powerpc/vsx.hpp b/inst/include/boost/simd/sdk/simd/extensions/powerpc/vsx.hpp deleted file mode 100644 index a351387..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/powerpc/vsx.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_POWERPC_VSX_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_POWERPC_VSX_HPP_INCLUDED - -#if defined(__VSX__) -# ifndef BOOST_SIMD_HAS_VSX_SUPPORT -# define BOOST_SIMD_HAS_VSX_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_VSX_SUPPORT) -# undef BOOST_SIMD_HAS_VSX_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_VSX_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// Include the proper intrinsic include. Depending of the option used by the -// compiler (-faltivec or -maltivec), we need to include altivec.h or not. -//////////////////////////////////////////////////////////////////////////////// -#if !defined(__APPLE_CC__) || __APPLE_CC__ <= 1 || __GNUC__ >= 4 -#include -#endif - -#ifdef bool -#undef bool -#endif -#ifdef pixel -#undef pixel -#endif -#ifdef vector -#undef vector -#endif - -#if defined(__IBMCPP__) || defined(__MWERKS__) -#define __bool bool -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Altivec PPC extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_ALTIVEC -#define BOOST_SIMD_STRING "VSX" -#define BOOST_SIMD_STRING_LIST "VMX VSX" -#define BOOST_SIMD_VMX_FAMILY -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::vmx_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::vmx_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::vsx_ -#define BOOST_SIMD_NO_DENORMALS -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86.hpp deleted file mode 100644 index cb95a1c..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_HPP_INCLUDED - -#include - -//////////////////////////////////////////////////////////////////////////////// -// Check for the most recent SSE family extension -//////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(BOOST_SIMD_HAS_SSE_SUPPORT) - #if defined(BOOST_SIMD_ARCH_X86_64) - - #if !defined(BOOST_SIMD_GPR_COUNT) - #define BOOST_SIMD_GPR_COUNT 16u - #endif - - #if !defined(BOOST_SIMD_VR_COUNT) - #define BOOST_SIMD_VR_COUNT 16u - #endif - - #elif defined(BOOST_SIMD_ARCH_X86) - #if !defined(BOOST_SIMD_GPR_COUNT) - #define BOOST_SIMD_GPR_COUNT 8u - #endif - - #if !defined(BOOST_SIMD_VR_COUNT) - #define BOOST_SIMD_VR_COUNT 8u - #endif - #endif -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/avx.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/avx.hpp deleted file mode 100644 index 12f3c35..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/avx.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_AVX_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_AVX_HPP_INCLUDED - -#if defined(__AVX__) -# ifndef BOOST_SIMD_HAS_AVX_SUPPORT -# define BOOST_SIMD_HAS_AVX_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_AVX_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_AVX_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_AVX_SUPPORT) && !defined(BOOST_SIMD_HAS_SSE4_2_SUPPORT) -# define BOOST_SIMD_HAS_SSE4_2_SUPPORT -#endif -#if defined(_MSC_VER) && _MSC_FULL_VER < 160040219 - #undef BOOST_SIMD_HAS_AVX_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_AVX_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// AVX extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_AVX -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "AVX" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX" -#define BOOST_SIMD_BYTES 32 -#define BOOST_SIMD_BITS 256 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16)(32) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::avx_)(::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::avx_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::avx_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#include -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/avx2.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/avx2.hpp deleted file mode 100644 index 8afe1e6..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/avx2.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_AVX2_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_AVX2_HPP_INCLUDED - -#if defined(__AVX2__) -# ifndef BOOST_SIMD_HAS_AVX2_SUPPORT -# define BOOST_SIMD_HAS_AVX2_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_AVX2_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_AVX2_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_AVX2_SUPPORT) && !defined(BOOST_SIMD_HAS_FMA3_SUPPORT) -# define BOOST_SIMD_HAS_FMA3_SUPPORT -#endif -#if defined(_MSC_VER) && _MSC_VER < 1700 - #undef BOOST_SIMD_HAS_AVX2_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_AVX2_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// AVX extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_AVX2 -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "AVX2" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX FMA3 AVX2" -#define BOOST_SIMD_BYTES 32 -#define BOOST_SIMD_BITS 256 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16)(32) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::avx_)(::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::avx_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::avx2_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#include -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/fma3.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/fma3.hpp deleted file mode 100644 index 03b5bbe..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/fma3.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_FMA3_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_FMA3_HPP_INCLUDED - -#if defined(__FMA__) -# ifndef BOOST_SIMD_HAS_FMA3_SUPPORT -# define BOOST_SIMD_HAS_FMA3_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_FMA3_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_FMA3_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_FMA3_SUPPORT) && !defined(BOOST_SIMD_HAS_AVX_SUPPORT) -# define BOOST_SIMD_HAS_AVX_SUPPORT -#endif -#if defined(_MSC_VER) && _MSC_VER < 1700 - #undef BOOST_SIMD_HAS_FMA3_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_FMA3_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// AVX extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_AVX2 -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "FMA3" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX FMA3" -#define BOOST_SIMD_BYTES 32 -#define BOOST_SIMD_BITS 256 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16)(32) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::avx_)(::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::avx_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::fma3_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#include -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/fma4.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/fma4.hpp deleted file mode 100644 index 3e83908..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/fma4.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_FMA4_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_FMA4_HPP_INCLUDED - -#if defined(__FMA4__) -# ifndef BOOST_SIMD_HAS_FMA4_SUPPORT -# define BOOST_SIMD_HAS_FMA4_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_FMA4_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_FMA4_SUPPORT -#endif - -#ifdef BOOST_SIMD_HAS_FMA4_SUPPORT -# ifndef BOOST_SIMD_HAS_AVX_SUPPORT -# define BOOST_SIMD_HAS_AVX_SUPPORT -# endif -# ifndef BOOST_SIMD_HAS_SSE4A_SUPPORT -# define BOOST_SIMD_HAS_SSE4A_SUPPORT -# endif -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_FMA4_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// FMA4 extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_FMA4 -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "FMA4" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3 SSE4A SSSE3 SSE4_1 SSE4_2 AVX FMA4" -#define BOOST_SIMD_BYTES 32 -#define BOOST_SIMD_BITS 256 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16)(32) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::avx_)(::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::avx_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::fma4_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -// FMA4 header not standardized -#ifdef _MSC_VER -#include -#else -#include -#include -#endif - -#include -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/mic.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/mic.hpp deleted file mode 100644 index eb5119d..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/mic.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2014 MetaScale SAS -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_MIC_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_MIC_HPP_INCLUDED - -#if defined(__MIC__) -# ifndef BOOST_SIMD_HAS_MIC_SUPPORT -# define BOOST_SIMD_HAS_MIC_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_MIC_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_MIC_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_MIC_SUPPORT) && !defined(BOOST_SIMD_HAS_SSE2_SUPPORT) -# define BOOST_SIMD_HAS_SSE2_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_MIC_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// MIC extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_MIC -#define BOOST_SIMD_STRING "MIC" -#define BOOST_SIMD_STRING_LIST "MIC SSE2" -#define BOOST_SIMD_BYTES 64 -#define BOOST_SIMD_BITS 512 -#define BOOST_SIMD_CARDINALS (8)(16) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::mic_)(::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::mic_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::mic_ - -#define BOOST_SIMD_SIMD_REAL_TYPES (double)(float) - -#define BOOST_SIMD_SIMD_INTEGRAL_UNSIGNED_TYPES (boost::simd::uint64_t)(boost::simd::uint32_t) -#define BOOST_SIMD_SIMD_INTEGRAL_SIGNED_TYPES (boost::simd::int64_t)(boost::simd::int32_t) - -#define BOOST_SIMD_SIMD_INT_CONVERT_TYPES (boost::simd::int64_t)(boost::simd::int32_t) -#define BOOST_SIMD_SIMD_UINT_CONVERT_TYPES (boost::simd::uint64_t)(boost::simd::uint32_t) - -#define BOOST_SIMD_SIMD_REAL_GROUPABLE_TYPES (double) -#define BOOST_SIMD_SIMD_REAL_SPLITABLE_TYPES (float) - -#define BOOST_SIMD_SIMD_GROUPABLE_TYPES (double)(boost::simd::int64_t)(boost::simd::uint64_t) -#define BOOST_SIMD_SIMD_SPLITABLE_TYPES (float)(boost::simd::int32_t)(boost::simd::uint32_t) - -#include -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/sse.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/sse.hpp deleted file mode 100644 index 7e2b80a..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/sse.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE_HPP_INCLUDED - -#if defined(__SSE__) || defined(_M_X64) || _M_IX86_FP >= 1 -# ifndef BOOST_SIMD_HAS_SSE_SUPPORT -# define BOOST_SIMD_HAS_SSE_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_SSE_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_SSE_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_SSE_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// SSE2 extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_SSE -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "SSE" -#define BOOST_SIMD_STRING_LIST "SSE" -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_CARDINALS (4) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::sse_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::sse_ - -#define BOOST_SIMD_SIMD_REAL_TYPES (float) - -#define BOOST_SIMD_SIMD_INTEGRAL_UNSIGNED_TYPES -#define BOOST_SIMD_SIMD_INTEGRAL_SIGNED_TYPES - -#define BOOST_SIMD_SIMD_INT_CONVERT_TYPES -#define BOOST_SIMD_SIMD_UINT_CONVERT_TYPES - -#define BOOST_SIMD_SIMD_REAL_GROUPABLE_TYPE -#define BOOST_SIMD_SIMD_REAL_SPLITABLE_TYPES (float) - -#define BOOST_SIMD_SIMD_GROUPABLE_TYPES -#define BOOST_SIMD_SIMD_SPLITABLE_TYPES - -#include - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/sse2.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/sse2.hpp deleted file mode 100644 index 8deeb15..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/sse2.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE2_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE2_HPP_INCLUDED - -#if defined(__SSE2__) || defined(_M_X64) || _M_IX86_FP >= 2 -# ifndef BOOST_SIMD_HAS_SSE2_SUPPORT -# define BOOST_SIMD_HAS_SSE2_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_SSE2_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_SSE2_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_SSE2_SUPPORT) && !defined(BOOST_SIMD_HAS_SSE_SUPPORT) -# define BOOST_SIMD_HAS_SSE_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_SSE2_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// SSE2 extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_SSE2 -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "SSE2" -#define BOOST_SIMD_STRING_LIST "SSE2" -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::sse_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::sse2_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/sse3.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/sse3.hpp deleted file mode 100644 index ec06279..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/sse3.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE3_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE3_HPP_INCLUDED - -#if defined(__SSE3__) -# ifndef BOOST_SIMD_HAS_SSE3_SUPPORT -# define BOOST_SIMD_HAS_SSE3_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_SSE3_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_SSE3_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_SSE3_SUPPORT) && !defined(BOOST_SIMD_HAS_SSE2_SUPPORT) -# define BOOST_SIMD_HAS_SSE2_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_SSE3_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// SSE3 extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_SSE3 -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "SSE3" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3" -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::sse_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::sse3_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/sse4_1.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/sse4_1.hpp deleted file mode 100644 index d4ef328..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/sse4_1.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE4_1_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE4_1_HPP_INCLUDED - -#if defined(__SSE4_1__) -# ifndef BOOST_SIMD_HAS_SSE4_1_SUPPORT -# define BOOST_SIMD_HAS_SSE4_1_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_SSE4_1_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_SSE4_1_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_SSE4_1_SUPPORT) && !defined(BOOST_SIMD_HAS_SSSE3_SUPPORT) -# define BOOST_SIMD_HAS_SSSE3_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_SSE4_1_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// SSE4_1 extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_SSE4_1 -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "SSE4_1" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3 SSSE3 SSE4_1" -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::sse_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::sse4_1_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/sse4_2.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/sse4_2.hpp deleted file mode 100644 index d69b713..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/sse4_2.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE4_2_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE4_2_HPP_INCLUDED - -#if defined(__SSE4_2__) -# ifndef BOOST_SIMD_HAS_SSE4_2_SUPPORT -# define BOOST_SIMD_HAS_SSE4_2_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_SSE4_2_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_SSE4_2_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_SSE4_2_SUPPORT) && !defined(BOOST_SIMD_HAS_SSE4_1_SUPPORT) -# define BOOST_SIMD_HAS_SSE4_1_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_SSE4_2_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// SSE4_2 extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_SSE4_2 -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "SSE4_2" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3 SSSE3 SSE4_1 SSE4_2" -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::sse_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::sse4_2_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/sse4a.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/sse4a.hpp deleted file mode 100644 index b9aa291..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/sse4a.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE4A_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSE4A_HPP_INCLUDED - -#if defined(__SSE4A__) -# ifndef BOOST_SIMD_HAS_SSE4A_SUPPORT -# define BOOST_SIMD_HAS_SSE4A_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_SSE4A_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_SSE4A_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_SSE4A_SUPPORT) && !defined(BOOST_SIMD_HAS_SSE3_SUPPORT) -# define BOOST_SIMD_HAS_SSE3_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_SSE4A_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// SSE4A extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_SSE4A -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "SSE4A" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3 SSE4A" -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::sse_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::sse4a_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/ssse3.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/ssse3.hpp deleted file mode 100644 index 663cb44..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/ssse3.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSSE3_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_SSSE3_HPP_INCLUDED - -#if defined(__SSSE3__) -# ifndef BOOST_SIMD_HAS_SSSE3_SUPPORT -# define BOOST_SIMD_HAS_SSSE3_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_SSSE3_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_SSSE3_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_SSSE3_SUPPORT) && !defined(BOOST_SIMD_HAS_SSE3_SUPPORT) -# define BOOST_SIMD_HAS_SSE3_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_SSSE3_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// SSSE3 extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_SSSE3 -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "SSSE3" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3 SSSE3" -#define BOOST_SIMD_BYTES 16 -#define BOOST_SIMD_BITS 128 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::sse_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::ssse3_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -#include - -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/extensions/x86/xop.hpp b/inst/include/boost/simd/sdk/simd/extensions/x86/xop.hpp deleted file mode 100644 index a4de067..0000000 --- a/inst/include/boost/simd/sdk/simd/extensions/x86/xop.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_XOP_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_EXTENSIONS_X86_XOP_HPP_INCLUDED - -#if defined(__XOP__) -# ifndef BOOST_SIMD_HAS_XOP_SUPPORT -# define BOOST_SIMD_HAS_XOP_SUPPORT -# endif -#elif defined(BOOST_SIMD_HAS_XOP_SUPPORT) && !defined(_MSC_VER) -# undef BOOST_SIMD_HAS_XOP_SUPPORT -#endif - -#if defined(BOOST_SIMD_HAS_XOP_SUPPORT) && !defined(BOOST_SIMD_HAS_FMA4_SUPPORT) -# define BOOST_SIMD_HAS_FMA4_SUPPORT -#endif - -#if !defined(BOOST_SIMD_DETECTED) && defined(BOOST_SIMD_HAS_XOP_SUPPORT) - -//////////////////////////////////////////////////////////////////////////////// -// XOP extensions flags -//////////////////////////////////////////////////////////////////////////////// -#define BOOST_SIMD_DETECTED -#define BOOST_SIMD_XOP -#define BOOST_SIMD_SSE_FAMILY -#define BOOST_SIMD_STRING "XOP" -#define BOOST_SIMD_STRING_LIST "SSE2 SSE3 SSE4A SSSE3 SSE4_1 SSE4_2 AVX FMA4 XOP" -#define BOOST_SIMD_BYTES 32 -#define BOOST_SIMD_BITS 256 -#define BOOST_SIMD_CARDINALS (2)(4)(8)(16)(32) -#define BOOST_SIMD_TAG_SEQ (::boost::simd::tag::avx_)(::boost::simd::tag::sse_) - -#ifndef BOOST_SIMD_DEFAULT_EXTENSION -#define BOOST_SIMD_DEFAULT_EXTENSION ::boost::simd::tag::avx_ -#endif - -#define BOOST_SIMD_DEFAULT_SITE ::boost::simd::tag::xop_ -#define BOOST_SIMD_SIMD_HAS_ALL_TYPES - -// XOP header not standardized -#ifdef _MSC_VER -#include -#else -#include -#include -#endif - -#include -#include - -#endif -#endif diff --git a/inst/include/boost/simd/sdk/simd/io.hpp b/inst/include/boost/simd/sdk/simd/io.hpp deleted file mode 100644 index a232f73..0000000 --- a/inst/include/boost/simd/sdk/simd/io.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_IO_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_IO_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - ////////////////////////////////////////////////////////////////////////////// - // Stream insertion for swar types - ////////////////////////////////////////////////////////////////////////////// - template inline std::ostream& - operator<<( std::ostream& os, native const & v ) - { - os << "( " << details::display(v[0]); - for(std::size_t i=1;i -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - //============================================================================ - /*! - * logical is a thin wrapper used to optimize bool-to-type conversion and - * provide a scalar equivalent of typed boolean SIMD types. logical is also - * set up to work as a vectorizable type, beign mapped to proper register type - * for any given extension - */ - //============================================================================ - template struct BOOST_SIMD_MAY_ALIAS logical - { - typedef T value_type; - typedef typename dispatch::meta::as_integer::type bits; - - //========================================================================== - /*! - * Default logical constructor - **/ - //========================================================================== - BOOST_FORCEINLINE logical() : value_(0) {} - - //========================================================================== - /*! - * Constructs a logical from a boolean value - * - * \param v Boolean value to convert to logical - **/ - //========================================================================== - template - BOOST_FORCEINLINE explicit logical(U v, typename boost::disable_if< boost::dispatch::meta::is_proxy >::type* =0) - : value_(v != 0) - { - } - - BOOST_FORCEINLINE logical& operator=(bool v) - { - value_ = v; - return *this; - } - - friend BOOST_FORCEINLINE - bool operator ==(logical const& a0, logical const& a1) { return a0.value() == a1.value(); } - - friend BOOST_FORCEINLINE - bool operator !=(logical const& a0, logical const& a1) { return a0.value() != a1.value(); } - - friend BOOST_FORCEINLINE logical operator ~(logical const& a0) { return logical(~a0.value()); } - friend BOOST_FORCEINLINE logical operator !(logical const& a0) { return logical(!a0.value()); } - - //========================================================================== - /*! - * Convert a logical value to a real boolean - * - * \return Value of type \c bool containing the state of the logical - **/ - //========================================================================== - BOOST_FORCEINLINE operator bool() const { return value_; } - BOOST_FORCEINLINE bool value() const {return value_; } - - private: - bool value_; - }; - - //////////////////////////////////////////////////////////////////////////// - // Stream insertion for logical - //////////////////////////////////////////////////////////////////////////// - template - BOOST_FORCEINLINE - std::ostream& operator<<(std::ostream& os, logical const& v ) - { - return os << (v ? "true" : "false"); - } -} } - -//============================================================================== -// Register logical to various dispatch system -//============================================================================== -namespace boost { namespace dispatch { namespace meta -{ - template - struct hierarchy_of< simd::logical, Origin> - { - typedef typename remove_const::type stripped; - typedef typename mpl::if_< is_same< simd::logical, stripped >, stripped, Origin >::type origin_; - typedef meta::scalar_< simd::ext::logical_ > type; - }; - - template - struct property_of< simd::logical, Origin> - { - typedef simd::ext::logical_ type; - }; - - template - struct value_of< simd::logical > - { - typedef T type; - }; - - template - struct model_of< simd::logical > - { - struct type - { - template - struct apply - { - typedef simd::logical type; - }; - }; - }; - - template - struct scalar_of< simd::logical > - { - typedef simd::logical type; - }; -} } } - -namespace boost { namespace simd { namespace meta -{ - template - struct real_of; - - template - struct real_of< simd::logical > - { - typedef simd::logical type; - }; -} } } - -#include -#include -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/as_simd.hpp b/inst/include/boost/simd/sdk/simd/meta/as_simd.hpp deleted file mode 100644 index 96d6fce..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/as_simd.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_AS_SIMD_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_AS_SIMD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Forward-declare logical -namespace boost { namespace simd -{ - template - struct logical; -} } - -namespace boost { namespace simd { namespace meta -{ - template - struct as_simd - { - typedef dispatch::meta::na_ type; - }; - - template - struct as_simd, typename enable_if< is_fundamental >::type> - { - typedef boost::simd::aligned_array type; - }; - - template - struct as_simd, tag::simd_emulation_ > - : as_simd > - { - }; - - // Some GCC and Clang versions require full specializations - #define M0(r,n,t) \ - template<> \ - struct as_simd > \ - { \ - typedef t type __attribute__((__vector_size__(n))); \ - }; \ - /**/ - -// GCC bug with 64-bit integer types on i686 -// Also affects GCC 4.8.x on x86-64 -#if defined(BOOST_SIMD_COMPILER_GCC) && defined(BOOST_SIMD_ARCH_X86) && ((__GNUC__ == 4 && __GNUC_MINOR__ == 8) || !defined(BOOST_SIMD_ARCH_X86_64)) - #define M1(z,n,t) BOOST_PP_SEQ_FOR_EACH(M0, n, BOOST_SIMD_SPLITABLE_TYPES(double)) -#else - #define M1(z,n,t) BOOST_PP_SEQ_FOR_EACH(M0, n, BOOST_SIMD_TYPES) -#endif -#ifdef __GNUC__ - M0(0, 1, boost::simd::int8_t) - M0(0, 1, boost::simd::uint8_t) - M0(0, 2, boost::simd::int8_t) - M0(0, 2, boost::simd::uint8_t) - M0(0, 2, boost::simd::int16_t) - M0(0, 2, boost::simd::uint16_t) - M0(0, 4, boost::simd::int8_t) - M0(0, 4, boost::simd::uint8_t) - M0(0, 4, boost::simd::int16_t) - M0(0, 4, boost::simd::uint16_t) - M0(0, 4, boost::simd::int32_t) - M0(0, 4, boost::simd::uint32_t) - M0(0, 4, float) - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM(8, M1, ~) -#endif - #undef M0 - #undef M1 - -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/biggest_integer.hpp b/inst/include/boost/simd/sdk/simd/meta/biggest_integer.hpp deleted file mode 100644 index a21e071..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/biggest_integer.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_BIGGEST_INTEGER_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_BIGGEST_INTEGER_HPP_INCLUDED - -namespace boost { namespace simd { namespace meta -{ - template - struct biggest_integer - { - typedef boost::simd::int64_t type; - }; - - template - struct biggest_uinteger - { - typedef boost::simd::uint64_t type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/extension_of.hpp b/inst/include/boost/simd/sdk/simd/meta/extension_of.hpp deleted file mode 100644 index 8b25a12..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/extension_of.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_EXTENSION_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_EXTENSION_OF_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct extension_of - { - typedef dispatch::meta::na_ type; - }; - - template - struct extension_of< boost::simd::native > { typedef X type; }; -} } } - - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/has_extension.hpp b/inst/include/boost/simd/sdk/simd/meta/has_extension.hpp deleted file mode 100644 index 93a576b..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/has_extension.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_HAS_EXTENSION_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_HAS_EXTENSION_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct has_extension - : is_same::type, X> - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/is_logical_mask.hpp b/inst/include/boost/simd/sdk/simd/meta/is_logical_mask.hpp deleted file mode 100644 index bc33403..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/is_logical_mask.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2014 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_IS_LOGICAL_MASK_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_IS_LOGICAL_MASK_HPP_INCLUDED - -#include -#include -/*! - @brief Is a SIMD vector both bitwise_logical and contain either all 0 or ~0. - - This metafunction represents a subset of is_bitwise_logical and returns true - if the same SIMD registers are used by both arithmetic and logical vectors and - if logical vectors are represented by either all 0 or ~0. This is assumed to be - true - otherwise overloads must be provided on architectures where logical types - are bitwise_logical but do not contain either all 0 or ~0 - for example qpx. - - @par semantic - boost::simd::meta::is_logical_mask::value = true/false - - @param T - a SIMD register on the target architecture -*/ - -// Forward-declare logical -namespace boost { namespace simd -{ - template - struct logical; -} } - -namespace boost { namespace simd { namespace meta -{ - template - struct is_logical_mask - : mpl::false_ - { - }; - - template - struct is_logical_mask< native< logical, X > > - : is_bitwise_logical, X > > - { - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/is_native.hpp b/inst/include/boost/simd/sdk/simd/meta/is_native.hpp deleted file mode 100644 index 2059202..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/is_native.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_IS_NATIVE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_IS_NATIVE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template struct is_native : boost::mpl::false_ {}; - - template - struct is_native >: boost::mpl::true_ {}; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/is_real_convertible.hpp b/inst/include/boost/simd/sdk/simd/meta/is_real_convertible.hpp deleted file mode 100644 index b59a375..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/is_real_convertible.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_IS_REAL_CONVERTIBLE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_IS_REAL_CONVERTIBLE_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct is_real_convertible - : boost::mpl::bool_ < ( sizeof(float) - <= sizeof(typename boost::dispatch::meta::scalar_of::type) - ) - > {}; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/is_simd_specific.hpp b/inst/include/boost/simd/sdk/simd/meta/is_simd_specific.hpp deleted file mode 100644 index 91a33e8..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/is_simd_specific.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_IS_SIMD_SPECIFIC_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_IS_SIMD_SPECIFIC_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct is_simd_specific : boost::mpl::false_ {}; - - template - struct is_simd_specific < boost::simd::aligned_array - , tag::simd_emulation_< N * sizeof(T) > - > : boost::mpl::true_ - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/is_vectorizable.hpp b/inst/include/boost/simd/sdk/simd/meta/is_vectorizable.hpp deleted file mode 100644 index f81992d..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/is_vectorizable.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_IS_VECTORIZABLE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_IS_VECTORIZABLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - /// INTERNAL ONLY - template - struct is_vectorizable - : boost::mpl::bool_ < ! boost::is_same - < typename meta::as_simd::type - , boost::dispatch::meta::na_ - >::value - > - {}; - - /// INTERNAL ONLY - template< class T, class Extension > - struct is_vectorizable < T - , Extension - , typename - boost::enable_if< boost::fusion::traits - ::is_sequence - >::type - > - : boost::dispatch::meta - ::all_seq< is_vectorizable - , typename boost::fusion::result_of::as_vector::type - > - {}; -} } } - -namespace boost { namespace simd { namespace meta -{ - template - struct is_vectorizable - : details::is_vectorizable - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/native_cardinal.hpp b/inst/include/boost/simd/sdk/simd/meta/native_cardinal.hpp deleted file mode 100644 index f8d20f2..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/native_cardinal.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_NATIVE_CARDINAL_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_NATIVE_CARDINAL_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - template struct logical; - - namespace meta - { - template - struct native_cardinal - : boost::mpl::size_t< BOOST_SIMD_BYTES / sizeof(T) > {}; - - template - struct native_cardinal< logical > - : boost::mpl::size_t< BOOST_SIMD_BYTES / sizeof(T) > {}; - } -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/retarget.hpp b/inst/include/boost/simd/sdk/simd/meta/retarget.hpp deleted file mode 100644 index 57443d0..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/retarget.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_RETARGET_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_RETARGET_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct retarget - { - typedef typename T::value_type value_type; - typedef simd::native type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/unroll.hpp b/inst/include/boost/simd/sdk/simd/meta/unroll.hpp deleted file mode 100644 index 61347cd..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/unroll.hpp +++ /dev/null @@ -1,246 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_UNROLL_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_UNROLL_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Specializations for unroll (Duff's devices optimization) -//////////////////////////////////////////////////////////////////////////////// - -namespace boost{ namespace simd{ namespace meta{ - - template - struct unroll - {}; - - template<> - struct unroll<0> - { - template - inline static void - apply( SimdInputIterator& in, SimdInputIterator const& end - , SimdOutputIterator& out, UnOp f) - { - while(in != end) - *out++ = f(*in++); - } - - template - inline static void - apply( SimdInputIterator& in1, SimdInputIterator& in2 - , SimdInputIterator const& end, SimdOutputIterator& out, BinOp f) - { - while(in1 != end) - *out++ = f(*in1++,*in2++); - } - - }; - - template<> - struct unroll<2> - { - template - inline static void - apply( SimdInputIterator& in, SimdInputIterator const& end - , SimdOutputIterator& out, UnOp f) - { - typename SimdInputIterator::difference_type distance = end - in; - typename SimdInputIterator::difference_type n = (distance + 1) / 2; - - switch(distance % 2) - { - case 0 : do{ - *out++ = f(*in++); - case 1 : *out++ = f(*in++); - } while(--n > 0); - } - } - - template - inline static void - apply( SimdInputIterator& in1, SimdInputIterator& in2 - , SimdInputIterator const& end, SimdOutputIterator& out, BinOp f) - { - typename SimdInputIterator::difference_type distance = end - in1; - typename SimdInputIterator::difference_type n = (distance + 1) / 2; - - switch(distance % 2) - { - case 0 : do{ - *out++ = f(*in1++,*in2++); - case 1 : *out++ = f(*in1++,*in2++); - } while(--n > 0); - } - } - }; - - template<> - struct unroll<4> - { - template - inline static void - apply( SimdInputIterator& in, SimdInputIterator const& end - , SimdOutputIterator& out, UnOp f) - { - typename SimdInputIterator::difference_type distance = end - in; - typename SimdInputIterator::difference_type n = (distance + 3) / 4; - - switch(distance % 4) - { - case 0 : do{ - *out++ = f(*in++); - case 3 : *out++ = f(*in++); - case 2 : *out++ = f(*in++); - case 1 : *out++ = f(*in++); - } while(--n > 0); - } - } - - template - inline static void - apply( SimdInputIterator& in1, SimdInputIterator& in2 - , SimdInputIterator const& end, SimdOutputIterator& out, BinOp f) - { - typename SimdInputIterator::difference_type distance = end - in1; - typename SimdInputIterator::difference_type n = (distance + 3) / 4; - - switch(distance % 4) - { - case 0 : do{ - *out++ = f(*in1++,*in2++); - case 3 : *out++ = f(*in1++,*in2++); - case 2 : *out++ = f(*in1++,*in2++); - case 1 : *out++ = f(*in1++,*in2++); - } while(--n > 0); - } - } - - }; - - template<> - struct unroll<8> - { - template - inline static void - apply( SimdInputIterator& in, SimdInputIterator const& end - , SimdOutputIterator& out, UnOp f) - { - typename SimdInputIterator::difference_type distance = end - in; - typename SimdInputIterator::difference_type n = (distance + 7) / 8; - - switch(distance % 8) - { - case 0 : do{ - *out++ = f(*in++); - case 7 : *out++ = f(*in++); - case 6 : *out++ = f(*in++); - case 5 : *out++ = f(*in++); - case 4 : *out++ = f(*in++); - case 3 : *out++ = f(*in++); - case 2 : *out++ = f(*in++); - case 1 : *out++ = f(*in++); - } while(--n > 0); - } - } - - template - inline static void - apply( SimdInputIterator& in1, SimdInputIterator& in2 - , SimdInputIterator const& end, SimdOutputIterator& out, BinOp f) - { - typename SimdInputIterator::difference_type distance = end - in1; - typename SimdInputIterator::difference_type n = (distance + 7) / 8; - - switch(distance % 8) - { - case 0 : do{ - *out++ = f(*in1++,*in2++); - case 7 : *out++ = f(*in1++,*in2++); - case 6 : *out++ = f(*in1++,*in2++); - case 5 : *out++ = f(*in1++,*in2++); - case 4 : *out++ = f(*in1++,*in2++); - case 3 : *out++ = f(*in1++,*in2++); - case 2 : *out++ = f(*in1++,*in2++); - case 1 : *out++ = f(*in1++,*in2++); - } while(--n > 0); - } - } - }; - - template<> - struct unroll<16> - { - template - inline static void - apply( SimdInputIterator& in, SimdInputIterator const& end - , SimdOutputIterator& out, UnOp f) - { - typename SimdInputIterator::difference_type distance = end - in; - typename SimdInputIterator::difference_type n = (distance + 15) / 16; - - switch(distance % 16) - { - case 0 : do{ - *out++ = f(*in++); - case 15 : *out++ = f(*in++); - case 14 : *out++ = f(*in++); - case 13 : *out++ = f(*in++); - case 12 : *out++ = f(*in++); - case 11 : *out++ = f(*in++); - case 10 : *out++ = f(*in++); - case 9 : *out++ = f(*in++); - case 8 : *out++ = f(*in++); - case 7 : *out++ = f(*in++); - case 6 : *out++ = f(*in++); - case 5 : *out++ = f(*in++); - case 4 : *out++ = f(*in++); - case 3 : *out++ = f(*in++); - case 2 : *out++ = f(*in++); - case 1 : *out++ = f(*in++); - } while(--n > 0); - } - } - - template - inline static void - apply( SimdInputIterator& in1, SimdInputIterator& in2 - , SimdInputIterator const& end, SimdOutputIterator& out, BinOp f) - { - typename SimdInputIterator::difference_type distance = end - in1; - typename SimdInputIterator::difference_type n = (distance + 15) / 16; - - switch(distance % 16) - { - case 0 : do{ - *out++ = f(*in1++,*in2++); - case 15 : *out++ = f(*in1++,*in2++); - case 14 : *out++ = f(*in1++,*in2++); - case 13 : *out++ = f(*in1++,*in2++); - case 12 : *out++ = f(*in1++,*in2++); - case 11 : *out++ = f(*in1++,*in2++); - case 10 : *out++ = f(*in1++,*in2++); - case 9 : *out++ = f(*in1++,*in2++); - case 8 : *out++ = f(*in1++,*in2++); - case 7 : *out++ = f(*in1++,*in2++); - case 6 : *out++ = f(*in1++,*in2++); - case 5 : *out++ = f(*in1++,*in2++); - case 4 : *out++ = f(*in1++,*in2++); - case 3 : *out++ = f(*in1++,*in2++); - case 2 : *out++ = f(*in1++,*in2++); - case 1 : *out++ = f(*in1++,*in2++); - } while(--n > 0); - } - } - }; - -} } } - - - -#endif diff --git a/inst/include/boost/simd/sdk/simd/meta/vector_of.hpp b/inst/include/boost/simd/sdk/simd/meta/vector_of.hpp deleted file mode 100644 index 8935fde..0000000 --- a/inst/include/boost/simd/sdk/simd/meta/vector_of.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_META_VECTOR_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_META_VECTOR_OF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template - struct vector_of; -} - -namespace details -{ - template - struct vector_of2 - { - typedef typename dispatch::meta::primitive_of::type base_t; - typedef simd::native > type; - }; - - template - struct vector_of2 - { - typedef typename max_value >::type mT; - typedef typename meta::vector_of::type nT; - typedef simd::native type; - }; - -#ifdef BOOST_SIMD_DETECTED - /* We use boost::mpl::sizeof_ rather than sizeof because MSVC has trouble - * with sizeof of dependent names in SFINAE contexts */ - #define BOOST_SIMD_LOCAL(z,d,r) \ - template \ - struct vector_of2< T, Card, false \ - , typename boost:: \ - enable_if_c < meta::cardinal_as::value == Card >::type \ - > \ - { \ - typedef simd::native type; \ - }; \ - /**/ - BOOST_PP_SEQ_FOR_EACH(BOOST_SIMD_LOCAL,~,BOOST_SIMD_TAG_SEQ) - #undef BOOST_SIMD_LOCAL -#endif - - template - struct vector_of : vector_of2::value> - { - }; - - // vectors must have at least 2 elements, vectors of 1 elements are scalar values - template - struct vector_of - { - typedef T type; - }; -} } } - -namespace boost { namespace simd { namespace meta -{ - ////////////////////////////////////////////////////////////////////////////// - // vector_of computes the proper type for pack of N elements of types T - // Either maps onto a SIMD types, either to array - ////////////////////////////////////////////////////////////////////////////// - template - struct vector_of - : details::vector_of - { - }; - - template - struct vector_of - { - typedef typename meta::vector_of::type& type; - }; - - template - struct vector_of - { - typedef typename meta::vector_of::type const type; - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/native.hpp b/inst/include/boost/simd/sdk/simd/native.hpp deleted file mode 100644 index 9f5fd6a..0000000 --- a/inst/include/boost/simd/sdk/simd/native.hpp +++ /dev/null @@ -1,227 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_NATIVE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_NATIVE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - /*! - @brief Platform independent native SIMD type - - native is a portable wrapper around compiler and instruction set specific - SIMD register types. It is designed to behave exactly as such types except - with a proper type information and a correct value semantic. native also - exhibits a Random Access Range interface and is adapted as a Random Access - Fusion sequence. - - @tparam Scalar Base scalar type to store in a register - @tparam Extension SIMD extension tag - **/ - template< typename Scalar - , typename Extension -#if !defined(DOXYGEN_ONLY) - , typename Enable -#endif - > - struct BOOST_SIMD_MAY_ALIAS native - { - //========================================================================== - // native specific static interface - //========================================================================== - /// @brief Current extension tag type - typedef Extension extension_type; - - /// @brief Native extension specific register type - typedef typename meta::as_simd::type native_type; - - BOOST_MPL_ASSERT_MSG( - (!is_same::value), - BOOST_SIMD_NATIVE_TYPE_UNSUPPORTED_ON_EXTENSION, - (Scalar, Extension) - ); - - BOOST_MPL_ASSERT_MSG( - (!is_const::value && !is_reference::value), - BOOST_SIMD_NATIVE_TYPE_MUST_NOT_BE_REF_OR_QUALIFIED, - (Scalar) - ); - - // @brief underlying arithmetic type (if logical) - typedef native::type, Extension> type; - - //========================================================================== - // native models RandomAccessRange and FusionRandomAccessSequence - //========================================================================== - typedef Scalar value_type; - typedef std::size_t size_type; - typedef soa_proxy reference; - typedef value_type const const_reference; - typedef soa_iterator iterator; - typedef soa_const_iterator const_iterator; - typedef boost::fusion::boost_array_tag fusion_tag; - - /*! - @brief Internal type rebinder - - Rebind a native type to another base scalar type. - - @par Semantic: - - For any type @c T, @c U and any extension tag @c X, the following code: - - @code - typedef native::rebind::type r; - @endcode - - is equivalent to - - @code - typedef native r; - @endcode - - @tparam U new base scalar type - **/ - template struct rebind - { - typedef native type; - }; - - /// @brief Number of element stored in a native type - enum v_size { static_size = meta::cardinal_of< native >::value }; - - /// @brief Default constructor - BOOST_FORCEINLINE native() {} - - /// @brief Constructs a native from a extension specific register - BOOST_FORCEINLINE native(native_type s) : data_(s) {} - -#if defined(BOOST_MSVC) || defined(DOXYGEN_ONLY) - /// @brief Copy constructs a native from another one - BOOST_FORCEINLINE native(native const& other) : data_(other.data_) {} -#endif - - /// @brief Assignment between native instances - BOOST_FORCEINLINE native& operator=(native const& s) - { - // This operator= generates better code than the default-generated one - data_ = s.data_; - return *this; - } - - /// @brief Assign an extension specific register to a native - BOOST_FORCEINLINE native& operator=(native_type s) - { - data_ = s; - return *this; - } - - //========================================================================== - // Typecasting operators for compatibility with intrinsics - //========================================================================== - /// @brief Conversion operator from native to the underlying register type - BOOST_FORCEINLINE operator native_type & () { return data_; } - - /// @overload - BOOST_FORCEINLINE operator native_type const& () const { return data_; } - - /// @brief Explicit conversion from native to the underlying register type - BOOST_FORCEINLINE native_type const& operator()() const { return data_; } - - /// @overload - BOOST_FORCEINLINE native_type& operator()() { return data_; } - - //========================================================================== - // new/delete operator to force alignment on heap of native values - //========================================================================== - BOOST_SIMD_MEMORY_OVERLOAD_NEW_DELETE_SIMD() - - //========================================================================== - // RandomAccessSequence interface - //========================================================================== - - /*! - @brief Return the size in element of current native instance - - @return An unsigned integral equal to native::static_size - **/ - static BOOST_FORCEINLINE std::size_t size() { return static_size; } - - /*! - @brief Checks if a given native contains 0 element - - @return A boolean equals to @c false - **/ - static BOOST_FORCEINLINE bool empty() { return false; } - - /// @brief Access to the beginning of the native register data in memory - BOOST_FORCEINLINE - iterator begin() { return iterator(*this); }; - - /// @brief Access to past the end of the native register data in memory - BOOST_FORCEINLINE - iterator end() { return iterator(*this, size()); }; - - /// @overload - BOOST_FORCEINLINE - const_iterator begin() const { return const_iterator(*this); }; - - /// @overload - BOOST_FORCEINLINE - const_iterator end() const { return const_iterator(*this, size()); }; - - /// @brief Random access to a given native scalar element - BOOST_FORCEINLINE reference operator[](std::size_t i) - { - return reference(*this, i); - } - - /// @overload - BOOST_FORCEINLINE const_reference operator[](std::size_t i) const - { - return reference(const_cast(*this), i); - } - - Scalar* data() { return reinterpret_cast(&data_); } - Scalar const* data() const { return reinterpret_cast(&data_); } - - //========================================================================== - // Inner data - //========================================================================== -#if defined(BOOST_SIMD_COMPILER_GCC) && BOOST_SIMD_GCC_VERSION == 40603 - // workaround for GCC bug #52407 affecting GCC 4.6.3 - /// INTERNAL ONLY - union - { -#endif - /// INTERNAL ONLY - native_type data_; -#if defined(BOOST_SIMD_COMPILER_GCC) && BOOST_SIMD_GCC_VERSION == 40603 - }; -#endif - }; -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/native_fwd.hpp b/inst/include/boost/simd/sdk/simd/native_fwd.hpp deleted file mode 100644 index 62a148e..0000000 --- a/inst/include/boost/simd/sdk/simd/native_fwd.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_NATIVE_FWD_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_NATIVE_FWD_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - template - struct BOOST_SIMD_MAY_ALIAS native; -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/native_tuple.hpp b/inst/include/boost/simd/sdk/simd/native_tuple.hpp deleted file mode 100644 index f0de1c1..0000000 --- a/inst/include/boost/simd/sdk/simd/native_tuple.hpp +++ /dev/null @@ -1,113 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_NATIVE_TUPLE_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_NATIVE_TUPLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - namespace details - { - // Build the sequence of proper native - template - struct make_soa - { - template - struct result; - - template - struct result - { - typedef typename meta::vector_of::value>::type type; - }; - }; - } - - template - struct native< T, X - , typename boost - ::enable_if < boost::fusion::traits::is_sequence - >::type - > - : meta::as_tuple >::type - { - typedef typename meta::as_tuple >::type parent; - typedef T value_type; - - native() {} - - #define M0(z, n, t) \ - template \ - native(BOOST_PP_ENUM_BINARY_PARAMS(n, A, const& a)) \ - : parent(BOOST_PP_ENUM_PARAMS(n, a)) \ - { \ - } \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_DISPATCH_MAX_META_ARITY, M0, ~) - #undef M0 - - //////////////////////////////////////////////////////////////////////////// - // Range interface - //////////////////////////////////////////////////////////////////////////// - typedef std::size_t size_type; - typedef soa_proxy reference; - typedef value_type const const_reference; - typedef soa_iterator iterator; - typedef soa_const_iterator const_iterator; - - BOOST_FORCEINLINE - iterator begin() { return iterator(*this); }; - - BOOST_FORCEINLINE - iterator end() { return iterator(*this, size()); }; - - BOOST_FORCEINLINE - const_iterator begin() const { return const_iterator(*this); }; - - BOOST_FORCEINLINE - const_iterator end() const { return const_iterator(*this, size()); }; - - //////////////////////////////////////////////////////////////////////////// - // new/delete operator to force alignment on heap of native values - //////////////////////////////////////////////////////////////////////////// - BOOST_SIMD_MEMORY_OVERLOAD_NEW_DELETE_SIMD() - - //////////////////////////////////////////////////////////////////////////// - // Array like interface - //////////////////////////////////////////////////////////////////////////// - enum v_size { static_size = meta::cardinal_as::value }; - - static BOOST_FORCEINLINE std::size_t size() { return static_size; } - static BOOST_FORCEINLINE bool empty() { return false; } - - reference operator[](std::size_t i) - { - return reference(*this, i); - } - - const_reference operator[](std::size_t i) const - { - return reference(const_cast(*this), i); - } - }; - -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack.hpp b/inst/include/boost/simd/sdk/simd/pack.hpp deleted file mode 100644 index 3632151..0000000 --- a/inst/include/boost/simd/sdk/simd/pack.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_HPP_INCLUDED - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/call.hpp b/inst/include/boost/simd/sdk/simd/pack/call.hpp deleted file mode 100644 index 508361f..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/call.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_CALL_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_CALL_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // constants - BOOST_DISPATCH_IMPLEMENT_G (pure_constant_, tag::formal_ - , (Func)(A0) - , ((target_< ast_ >)) - ) - { - typedef typename A0::type::proto_domain domain; - - typedef typename proto::result_of:: - make_expr::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0) const - { - return boost::proto::detail:: - make_expr_()(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/domain.hpp b/inst/include/boost/simd/sdk/simd/pack/domain.hpp deleted file mode 100644 index 9954cb6..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/domain.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_DOMAIN_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_DOMAIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - struct terminal_; - } - - - //////////////////////////////////////////////////////////////////////////// - // Tell proto that in the simd::domain, all expressions should be - // wrapped in simd::expr<> using simd::generator - //////////////////////////////////////////////////////////////////////////// - struct domain : boost::proto::domain< generator - , grammar - > - { - template - struct as_child : boost::proto::callable - { - typedef typename boost::remove_const::type term_t; - typedef boost::proto::basic_expr< boost::simd::tag::terminal_, boost::proto::term > expr_t; - typedef expression::type> result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::add_reference::type t) const - { - result_type that = { expr_t::make(t) }; - return that; - } - }; - - template - struct as_child_expr : boost::proto::callable - { - typedef typename boost::remove_const::type result_type; - BOOST_FORCEINLINE result_type operator()(T& t) const - { - return result_type(t); - } - }; - - template - struct as_child_expr - : boost::proto::callable - { - typedef typename boost::proto::result_of::value::value_type value_type; - typedef typename boost::mpl::if_< boost::is_const, typename boost::add_const::type, value_type >::type type; - typedef typename boost::mpl::if_< meta::is_native, typename boost::add_reference::type, type >::type term; - - typedef as_child impl; - typedef typename impl::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(T& t) const - { - return impl()(boost::proto::value(t)); - } - }; - - template - struct as_child - : as_child_expr {}; - }; -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/expression.hpp b/inst/include/boost/simd/sdk/simd/pack/expression.hpp deleted file mode 100644 index b4de2b0..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/expression.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_EXPRESSION_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_EXPRESSION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4610) // custom constructor required -#pragma warning(disable: 4510) // custom constructor required -#endif - -namespace boost { namespace simd -{ - template - struct expression - { - BOOST_PROTO_BASIC_EXTENDS(Expr, expression, domain) - - // Assignment operators force evaluation - BOOST_FORCEINLINE - expression& operator=(expression const& xpr) - { - boost::simd::evaluate( - boost::simd::assign(*this, xpr) - ); - return *this; - } - - template - BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , expression& - >::type - operator=(Xpr const& xpr) - { - boost::simd::evaluate( - boost::simd::assign(*this, xpr) - ); - return *this; - } - - // operator[] forces evaluation and return element - BOOST_FORCEINLINE typename meta::scalar_of::type - operator[](std::size_t i) const - { - return boost::simd::evaluate(*this)[i]; - } - - // Conversion operator forces evaluation - BOOST_FORCEINLINE operator ResultType() const - { - return boost::simd::evaluate(*this); - } - }; - - // avoid warnings about unusable conversion operator - template - struct expression - { - BOOST_PROTO_BASIC_EXTENDS(Expr, expression, domain) - }; -} } - -namespace boost { namespace dispatch { namespace meta -{ - /// INTERNAL ONLY - /// terminal_fo of a SIMD expression is the terminal_of of its ResultType - template - struct terminal_of< boost::simd::expression > - { - typedef typename terminal_of::type type; - }; -} } } - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/forward.hpp b/inst/include/boost/simd/sdk/simd/pack/forward.hpp deleted file mode 100644 index 6f0be73..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/forward.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_FORWARD_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_FORWARD_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - struct domain; - template< class Type, class Cardinal> struct data; - - template< class Expression - , class ResultType - > - struct expression; - - template< class Type - , std::size_t Cardinal = meta::native_cardinal::value - > - struct pack; - -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/fusion.hpp b/inst/include/boost/simd/sdk/simd/pack/fusion.hpp deleted file mode 100644 index d42098a..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/fusion.hpp +++ /dev/null @@ -1,119 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_FUSION_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_FUSION_HPP_INCLUDED - -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// Register pack as a fusion sequence -//////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace tag -{ - struct pack_; -} } } - -namespace boost { namespace fusion { namespace extension -{ - //============================================================================ - // Register pack as fusion random access sequence - //============================================================================ - template<> struct is_sequence_impl - { - template struct apply : mpl::true_ {}; - }; - - template<> struct is_view_impl - { - template struct apply : mpl::false_ {}; - }; - - template<> struct category_of_impl - { - template - struct apply - { - typedef random_access_traversal_tag type; - }; - }; - - //============================================================================ - // Size of pack is given by its cardinal - //============================================================================ - template<> struct size_impl - { - template - struct apply - : boost::mpl::int_< boost::simd::meta::cardinal_of::value > - {}; - }; - - //============================================================================ - // at_c value of pack is given by its operator[] - //============================================================================ - template<> struct at_impl - { - template - struct apply - { - typedef typename mpl::if_< is_const - , typename Sequence::const_reference - , typename Sequence::reference - >::type type; - - static type call(Sequence& seq) { return seq[Index::value]; } - }; - }; - - //============================================================================ - // value_at value of pack given operator[] as a non cref-qualified value - //============================================================================ - template<> struct value_at_impl - { - template - struct apply - { - typedef typename Sequence::value_type type; - }; - }; - - //========================================================================== - // begin returns the inner data_type begin as it is itself a Fusion Sequence - //========================================================================== - template<> struct begin_impl - { - template struct apply - { - typedef typename boost::simd::details::fusion_iterator type; - static type call(Sequence& seq) { return type(seq); } - }; - }; - - //========================================================================== - // end returns the inner data_type end as it is itself a Fusion Sequence - //========================================================================== - template<> struct end_impl - { - template - struct apply - { - typedef typename boost::simd::details:: - fusion_iterator< Sequence - , boost::simd::meta::cardinal_of::value - > type; - - static type call(Sequence& seq) { return type(seq); } - }; - }; -} } } - - -#endif /* BOOST_SIMD_SDK_SIMD_PACK_FUSION_HPP_INCLUDED */ diff --git a/inst/include/boost/simd/sdk/simd/pack/fusion_iterator.hpp b/inst/include/boost/simd/sdk/simd/pack/fusion_iterator.hpp deleted file mode 100644 index 97586d9..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/fusion_iterator.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_FUSION_ITERATOR_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_FUSION_ITERATOR_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace details -{ - template - struct fusion_iterator - : boost::fusion:: - iterator_facade < fusion_iterator - , boost::fusion::random_access_traversal_tag - > - { - BOOST_STATIC_CONSTANT(int index, = N ); - typedef Seq sequence_type; - - fusion_iterator(Seq& seq) : seq_(seq) {} - - Seq& seq_; - - template struct value_of - { - typedef typename T::sequence_type::value_type type; - }; - - template struct deref - { - typedef typename - boost::mpl::if_ < boost::is_const - , typename T::sequence_type::const_reference - , typename T::sequence_type::reference - >::type type; - - static type call(T const& iter) { return iter.seq_[T::index]; } - }; - - template struct next - { - typedef fusion_iterator < typename It::sequence_type - , It::index + 1 - > type; - - static type call(It const& it) { return type(it.seq_); } - }; - - template struct prior - { - typedef fusion_iterator < typename It::sequence_type - , It::index - 1 - > type; - - static type call(It const& it) { return type(it.seq_); } - }; - - template - struct distance - { - typedef typename - boost::mpl::int_ < It2::index - It1::index>::type type; - - static type call(It1 const&, It2 const&) { return type(); } - }; - - template struct advance - { - typedef fusion_iterator < typename It::sequence_type - , It::index + M::value - > type; - - static type call(It const& it) { return type(it.seq_); } - }; - }; -} } } - -#endif /* BOOST_SIMD_SDK_SIMD_PACK_FUSION_ITERATOR_HPP_INCLUDED */ - - - - diff --git a/inst/include/boost/simd/sdk/simd/pack/generator.hpp b/inst/include/boost/simd/sdk/simd/pack/generator.hpp deleted file mode 100644 index c8fc7c8..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/generator.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_GENERATOR_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_GENERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - namespace details - { - struct mpl_2 - { - template - struct apply - { - typedef Y type; - }; - }; - } - - struct generator - : proto::transform - { - // normal case: return an expression - template< class Expr, class State, class Data - , class RawExpr = typename dispatch::meta::strip::type - , class Semantic = typename mpl::apply1< meta::typed_expression, RawExpr>::type - , class Enable = void - > - struct impl - : proto::transform_impl - { - typedef expression result_type; - - BOOST_FORCEINLINE result_type - operator()( typename impl::expr_param e - , typename impl::state_param - , typename impl::data_param - ) const - { - result_type const that = {e}; - return that; - } - }; - - // scalar or void case: evaluate the expression and return it - template< class Expr, class State, class Data - , class RawExpr, class Semantic - > - struct impl >::type> - : proto::transform_impl - { - typedef Semantic result_type; - typedef expression simd_expr; - - BOOST_FORCEINLINE result_type - operator()( typename impl::expr_param e - , typename impl::state_param - , typename impl::data_param - ) const - { - simd_expr const that = {e}; - return evaluate(that); - } - }; - }; -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/grammar.hpp b/inst/include/boost/simd/sdk/simd/pack/grammar.hpp deleted file mode 100644 index 1463b4c..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/grammar.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_GRAMMAR_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_GRAMMAR_HPP_INCLUDED - -#include - -namespace boost { namespace simd -{ - typedef boost::proto::not_ grammar; -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/io.hpp b/inst/include/boost/simd/sdk/simd/pack/io.hpp deleted file mode 100644 index 54e9376..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/io.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_IO_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_IO_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - //////////////////////////////////////////////////////////////////////////// - // Stream insertion for pack - //////////////////////////////////////////////////////////////////////////// - template - BOOST_FORCEINLINE - std::ostream& operator<<(std::ostream& os, pack const& v ) - { - return os << evaluate(v); - } - - //////////////////////////////////////////////////////////////////////////// - // Stream insertion for SIMD expression - //////////////////////////////////////////////////////////////////////////// - template - BOOST_FORCEINLINE - std::ostream& operator<<(std::ostream& os, expression const& v ) - { - return os << evaluate(v); - } - -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/meta.hpp b/inst/include/boost/simd/sdk/simd/pack/meta.hpp deleted file mode 100644 index 18b0d4b..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/meta.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_META_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_META_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/meta/cardinal_of.hpp b/inst/include/boost/simd/sdk/simd/pack/meta/cardinal_of.hpp deleted file mode 100644 index f193f65..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/meta/cardinal_of.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_META_CARDINAL_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_META_CARDINAL_OF_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace meta -{ - template< class Type - , std::size_t Cardinal - > - struct cardinal_of< boost::simd::pack > - : mpl::size_t - { - }; - - // cardinal of an expression of pack is the cardinal of its ResultType - template< class Expression, class ResultType> - struct cardinal_of< boost::simd::expression > - : cardinal_of - { - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/meta/model_of.hpp b/inst/include/boost/simd/sdk/simd/pack/meta/model_of.hpp deleted file mode 100644 index 41226e6..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/meta/model_of.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_META_MODEL_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_META_MODEL_OF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template< class T - , std::size_t N - > - struct model_of< boost::simd::pack > - { - struct type - { - template - struct apply - { - typedef typename boost::dispatch::meta::primitive_of< typename simd::details::max_value_noseq >::type>::type TT; - typedef typename boost::dispatch::meta::primitive_of< typename simd::details::max_value_noseq >::type>::type XX; - - typedef boost::simd::pack< X - , sizeof(typename boost::simd::pack::data_type::native_type) / sizeof(XX) - > type; - }; - }; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/meta/register_of.hpp b/inst/include/boost/simd/sdk/simd/pack/meta/register_of.hpp deleted file mode 100644 index 18ce31a..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/meta/register_of.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_META_REGISTER_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_META_REGISTER_OF_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace details -{ - template< typename Type, std::size_t Cardinal> - struct register_of< pack > - { - typedef typename pack::data_type::native_type type; - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/sdk/simd/pack/meta/semantic_of.hpp b/inst/include/boost/simd/sdk/simd/pack/meta/semantic_of.hpp deleted file mode 100644 index 2711c60..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/meta/semantic_of.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_META_SEMANTIC_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_META_SEMANTIC_OF_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template< class Expression - , class ResultType - > - struct semantic_of< simd::expression > - { - typedef ResultType type; - }; - - template< class Type - , std::size_t Cardinal - > - struct semantic_of< simd::pack > - { - typedef typename simd::pack::data_type type; - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/meta/terminal_of.hpp b/inst/include/boost/simd/sdk/simd/pack/meta/terminal_of.hpp deleted file mode 100644 index 8c21b8f..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/meta/terminal_of.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_META_TERMINAL_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_META_TERMINAL_OF_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct terminal_of< simd::native > - { - typedef simd::pack::static_size> type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/pack/meta/value_of.hpp b/inst/include/boost/simd/sdk/simd/pack/meta/value_of.hpp deleted file mode 100644 index 8deb6c7..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/meta/value_of.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_META_VALUE_OF_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_META_VALUE_OF_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template< class Type - , std::size_t Cardinal - > - struct value_of< boost::simd::pack > - { - typedef Type type; - }; -} } } - -#endif - diff --git a/inst/include/boost/simd/sdk/simd/pack/pack.hpp b/inst/include/boost/simd/sdk/simd/pack/pack.hpp deleted file mode 100644 index c33875d..0000000 --- a/inst/include/boost/simd/sdk/simd/pack/pack.hpp +++ /dev/null @@ -1,237 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PACK_PACK_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PACK_PACK_HPP_INCLUDED - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace simd -{ - //////////////////////////////////////////////////////////////////////////// - // pack, implemented in terms of simd::expr via non-inheritance to preserve - // PODness of pack throughout the whole system. - //////////////////////////////////////////////////////////////////////////// - template - struct BOOST_SIMD_MAY_ALIAS pack - : expression< boost::proto::basic_expr< boost::simd::tag::terminal_ - , boost::proto::term< typename - meta::vector_of< Type - , Cardinal - >::type - > - , 0l - > - , typename - meta::vector_of< Type - , Cardinal - >::type - > - { - static const std::size_t static_size = Cardinal; - - typedef typename meta::vector_of::type data_type; - typedef boost::proto::basic_expr< boost::simd::tag::terminal_, boost::proto::term, 0l > expr_type; - - typedef Type value_type; - typedef typename data_type::reference reference; - typedef typename data_type::const_reference const_reference; - typedef typename data_type::iterator iterator; - typedef typename data_type::const_iterator const_iterator; - - typedef expression< expr_type, data_type > parent; - - //========================================================================== - /* - * SIMD pack instanciated with non-power of 2 Cardinal or a Cardinal of 1. - */ - //========================================================================== - BOOST_MPL_ASSERT_MSG - ( (meta::is_power_of_2_c::value && Cardinal > 1) - , INVALID_SIMD_PACK_CARDINAL - , (boost::mpl::int_) - ); - - BOOST_FORCEINLINE pack() {} - - BOOST_FORCEINLINE pack(data_type const& p) - { - proto::value(*this) = p; - } - -#if defined(BOOST_MSVC) || defined(DOXYGEN_ONLY) - BOOST_FORCEINLINE pack(pack const& other) - { - proto::value(*this) = proto::value(other); - } -#endif - - template - BOOST_FORCEINLINE pack( ScalarIterator i - , typename enable_if< dispatch::meta::is_iterator >::type* = 0) - { - typedef typename boost::pointee::type v_type; - BOOST_STATIC_ASSERT_MSG - ( (boost::is_same::value) - , "The constructor of pack has been called on a iterator" - "which value_type is different from T." - ); - - value_type* p = &(*i); - - BOOST_ASSERT_MSG - ( boost::simd::is_aligned(p,sizeof(data_type)) - , "The constructor of pack has been called on a iterator" - "which alignment is not compatible with current SIMD extension." - ); - - proto::value(*this) = aligned_load(p,0); - } - - //========================================================================== - // Constructor from scalar range - //========================================================================== - template - BOOST_FORCEINLINE pack( ScalarIterator b, ScalarIterator e - , typename enable_if< dispatch::meta::is_iterator >::type* = 0) - { - BOOST_ASSERT_MSG - ( ((e-b)==Cardinal) - , "The constructor of pack has been called on a iterator" - "which alignment is not compatible with current SIMD extension." - ); - - for(int i=0;b!=e;++b,++i) - (*this)[i] = *b; - } - - BOOST_SIMD_MEMORY_OVERLOAD_NEW_DELETE(Cardinal*sizeof(value_type)) - - //========================================================================== - // Constructor from unique scalar value -> splat the value - //========================================================================== - template - BOOST_FORCEINLINE pack(T const& t, typename enable_if< is_arithmetic >::type* = 0) - { - proto::value(*this) = simd::splat(t); - } - - //========================================================================== - // Create constructors for pack according to the extension specification. - //========================================================================== - #define M1(z, n, arg) \ - template \ - BOOST_FORCEINLINE pack( BOOST_PP_ENUM_PARAMS(n, T const& a) \ - , typename enable_if< is_arithmetic >::type* = 0) \ - { \ - proto::value(*this) = simd::make(BOOST_PP_ENUM_PARAMS(n,a)); \ - } \ - /**/ - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM(2, M1, ~) - #undef M1 - - //========================================================================== - // Constructor from expression -> evaluate using parent operator= - //========================================================================== - template - BOOST_FORCEINLINE pack(T const& t, typename T::proto_is_expr_* = 0) - { - static_cast(*this) = t; - } - - //========================================================================== - // operator= for pack - //========================================================================== - BOOST_FORCEINLINE pack& operator=(pack const& src) - { - boost::proto::value(*this) = boost::proto::value(src); - return *this; - } - - template - BOOST_FORCEINLINE - typename boost::disable_if, pack&>::type - operator=(Xpr const& xpr) - { - parent::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE - reference operator[](std::size_t i) - { - return boost::proto::value(*this)[i]; - } - - BOOST_FORCEINLINE - const_reference operator[](std::size_t i) const - { - return boost::proto::value(*this)[i]; - } - - //////////////////////////////////////////////////////////////////////////// - // Range interface - //////////////////////////////////////////////////////////////////////////// - BOOST_FORCEINLINE - iterator begin() { return boost::proto::value(*this).begin(); } - BOOST_FORCEINLINE - const_iterator begin() const { return boost::proto::value(*this).begin(); } - BOOST_FORCEINLINE - iterator end() { return boost::proto::value(*this).end(); } - BOOST_FORCEINLINE - const_iterator end() const { return boost::proto::value(*this).end(); } - - //////////////////////////////////////////////////////////////////////////// - // Array like interface - //////////////////////////////////////////////////////////////////////////// - static BOOST_FORCEINLINE - std::size_t size() { return data_type::size(); } - - static BOOST_FORCEINLINE - bool empty() { return false; } - - //////////////////////////////////////////////////////////////////////////// - // Fusion RandomAccessSequence interface - //////////////////////////////////////////////////////////////////////////// - typedef tag::pack_ fusion_tag; - }; -} } - -#endif diff --git a/inst/include/boost/simd/sdk/simd/preprocessor/repeat.hpp b/inst/include/boost/simd/sdk/simd/preprocessor/repeat.hpp deleted file mode 100644 index 1130f7e..0000000 --- a/inst/include/boost/simd/sdk/simd/preprocessor/repeat.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_PREPROCESSOR_REPEAT_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_PREPROCESSOR_REPEAT_HPP_INCLUDED - -#include -#include -#include -#include - -#define BOOST_SIMD_PP_REPEAT_POWER_OF_2_PRED(r, data) \ -BOOST_PP_LESS_EQUAL(BOOST_PP_TUPLE_ELEM(4, 0, data), BOOST_PP_TUPLE_ELEM(4, 1, data)) \ -/**/ - -#define BOOST_SIMD_PP_REPEAT_POWER_OF_2_OP(r, data) \ -( BOOST_PP_ADD( BOOST_PP_TUPLE_ELEM(4, 0, data), BOOST_PP_TUPLE_ELEM(4, 0, data) ) \ -, BOOST_PP_TUPLE_ELEM(4, 1, data) \ -, BOOST_PP_TUPLE_ELEM(4, 2, data) \ -, BOOST_PP_TUPLE_ELEM(4, 3, data) \ -) \ -/**/ - -#define BOOST_SIMD_PP_REPEAT_POWER_OF_2_MACRO(r, data) \ -BOOST_PP_TUPLE_ELEM(4, 2, data)(r, BOOST_PP_TUPLE_ELEM(4, 0, data), BOOST_PP_TUPLE_ELEM(4, 3, data)) \ -/**/ - -/* Call \c m(z,n,data) with \c n all powers of 2 between \c from and \c to */ -#define BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO(from, to, m, data) \ -BOOST_PP_FOR( (from, to, m, data) \ - , BOOST_SIMD_PP_REPEAT_POWER_OF_2_PRED \ - , BOOST_SIMD_PP_REPEAT_POWER_OF_2_OP \ - , BOOST_SIMD_PP_REPEAT_POWER_OF_2_MACRO \ - ) \ -/**/ - -/* Regular variants, go up to 32 */ -#define BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM(from, m, data) BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO(from, 32, m, data) -#define BOOST_SIMD_PP_REPEAT_POWER_OF_2(m, data) BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM(1, m, data) - -/* Big variant, goes up to 128 or 256 */ -#ifdef __CUDACC__ -#define BOOST_SIMD_PP_REPEAT_POWER_OF_2_BIG(m, data) \ -BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO(1, 128, m, data) \ -/**/ -#else -#define BOOST_SIMD_PP_REPEAT_POWER_OF_2_BIG(m, data) \ -BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO(1, 128, m, data) \ -m(7, 256, data) \ -/**/ -#endif - -#endif diff --git a/inst/include/boost/simd/sdk/simd/tags.hpp b/inst/include/boost/simd/sdk/simd/tags.hpp deleted file mode 100644 index f45b8bd..0000000 --- a/inst/include/boost/simd/sdk/simd/tags.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_SIMD_TAGS_HPP_INCLUDED -#define BOOST_SIMD_SDK_SIMD_TAGS_HPP_INCLUDED - -namespace boost { namespace simd { namespace tag -{ - typedef boost::mpl::false_ not_simd_type; - typedef boost::mpl::true_ simd_type; - -} } } - -#endif diff --git a/inst/include/boost/simd/sdk/tuple.hpp b/inst/include/boost/simd/sdk/tuple.hpp deleted file mode 100644 index efd3e89..0000000 --- a/inst/include/boost/simd/sdk/tuple.hpp +++ /dev/null @@ -1,311 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SDK_TUPLE_HPP_INCLUDED -#define BOOST_SIMD_SDK_TUPLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - struct tuple_ {}; - } - - template struct fusion_has_ctors : boost::mpl::false_ {}; - template<> struct fusion_has_ctors : boost::mpl::true_ {}; - template<> struct fusion_has_ctors : boost::mpl::true_ {}; - - template - struct tuple; - - namespace details - { - template - struct as_tuple_to; - - template - struct as_tuple - : as_tuple_to::type>::value> - { - }; - } - - namespace meta - { - template - struct as_tuple - : details::as_tuple::type::value> - { - }; - } - - template - typename meta::as_tuple::type as_tuple(Seq const& seq, F const& f) - { - return meta::as_tuple::call(seq, f); - } - - template - typename meta::as_tuple::type as_tuple(Seq const& seq, F const& f) - { - return meta::as_tuple::call(seq, f); - } - - template - typename meta::as_tuple::type as_tuple(Seq const& seq) - { - return meta::as_tuple::call(seq, boost::dispatch::identity()); - } - -} } - -namespace boost { namespace fusion { namespace extension -{ - template<> - struct is_sequence_impl - { - template - struct apply : mpl::true_ - { - }; - }; - - template<> - struct is_view_impl - { - template - struct apply : mpl::false_ - { - }; - }; - - template<> - struct size_impl - { - template - struct apply - : mpl::size_t - { - }; - }; - - template<> - struct at_impl - { - template - struct apply_c; - - template - struct apply : apply_c - { - }; - }; - - template<> - struct value_at_impl - { - template - struct apply_c; - - template - struct apply : apply_c - { - }; - }; - - template<> - struct begin_impl - { - template - struct apply - { - typedef boost::simd::at_iterator type; - BOOST_FORCEINLINE static type call(Seq& seq) - { - return type(seq); - } - }; - }; - - template<> - struct end_impl - { - template - struct apply - { - typedef boost::simd::at_iterator type; - BOOST_FORCEINLINE static type call(Seq& seq) - { - return type(seq); - } - }; - }; - -} } } - -namespace boost { namespace simd -{ - template - BOOST_FORCEINLINE typename fusion::extension::template at_impl::template apply_c::type at_c(Seq const& seq) - { - return fusion::extension::template at_impl::template apply_c::call(seq); - } - - template - BOOST_FORCEINLINE typename fusion::extension::template at_impl::template apply_c::type at_c(Seq& seq) - { - return fusion::extension::template at_impl::template apply_c::call(seq); - } -} } - -#define BOOST_SIMD_TUPLE_TYPES(z, n, t) typedef T##n m##n##_type; -#define BOOST_SIMD_TUPLE_MEMBERS(z, n, t) T##n m##n; -#define BOOST_SIMD_TUPLE_CTORS(z, n, t) BOOST_FORCEINLINE tuple(BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& a)) : BOOST_PP_ENUM(t, BOOST_SIMD_TUPLE_CTORS_, n) {} -#define BOOST_SIMD_TUPLE_CTORS_(z, n, t) BOOST_PP_IF(BOOST_PP_LESS(n, t), m##n(a##n), m##n(meta::zero_initialize::call())) - -#define BOOST_SIMD_TUPLE_HEAD -#define BOOST_PP_ITERATION_PARAMS_1 (3, ( 1, BOOST_PP_DEC(BOOST_DISPATCH_MAX_ARITY), "boost/simd/sdk/tuple.hpp")) -#include BOOST_PP_ITERATE() - -#undef BOOST_SIMD_TUPLE_HEAD -#define BOOST_SIMD_TUPLE_HEAD -#define BOOST_PP_ITERATION_PARAMS_1 (3, ( BOOST_DISPATCH_MAX_ARITY, BOOST_DISPATCH_MAX_ARITY, "boost/simd/sdk/tuple.hpp")) -#include BOOST_PP_ITERATE() - -#undef BOOST_SIMD_TUPLE_HEAD -#undef BOOST_SIMD_TUPLE_CTORS_ -#undef BOOST_SIMD_TUPLE_CTORS -#undef BOOST_SIMD_TUPLE_MEMBERS -#undef BOOST_SIMD_TUPLE_TYPES - -#endif - -#else /* BOOST_PP_IS_ITERATING */ - -#define N BOOST_PP_ITERATION() - -namespace boost { namespace simd -{ - template - struct tuple BOOST_SIMD_TUPLE_HEAD - { - typedef tag::tuple_ fusion_tag; - static const std::size_t static_tuple_size = N; - BOOST_PP_REPEAT(N, BOOST_SIMD_TUPLE_TYPES, ~) - - tuple() {} - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(N), BOOST_SIMD_TUPLE_CTORS, N) - BOOST_PP_REPEAT(N, BOOST_SIMD_TUPLE_MEMBERS, ~) - }; -} } - -namespace boost { namespace simd { namespace details -{ - template - struct as_tuple - { - #define M0(z, n, t) typename dispatch::meta::result_of::type)>::type - typedef tuple type; - #undef M0 - BOOST_FORCEINLINE static type call(Seq& seq, F& f) - { - #define M0(z, n, t) f(fusion::at_c(seq)) - return type(BOOST_PP_ENUM(N, M0, ~)); - #undef M0 - } - }; - - template - struct as_tuple_to - { - typedef To type; - BOOST_FORCEINLINE static type call(Seq& seq, F& f) - { - #define M0(z, n, t) f(fusion::at_c(seq)) - return type(BOOST_PP_ENUM(N, M0, ~)); - #undef M0 - } - }; - - template - struct as_tuple_to - { - typedef To type; - BOOST_FORCEINLINE static type call(Seq& seq, F& f) - { - type tmp; - #define M0(z, n, t) fusion::at_c(tmp) = f(fusion::at_c(seq)); - BOOST_PP_REPEAT(N, M0, ~); - #undef M0 - return tmp; - } - }; -} } } - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_at_impl - ::apply_c - { - typedef typename Seq::BOOST_PP_CAT(BOOST_PP_CAT(m, BOOST_PP_DEC(N)), _type) type; - }; - - template - struct at_impl - ::apply_c - { - typedef typename Seq::BOOST_PP_CAT(BOOST_PP_CAT(m, BOOST_PP_DEC(N)), _type)& type; - BOOST_FORCEINLINE static type call(Seq& seq) - { - return seq.BOOST_PP_CAT(m, BOOST_PP_DEC(N)); - } - }; - - template - struct at_impl - ::apply_c - { - typedef typename Seq::BOOST_PP_CAT(BOOST_PP_CAT(m, BOOST_PP_DEC(N)), _type) const& type; - BOOST_FORCEINLINE static type call(Seq const& seq) - { - return seq.BOOST_PP_CAT(m, BOOST_PP_DEC(N)); - } - }; -} } } - -#undef N - -#endif diff --git a/inst/include/boost/simd/swar/constants.hpp b/inst/include/boost/simd/swar/constants.hpp deleted file mode 100644 index 273aba7..0000000 --- a/inst/include/boost/simd/swar/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_CONSTANTS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/boost/simd/swar/functions.hpp b/inst/include/boost/simd/swar/functions.hpp deleted file mode 100644 index b2eae50..0000000 --- a/inst/include/boost/simd/swar/functions.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/functions/all_reduce.hpp b/inst/include/boost/simd/swar/functions/all_reduce.hpp deleted file mode 100644 index 42e5c68..0000000 --- a/inst/include/boost/simd/swar/functions/all_reduce.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_ALL_REDUCE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief all_reduce generic tag - - Represents the all_reduce function in generic contexts. - **/ - struct all_reduce_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_all_reduce_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_all_reduce_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_all_reduce_; - } - - /*! - @brief Broadcast reduction - - Computes a reduction across a vector values and broadcast its value into - a full output vector. - - @par Semantic - - Depending on the type of its arguments, all_reduce exhibits different - semantics. For any SIMD value @c v of type @c Type and any binary function tag - @c F: - - @code - Type r = all_reduce(v); - @endcode - - is equivalent to: - - @code - for(int i=0;i(v); - @endcode - - @param value Value to reduce and broadcast - @tparam Tag Function tag of the reduction to apply - - @return A value containing the broadcast result of the reduction of @c value - by the function represented by @c Tag - */ - template - BOOST_FORCEINLINE - typename boost::dispatch::meta:: - result_of < typename boost::dispatch::meta:: - dispatch_call < tag::all_reduce_ - ( Type const& - , boost::dispatch::meta::as_ const - ) - >::type - ( Type const& - , boost::dispatch::meta::as_ const - ) - >::type - all_reduce(Type const& value) - { - typename boost::dispatch::meta - ::dispatch_call const - )>::type callee; - return callee(value,boost::dispatch::meta::as_()); - } -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/broadcast.hpp b/inst/include/boost/simd/swar/functions/broadcast.hpp deleted file mode 100644 index 2d37127..0000000 --- a/inst/include/boost/simd/swar/functions/broadcast.hpp +++ /dev/null @@ -1,108 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_BROADCAST_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief broadcast generic tag - - Represents the broadcast function in generic contexts. - - @par Models: - - Hierarchy - **/ - struct broadcast_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_broadcast_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_broadcast_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_broadcast_; - } - - /*! - @brief Vector element broadcast - - Splat the Nth element of a SIMD register into a new register - - @par Semantic: - - For every parameter of type Type and any integer @c N - - @code - Type r = broadcast(value); - @endcode - - is similar to: - - @code - for(int i=0;ivalue[N] - **/ - template - BOOST_FORCEINLINE - typename boost::dispatch::meta:: - result_of < typename boost::dispatch::meta:: - dispatch_call < tag::broadcast_ - ( Type const& - , boost::mpl::int_ const& - ) - >::type - ( Type const& - , boost::mpl::int_ const& - ) - >::type - broadcast(Type const& value) - { - typename boost::dispatch::meta - ::dispatch_call const& - )>::type callee; - - BOOST_MPL_ASSERT_MSG( (N < meta::cardinal_of::value) - , BOOST_SIMD_INVALID_BROADCAST_INDEX - , ( typename meta::cardinal_of::type - , boost::mpl::int_ - ) - ); - - return callee(value,boost::mpl::int_()); - } - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/combine.hpp b/inst/include/boost/simd/swar/functions/combine.hpp deleted file mode 100644 index d60ae90..0000000 --- a/inst/include/boost/simd/swar/functions/combine.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_COMBINE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_COMBINE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief combine generic tag - - Represents the combine function in generic contexts. - **/ - struct combine_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_combine_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_combine_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_combine_; - } - - /*! - @brief Combining vector - - Join two SIMD register into a register of greater cardinal. - - @par Semantic - - - - @param a0 First part of the combination - @param a1 Second part of the combination - - @return The combined vector - */ - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::combine_, combine, 2) - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/cummax.hpp b/inst/include/boost/simd/swar/functions/cummax.hpp deleted file mode 100644 index bfc4c75..0000000 --- a/inst/include/boost/simd/swar/functions/cummax.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2014 Jean-Thierry Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_CUMMAX_HPP_INCLUDED -#include -#include -#include -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief cummax generic tag - - Represents the cummax function in generic contexts. - - @par Models: - Hierarchy - **/ - struct cummax_ : ext::cumulative_ - { - /// @brief Parent hierarchy - typedef ext::cumulative_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cummax_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cummax_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cummax_; - } - /*! - @brief compute the cumulate maximum of the vector elements - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = cummax(a0); - @endcode - - is similar to: - - @code - T r =x; - for(int i=0;i < T::static_size; ++i) - r[i] += max(r[i-1], r[i]); - @endcode - - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cummax_, cummax, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cummax_, cummax, 2) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/cummin.hpp b/inst/include/boost/simd/swar/functions/cummin.hpp deleted file mode 100644 index 8bb204f..0000000 --- a/inst/include/boost/simd/swar/functions/cummin.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2014 Jean-Thierry Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_CUMMIN_HPP_INCLUDED -#include -#include -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief cummin generic tag - - Represents the cummin function in generic contexts. - - @par Models: - Hierarchy - **/ - struct cummin_ : ext::cumulative_ - { - /// @brief Parent hierarchy - typedef ext::cumulative_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cummin_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cummin_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cummin_; - } - /*! - @brief compute the cumulate minimum of the vector elements - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = cummin(a0); - @endcode - - is similar to: - - @code - T r =x; - for(int i=0;i < T::static_size; ++i) - r[i] += min(r[i-1], r[i]); - @endcode - - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cummin_, cummin, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cummin_, cummin, 2) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/cumprod.hpp b/inst/include/boost/simd/swar/functions/cumprod.hpp deleted file mode 100644 index 83be218..0000000 --- a/inst/include/boost/simd/swar/functions/cumprod.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== - -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_CUMPROD_HPP_INCLUDED -#include -#include -#include -#include - -namespace boost { namespace simd { namespace tag - { - /*! - @brief cumprod generic tag - - Represents the cumprod function in generic contexts. - - @par Models: - Hierarchy - **/ - struct cumprod_ : ext::cumulative_ - { - /// @brief Parent hierarchy - typedef ext::cumulative_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cumprod_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cumprod_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cumprod_; - } - /*! - Computes the cumulated product of the vector elements - - Take care that overflow is very easy to get here especially for integral types - char and unsigned char always overflow except for 0 and 1 ! - - @par semantic: - For any given vector @c x of type @c T: - - @code - T r = cumprod(x); - @endcode - - The function coincide with plus for floating point parameters. - For integers is similar to: - - @code - T r =x; - for(int i=0;i < T::static_size; ++i) - r[i]*= r[i-1]; - @endcode - - @param a0 - - @return a value of the same type as the input. - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cumprod_, cumprod, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cumprod_, cumprod, 2) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/cumsum.hpp b/inst/include/boost/simd/swar/functions/cumsum.hpp deleted file mode 100644 index daed0df..0000000 --- a/inst/include/boost/simd/swar/functions/cumsum.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_CUMSUM_HPP_INCLUDED -#include -#include -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief cumsum generic tag - - Represents the cumsum function in generic contexts. - - @par Models: - Hierarchy - **/ - struct cumsum_ : ext::cumulative_ - { - /// @brief Parent hierarchy - typedef ext::cumulative_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cumsum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cumsum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cumsum_; - } - /*! - compute the cumulate sum of the vector elements - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = cumsum(a0); - @endcode - - is similar to: - - @code - T r =x; - for(int i=0;i < T::static_size; ++i) - r[i] += r[i-1]; - @endcode - - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cumsum_, cumsum, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cumsum_, cumsum, 2) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/deinterleave_first.hpp b/inst/include/boost/simd/swar/functions/deinterleave_first.hpp deleted file mode 100644 index f45429f..0000000 --- a/inst/include/boost/simd/swar/functions/deinterleave_first.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DEINTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief deinterleave_first generic tag - - Represents the deinterleave_first function in generic contexts. - - @par Models: - Hierarchy - **/ - struct deinterleave_first_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_deinterleave_first_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_deinterleave_first_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_deinterleave_first_; - } - - /*! - Computes a vector from a combination of the two inputs. - - @par Semantic: - - For every parameters of type T0 - @code - T0 r = deinterleave_first(a,b); - @endcode - - is equivalent to : - - @code - r = [ a[0] a[2] ... a[n/2] b[0] b[2] ... b[n/2] ] - @endcode - - with n = cardinal_of::value - - @param a0 First vector to deinterleave - @param a1 Second vector to deinterleave - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::deinterleave_first_, deinterleave_first, 2) - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/deinterleave_second.hpp b/inst/include/boost/simd/swar/functions/deinterleave_second.hpp deleted file mode 100644 index e14c984..0000000 --- a/inst/include/boost/simd/swar/functions/deinterleave_second.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DEINTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief deinterleave_second generic tag - - Represents the deinterleave_second function in generic contexts. - - @par Models: - Hierarchy - **/ - struct deinterleave_second_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_deinterleave_second_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_deinterleave_second_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_deinterleave_second_; - } - - /*! - Computes a vector from a combination of the two inputs. - - @par Semantic: - - For every parameters of type T0: - - @code - T0 r = deinterleave_second(a,b); - @endcode - - is equivalent to : - - @code - r = [ a[1] a[3] ... a[n/2+1] b[1] b[3] ... b[n/2+1] ] - @endcode - - with n = cardinal_of::value - - @param a0 First vector to deinterleave - @param a1 Second vector to deinterleave - - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::deinterleave_second_, deinterleave_second, 2) - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/broadcast_pattern.hpp b/inst/include/boost/simd/swar/functions/details/broadcast_pattern.hpp deleted file mode 100644 index 62fb03a..0000000 --- a/inst/include/boost/simd/swar/functions/details/broadcast_pattern.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_BROADCAST_PATTERN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_BROADCAST_PATTERN_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // Idempotent pattern - //============================================================================ - template - struct broadcast_pattern - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - return boost::simd::broadcast(a0); - } - }; - - //============================================================================ - // Forward to identify on a0/a1 - //============================================================================ - template - struct default_matcher::match2 : broadcast_pattern - {}; - - template - struct default_matcher::match4 : broadcast_pattern - {}; - - template - struct default_matcher::match8 : broadcast_pattern - {}; - - template - struct default_matcher::match16 - : broadcast_pattern - {}; - - template - struct default_matcher::match32 - < N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,P> - : broadcast_pattern - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/builtin_shuffle.hpp b/inst/include/boost/simd/swar/functions/details/builtin_shuffle.hpp deleted file mode 100644 index 432f924..0000000 --- a/inst/include/boost/simd/swar/functions/details/builtin_shuffle.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_BUILTIN_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_BUILTIN_SHUFFLE_HPP_INCLUDED - -#ifndef __has_builtin -#define __has_builtin(x) 0 -#define BOOST_SIMD_NO_HAS_BUILTIN -#endif - -#if (defined(__clang__) && __has_builtin(__builtin_shufflevector)) \ - || (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9))) - - #include - #include - #include - - #ifdef __clang__ - #define BOOST_SIMD_BUILTIN_SHUFFLE2(a, b, n, m) \ - __builtin_shufflevector(a, b, BOOST_PP_ENUM(n, m, n)) \ - /**/ - - #define BOOST_SIMD_BUILTIN_SHUFFLE1(a, n, seq) \ - __builtin_shufflevector(a, BOOST_PP_ENUM(n, m, n)) \ - /**/ - - #else - #define BOOST_SIMD_BUILTIN_SHUFFLE2(a, b, n, m) \ - __builtin_shuffle(a, b, mask_type{BOOST_PP_ENUM(n, m, n)}) \ - /**/ - - #define BOOST_SIMD_BUILTIN_SHUFFLE1(a, n, t) \ - __builtin_shuffle(a, mask_type{BOOST_PP_ENUM(n, m, n)}) \ - /**/ - #endif - - #define BOOST_SIMD_DEFINE_SHUFFLE2_(z, n, t) \ - template \ - struct impl \ - { \ - BOOST_FORCEINLINE static mask_type call(mask_type const a0, mask_type const a1) \ - { \ - return BOOST_SIMD_BUILTIN_SHUFFLE2(a0, a1, n, t); \ - } \ - }; \ - - #define BOOST_SIMD_DEFINE_SHUFFLE2( Tag, Macro, Hierarchy ) \ - BOOST_DISPATCH_IMPLEMENT( Tag, boost::simd::tag::simd_ \ - , (A0)(X) \ - , ((simd_< Hierarchy, X >)) \ - ((simd_< Hierarchy, X >)) \ - ) \ - { \ - typedef A0 result_type; \ - \ - typedef typename boost::dispatch::meta:: \ - as_integer< typename boost::dispatch::meta::primitive_of::type, signed >::type \ - primitive; \ - \ - static const int M = sizeof(typename A0::native_type); \ - typedef typename meta::as_simd >::type mask_type; \ - \ - template \ - struct impl \ - { \ - BOOST_FORCEINLINE static mask_type call(mask_type const a0, mask_type const a1) \ - { \ - native > a = a0; \ - native > b = a1; \ - return boost::dispatch::functor()(a, b)(); \ - } \ - }; \ - \ - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO(2, 32, BOOST_SIMD_DEFINE_SHUFFLE2_, Macro) \ - \ - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const \ - { \ - return (typename A0::native_type)impl::call( (mask_type)a0() \ - , (mask_type)a1() \ - ); \ - } \ - }; \ - /**/ - -#else - #define BOOST_SIMD_DEFINE_SHUFFLE2(Tag, Macro, Hierarchy) -#endif - -#ifdef BOOST_SIMD_NO_HAS_BUILTIN -#undef __has_builtin -#endif - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/butterfly.hpp b/inst/include/boost/simd/swar/functions/details/butterfly.hpp deleted file mode 100644 index 1e742de..0000000 --- a/inst/include/boost/simd/swar/functions/details/butterfly.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_BUTTERFLY_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_BUTTERFLY_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - // This meta-permutation implements the butterfly pattern required - // for the log-tree based reduction algorithm. - // - // V is a vector of cardinal 4 : [ v0 | v1 | v2 | v3 ] - // The log-tree reduction will require : [ v2 | v3 | v0 | v1 ] - // and : [ v3 | v2 | v1 | v0 ] - // - // Basically this requires permuting cardinal/2^n value at each iteration - // stopping when only 1 element is left to be permuted. - template struct butterfly_perm - { - template - struct apply : boost::mpl::int_< (Index::value >= Step) - ? Index::value-Step - : Index::value+Step - > - {}; - }; - - template - struct butterfly - { - template - BOOST_FORCEINLINE Type operator()(Op op, V const& a0) const - { - typename dispatch::meta::dispatch_call::type f; - butterfly next; - - return next( op, f(a0, boost::simd::shuffle< butterfly_perm >(a0)) ); - } - }; - - template - struct butterfly<1,Type> - { - template - BOOST_FORCEINLINE Type operator()(Op, V const& a0) const - { - typename dispatch::meta::dispatch_call::type f; - return f(boost::simd::shuffle< butterfly_perm<1> >(a0),a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/cum_helper.hpp b/inst/include/boost/simd/swar/functions/details/cum_helper.hpp deleted file mode 100644 index 5710eed..0000000 --- a/inst/include/boost/simd/swar/functions/details/cum_helper.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_CUM_HELPER_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_CUM_HELPER_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - template - struct cum_helper - { - template - struct apply : boost::mpl::int_<((I::value == 0) ? 0 : I::value-1) >{}; - - }; - template - struct cum_helper - { - template - struct apply : boost::mpl::int_{}; - - }; - template - struct cum_helper - { - template - struct apply : boost::mpl::int_{}; - - }; - template - struct cum_helper - { - template - struct apply : boost::mpl::int_{}; - - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/default_matcher.hpp b/inst/include/boost/simd/swar/functions/details/default_matcher.hpp deleted file mode 100644 index c448c33..0000000 --- a/inst/include/boost/simd/swar/functions/details/default_matcher.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_DEFAULT_MATCHER_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_DEFAULT_MATCHER_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace details -{ - struct default_matcher - { - // By default, nothing is optimized - template - struct base_matcher - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const& p) - { - return Permutation::call(a0,p); - } - - template - static BOOST_FORCEINLINE - T process(T const& a0, T const& a1, P const& p) - { - return Permutation::call(a0,a1,p); - } - }; - - // This is true for w/e cardinal - template - struct match2 : base_matcher - {}; - - template< int I0, int I1, int I2, int I3 - , typename Permutation - > - struct match4 : base_matcher - {}; - - template< int I0, int I1, int I2, int I3 - , int I4, int I5, int I6, int I7 - , typename Permutation - > - struct match8 : base_matcher - {}; - - template< int I0 , int I1 , int I2 , int I3 - , int I4 , int I5 , int I6 , int I7 - , int I8 , int I9 , int I10, int I11 - , int I12, int I13, int I14, int I15 - , typename Permutation - > - struct match16 : base_matcher - {}; - - template< int I0 , int I1 , int I2 , int I3 - , int I4 , int I5 , int I6 , int I7 - , int I8 , int I9 , int I10, int I11 - , int I12, int I13, int I14, int I15 - , int I16, int I17, int I18, int I19 - , int I20, int I21, int I22, int I23 - , int I24, int I25, int I26, int I27 - , int I28, int I29, int I30, int I31 - , typename Permutation - > - struct match32 : base_matcher - {}; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/default_permutation.hpp b/inst/include/boost/simd/swar/functions/details/default_permutation.hpp deleted file mode 100644 index ca9dbca..0000000 --- a/inst/include/boost/simd/swar/functions/details/default_permutation.hpp +++ /dev/null @@ -1,155 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_DEFAULT_PERMUTATION_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_DEFAULT_PERMUTATION_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // default_permutation defines how to perform an arbitrary permutation of a - // given cardinal using the lowest common denominator between extensions - //============================================================================ - template struct default_permutation; - - //============================================================================ - // Cardinal 2 permutation unit - //============================================================================ - template<> struct default_permutation<2> - { - template - BOOST_FORCEINLINE static T call(T const& a0, P const&) - { - return make( pick::value,T,2>::apply(a0) - , pick::value,T,2>::apply(a0) - ); - } - - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const&) - { - return make( pick::value,T,2>::apply(a0,a1) - , pick::value,T,2>::apply(a0,a1) - ); - } - }; - - //============================================================================ - // Cardinal 4 permutation unit - //============================================================================ - template<> struct default_permutation<4> - { - template - BOOST_FORCEINLINE static T call(T const& a0, P const&) - { - return make( pick::value,T,4>::apply(a0) - , pick::value,T,4>::apply(a0) - , pick::value,T,4>::apply(a0) - , pick::value,T,4>::apply(a0) - ); - } - - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const&) - { - return make( pick::value,T,4>::apply(a0,a1) - , pick::value,T,4>::apply(a0,a1) - , pick::value,T,4>::apply(a0,a1) - , pick::value,T,4>::apply(a0,a1) - ); - } - }; - - // Cardinal 8 permutation unit - template<> struct default_permutation<8> - { - template - BOOST_FORCEINLINE static T call(T const& a0, P const&) - { - return make( pick::value,T,8>::apply(a0) - , pick::value,T,8>::apply(a0) - , pick::value,T,8>::apply(a0) - , pick::value,T,8>::apply(a0) - , pick::value,T,8>::apply(a0) - , pick::value,T,8>::apply(a0) - , pick::value,T,8>::apply(a0) - , pick::value,T,8>::apply(a0) - ); - } - - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const&) - { - return make( pick::value,T,8>::apply(a0,a1) - , pick::value,T,8>::apply(a0,a1) - , pick::value,T,8>::apply(a0,a1) - , pick::value,T,8>::apply(a0,a1) - , pick::value,T,8>::apply(a0,a1) - , pick::value,T,8>::apply(a0,a1) - , pick::value,T,8>::apply(a0,a1) - , pick::value,T,8>::apply(a0,a1) - ); - } - }; - - // Cardinal 16 permutation unit - template<> struct default_permutation<16> - { - template - BOOST_FORCEINLINE static T call(T const& a0, P const&) - { - return make( pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - , pick::value,T,16>::apply(a0) - ); - } - - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const&) - { - return make( pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - , pick::value,T,16>::apply(a0,a1) - );; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/filler.hpp b/inst/include/boost/simd/swar/functions/details/filler.hpp deleted file mode 100644 index bed0f5a..0000000 --- a/inst/include/boost/simd/swar/functions/details/filler.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_FILLER_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_FILLER_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - template - struct unary_filler - { - unary_filler(T const& a0_, D& o) : a0(a0_), out(o) {} - - template BOOST_FORCEINLINE void operator()() const - { - out[I] = pick < permuted::value - , T - , D::static_size - >::apply(a0); - } - - T const& a0; - D& out; - - private: - unary_filler& operator=(unary_filler const&); - }; - - template - struct binary_filler - { - binary_filler ( T const& a0_, T const& a1_, D& o) - : a0(a0_), a1(a1_), out(o) - {} - - template BOOST_FORCEINLINE void operator()() const - { - out[I] = pick < permuted::value - , T - , D::static_size - >::apply(a0,a1); - } - - T const& a0,a1; - D& out; - - private: - binary_filler& operator=(binary_filler const&); - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/identity_pattern.hpp b/inst/include/boost/simd/swar/functions/details/identity_pattern.hpp deleted file mode 100644 index e05db43..0000000 --- a/inst/include/boost/simd/swar/functions/details/identity_pattern.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_IDENTITY_PATTERN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_IDENTITY_PATTERN_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // Idempotent pattern - //============================================================================ - struct identity_pattern - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - return a0; - } - }; - - //============================================================================ - // Forward to identify on a0/a1 - //============================================================================ - template - struct default_matcher::match2<0,1,P> : identity_pattern - {}; - - template - struct default_matcher::match4<0,1,2,3,P> : identity_pattern - {}; - - template - struct default_matcher::match8<0,1,2,3,4,5,6,7,P> : identity_pattern - {}; - - template - struct default_matcher::match16<0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,P> - : identity_pattern - {}; - - template - struct default_matcher::match32 - < 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10,11,12,13,14,15 - , 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 - , P - > : identity_pattern - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/interleave_pattern.hpp b/inst/include/boost/simd/swar/functions/details/interleave_pattern.hpp deleted file mode 100644 index 2a393cc..0000000 --- a/inst/include/boost/simd/swar/functions/details/interleave_pattern.hpp +++ /dev/null @@ -1,188 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_INTERLEAVE_PATTERN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_INTERLEAVE_PATTERN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // reversed cardinal 2 interleave_* - //============================================================================ - template - struct default_matcher::match2<2,0,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, T const& a1, P const&) - { - return interleave_first(a1,a0); - } - }; - - template - struct default_matcher::match2<3,1,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, T const& a1, P const&) - { - return interleave_second(a1,a0); - } - }; - - //============================================================================ - // Auto-generated (de)interleave_* for 2-32 cardinal - //============================================================================ -#define M_IUFIRST(z,n,t) (n/2) -#define M_IUFIRST00(z,n,t) (n%2 ? M_IUFIRST(z,n,t) : -1) -#define M_IUFIRST01(z,n,t) (n%2 ? -1 : M_IUFIRST(z,n,t)) -#define M_IBFIRST(z,n,t) (n/2+(n%2)*t) - -#define M_IUSECOND(z,n,t) (M_IUFIRST(z,n,t)+t/2) -#define M_IUSECOND00(z,n,t) (n%2 ? M_IUSECOND(z,n,t) : -1) -#define M_IUSECOND01(z,n,t) (n%2 ?-1 : M_IUSECOND(z,n,t)) - -#define M_IBSECOND(z,n,t) (M_IBFIRST(z,n,t)+t/2) - -#define M_IEVEN(z,n,t) (n%2 ? (t+n-1) : n) -#define M_IODD(z,n,t) (M_IEVEN(z,n,t)+1) - -#define M_DFIRST(z,n,t) (2*n) -#define M_DSECOND(z,n,t) (2*n+1) - -// unary interleaving -#define M_UINTERLEAVE(z,n,t) \ -template \ -struct BOOST_PP_CAT(default_matcher::match,n) \ - < BOOST_PP_ENUM(n,BOOST_PP_SEQ_ELEM(1,t),n), Permutation> \ -{ \ - template \ - static BOOST_FORCEINLINE T process(T const& a0, P const&) \ - { \ - return BOOST_PP_SEQ_ELEM(0,t)BOOST_PP_SEQ_ELEM(2,t); \ - } \ -}; \ -/**/ - -// Binary interleaving -#define M_BINTERLEAVE(z,n,t) \ -template \ -struct BOOST_PP_CAT(default_matcher::match,n) \ - < BOOST_PP_ENUM(n,BOOST_PP_SEQ_ELEM(1,t),n), Permutation> \ -{ \ - template \ - static BOOST_FORCEINLINE T process(T const& a0, T const& a1, P const&) \ - { \ - return BOOST_PP_SEQ_ELEM(0,t)BOOST_PP_SEQ_ELEM(2,t); \ - } \ -}; \ -/**/ - - // Unary interleave_first/second - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 2, 32, M_UINTERLEAVE - , (interleave_first) - (M_IUFIRST) - ((a0,a0)) - ) - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 2, 32, M_UINTERLEAVE - , (interleave_first) - (M_IUFIRST00) - ((Zero(),a0)) - ) - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 2, 32, M_UINTERLEAVE - , (interleave_first) - (M_IUFIRST01) - ((a0,Zero())) - ) - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 2, 32, M_UINTERLEAVE - , (interleave_second) - (M_IUSECOND) - ((a0,a0)) - ) - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 2, 32, M_UINTERLEAVE - , (interleave_second) - (M_IUSECOND00) - ((Zero(),a0)) - ) - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 2, 32, M_UINTERLEAVE - , (interleave_second) - (M_IUSECOND01) - ((a0,Zero())) - ) - - // Binary interleave_first/second - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 2, 32, M_BINTERLEAVE - , (interleave_first) - (M_IBFIRST) - ((a0,a1)) - ) - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 2, 32, M_BINTERLEAVE - , (interleave_second) - (M_IBSECOND) - ((a0,a1)) - ) - - // Binary interleave_even/odd - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 4, 32, M_BINTERLEAVE - , (interleave_even) - (M_IEVEN) - ((a0,a1)) - ) - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 4, 32, M_BINTERLEAVE - , (interleave_odd) - (M_IODD) - ((a0,a1)) - ) - // Binary deinterleave_first_second - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 4, 32, M_BINTERLEAVE - , (deinterleave_first) - (M_DFIRST) - ((a0,a1)) - ) - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM_TO ( 4, 32, M_BINTERLEAVE - , (deinterleave_second) - (M_DSECOND) - ((a0,a1)) - ) - -#undef M_UINTERLEAVE -#undef M_BINTERLEAVE -#undef M_IUFIRST -#undef M_IUSECOND -#undef M_IBFIRST -#undef M_IBSECOND -#undef M_IODD -#undef M_IEVEN -#undef M_DFIRST -#undef M_DSECOND - -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/perm.hpp b/inst/include/boost/simd/swar/functions/details/perm.hpp deleted file mode 100644 index 9b72cee..0000000 --- a/inst/include/boost/simd/swar/functions/details/perm.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_PERM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_PERM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - // Result of the meta permutation - template - struct index_ : boost::mpl::apply < P - , boost::mpl::int_ - , Card - >::type - {}; - - // Generate the the correct mask - template - struct generate_ - : boost::mpl::int_<((0>index_::value)?-1:(Offset+Inc))> - {}; - - template - struct bit_count - : boost::mpl::int_< 1 << ( boost::static_log2::value - - boost::static_log2::value - ) - > - {}; - - // Permute specialization - template struct permute - { - static const std::size_t Bytes = sizeof(Type); - - template - struct mask_ - : generate_ < P - , boost::mpl::int_ - , index_, (I / (Bytes/N))>::value - * bit_count::value - , I / (Bytes/N) - , I % (Bytes/N) - > - {}; - - static BOOST_FORCEINLINE Type call() - { - return call(boost::mpl::int_()); - } - - static BOOST_FORCEINLINE Type call(boost::mpl::int_<16> const&) - { - return make ( mask_< 0>::value, mask_< 1>::value - , mask_< 2>::value, mask_< 3>::value - , mask_< 4>::value, mask_< 5>::value - , mask_< 6>::value, mask_< 7>::value - , mask_< 8>::value, mask_< 9>::value - , mask_<10>::value, mask_<11>::value - , mask_<12>::value, mask_<13>::value - , mask_<14>::value, mask_<15>::value - ); - } - - static BOOST_FORCEINLINE Type call(boost::mpl::int_<8> const&) - { - return make ( mask_< 0>::value, mask_< 1>::value - , mask_< 2>::value, mask_< 3>::value - , mask_< 4>::value, mask_< 5>::value - , mask_< 6>::value, mask_< 7>::value - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/permuted.hpp b/inst/include/boost/simd/swar/functions/details/permuted.hpp deleted file mode 100644 index 153d4d2..0000000 --- a/inst/include/boost/simd/swar/functions/details/permuted.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_PERMUTED_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_PERMUTED_HPP_INCLUDED - -namespace boost { namespace simd { namespace details -{ - /* - permuted computes a value of a single shuffle pattern idnex - */ - template - struct permuted : boost::mpl::apply < P - , boost::mpl::int_ - , boost::mpl::int_ - >::type - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/pick.hpp b/inst/include/boost/simd/swar/functions/details/pick.hpp deleted file mode 100644 index 1a1fc13..0000000 --- a/inst/include/boost/simd/swar/functions/details/pick.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_PICK_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_PICK_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // Either extract the Ith element for a shuffle or return 0 if I is -1 - // As we use static extract, we statically jump to the correct extract call - // to avoid warning about overflow in extract index - //============================================================================ - template struct pick - { - typedef typename simd::meta::scalar_of::type type; - - static BOOST_FORCEINLINE type apply(T const& a0) - { - return extract(a0); - } - - template - static BOOST_FORCEINLINE type apply(A0 const& a0, A0 const& a1) - { - return apply(a0,a1,boost::mpl::bool_= C)>() ); - } - - template - static BOOST_FORCEINLINE type apply ( A0 const& a0, A0 const& - , boost::mpl::true_ const& - ) - { - return extract(a0); - } - - template - static BOOST_FORCEINLINE type apply ( A0 const&, A0 const& a1 - , boost::mpl::false_ const& - ) - { - return extract(a1); - } - }; - - //============================================================================ - // Static dispatch over -1 so extract never get called - //============================================================================ - template - struct pick<-1,T,C> - { - typedef typename simd::meta::scalar_of::type type; - - static BOOST_FORCEINLINE type apply(T const&) - { - return type(0); - } - - template - static BOOST_FORCEINLINE type apply(A0 const&, A0 const&) - { - return type(0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/random_permute.hpp b/inst/include/boost/simd/swar/functions/details/random_permute.hpp deleted file mode 100644 index 32ab8c6..0000000 --- a/inst/include/boost/simd/swar/functions/details/random_permute.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_RANDOM_PERMUTE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_RANDOM_PERMUTE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace details -{ - template - struct random_permute - { - template struct nth_t; - - template - struct nth_t<0, I0, In...> : std::integral_constant - {}; - - template - struct nth_t : nth_t::type - {}; - - template - struct apply : nth_t - {}; - }; - - template - using random_permute_t = boost::dispatch::meta - ::as_>; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/repeat_pattern.hpp b/inst/include/boost/simd/swar/functions/details/repeat_pattern.hpp deleted file mode 100644 index 3e99f79..0000000 --- a/inst/include/boost/simd/swar/functions/details/repeat_pattern.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_REPEAT_PATTERN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_REPEAT_PATTERN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // Repear lower/upper pattern - //============================================================================ - struct repeat_lower - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - return repeat_lower_half(a0); - } - }; - - struct repeat_upper - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - return repeat_upper_half(a0); - } - }; - - //============================================================================ - // Forward to repeating on a0/a1 - // Not that for cardinal 2, this is already done by broadcast - //============================================================================ - template - struct default_matcher::match4<0,1,0,1,P> : repeat_lower - {}; - - template - struct default_matcher::match4<2,3,2,3,P> : repeat_upper - {}; - - template - struct default_matcher::match8<0,1,2,3,0,1,2,3,P> : repeat_lower - {}; - - template - struct default_matcher::match8<4,5,6,7,4,5,6,7,P> : repeat_upper - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/reverse_pattern.hpp b/inst/include/boost/simd/swar/functions/details/reverse_pattern.hpp deleted file mode 100644 index 857c6b1..0000000 --- a/inst/include/boost/simd/swar/functions/details/reverse_pattern.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_REVERSE_PATTERN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_REVERSE_PATTERN_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // Idempotent pattern - //============================================================================ - struct reverse_pattern - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - return reverse(a0); - } - }; - - //============================================================================ - // Forward to identify on a0/a1 - //============================================================================ - template struct default_matcher::match2<1,0,P> : reverse_pattern {}; - - template - struct default_matcher::match4<3,2,1,0,P> : reverse_pattern - {}; - - template - struct default_matcher::match8<7,6,5,4,3,2,1,0,P> : reverse_pattern - {}; - - template - struct default_matcher::match16<15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,P> - : reverse_pattern - {}; - - template - struct default_matcher::match32< 31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16 - , 15,14,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 - , P - > - : reverse_pattern - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/shuffle.hpp b/inst/include/boost/simd/swar/functions/details/shuffle.hpp deleted file mode 100644 index 1395b99..0000000 --- a/inst/include/boost/simd/swar/functions/details/shuffle.hpp +++ /dev/null @@ -1,135 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_SHUFFLE_HPP_INCLUDED - -#define BOOST_SIMD_MM_SHUFFLE_PD(a,b,c,d) \ -((a&3)<<3 | (b&3)<<2 | (c&3)<<1 | (d&3)) \ -/**/ - -namespace boost { namespace simd { namespace details -{ -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - template< unsigned int lower_i0, unsigned int lower_i1 - , unsigned int upper_i0, unsigned int upper_i1> - BOOST_FORCEINLINE - __m128i shuffle(__m128i const lower, __m128i const upper) - { - return _mm_castps_si128( - _mm_shuffle_ps( _mm_castsi128_ps(lower), _mm_castsi128_ps(upper) - , _MM_SHUFFLE(upper_i1, upper_i0, lower_i1, lower_i0) - ) - ); - } - - template< unsigned int lower_i0, unsigned int lower_i1 - , unsigned int upper_i0, unsigned int upper_i1> - BOOST_FORCEINLINE - __m128 shuffle(__m128 const lower, __m128 const upper) - { - return _mm_shuffle_ps( lower, upper - , _MM_SHUFFLE(upper_i1, upper_i0, lower_i1, lower_i0) - ); - } - - template - BOOST_FORCEINLINE - __m128d shuffle(__m128d const lower, __m128d const upper) - { - return _mm_shuffle_pd(lower, upper, _MM_SHUFFLE2(upper_i0, lower_i0)); - } - - template< unsigned int lower_i0, unsigned int lower_i1 - , unsigned int upper_i0, unsigned int upper_i1> - BOOST_FORCEINLINE __m128 shuffle(__m128 const input) - { - return shuffle(input, input); - } - - template< unsigned int lower_i0, unsigned int lower_i1 - , unsigned int upper_i0, unsigned int upper_i1> - BOOST_FORCEINLINE __m128i shuffle(__m128i const input) - { - return _mm_shuffle_epi32 ( input, _MM_SHUFFLE( upper_i1, upper_i0 - , lower_i1, lower_i0 - ) - ); - } - - template - BOOST_FORCEINLINE __m128d shuffle(__m128d const input) - { - return shuffle(input, input); - } -#endif - -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - template< unsigned int lower_i0, unsigned int lower_i1 - , unsigned int upper_i0, unsigned int upper_i1> - BOOST_FORCEINLINE - __m256 shuffle(__m256 const lower, __m256 const upper) - { - return _mm256_shuffle_ps( lower, upper - , _MM_SHUFFLE(upper_i1, upper_i0, lower_i1, lower_i0) - ); - } - - template< unsigned int i0, unsigned int i1 - , unsigned int i2, unsigned int i3> - BOOST_FORCEINLINE - __m256 shuffle_pairs(__m256 const lower, __m256 const upper) - { - return _mm256_castpd_ps( - _mm256_shuffle_pd( _mm256_castps_pd(lower), _mm256_castps_pd(upper) - , BOOST_SIMD_MM_SHUFFLE_PD(i3, i2, i1, i0) - ) - ); - } - - template< unsigned int lower_i0, unsigned int lower_i1 - , unsigned int upper_i0, unsigned int upper_i1> - BOOST_FORCEINLINE - __m256d shuffle(__m256d const lower, __m256d const upper) - { - return _mm256_shuffle_pd( lower, upper - , BOOST_SIMD_MM_SHUFFLE_PD(upper_i1, upper_i0, lower_i1, lower_i0) - ); - } - - template< unsigned int lower_i0, unsigned int lower_i1 - , unsigned int upper_i0, unsigned int upper_i1> - BOOST_FORCEINLINE - __m256d shuffle(__m256d const input) - { - return shuffle(input, input); - } - - template< unsigned int lower_i0, unsigned int lower_i1 - , unsigned int upper_i0, unsigned int upper_i1> - BOOST_FORCEINLINE - __m256i shuffle(__m256i const lower, __m256i const upper) - { - return _mm256_castpd_si256( - _mm256_shuffle_pd( _mm256_castsi256_pd(lower), _mm256_castsi256_pd(upper) - , _MM_SHUFFLE(upper_i1, upper_i0, lower_i1, lower_i0) - ) - ); - } - - template< unsigned int lower_i0, unsigned int lower_i1 - , unsigned int upper_i0, unsigned int upper_i1> - BOOST_FORCEINLINE - __m256i shuffle(__m256i const input) - { - return shuffle(input, input); - } -#endif -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/shuffler.hpp b/inst/include/boost/simd/swar/functions/details/shuffler.hpp deleted file mode 100644 index 9b61c86..0000000 --- a/inst/include/boost/simd/swar/functions/details/shuffler.hpp +++ /dev/null @@ -1,149 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_SHUFFLER_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_SHUFFLER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#define M0(z,idx,card) permuted::value \ -/**/ - -#define R0(z,idx,card) permuted< remap,idx,card>::value \ -/**/ - -#define M1(z,card,t) \ -template \ -struct shuffler \ -{ \ - template \ - static BOOST_FORCEINLINE T process(T const& a0, P const& p) \ - { \ - typedef typename Matcher::template \ - BOOST_PP_CAT(match,card)< BOOST_PP_ENUM(card,M0,card) \ - , Permutation \ - > m_t; \ - \ - return m_t::process(a0,p); \ - } \ - \ - template \ - static BOOST_FORCEINLINE T process(T const& a0, T const& a1, P const& p) \ - { \ - return process(a0,a1,p,typename topology::type()); \ - } \ - \ - template \ - static BOOST_FORCEINLINE \ - T process(T const& a0, T const&, P const& p, first_arg const&) \ - { \ - typedef typename Matcher::template \ - BOOST_PP_CAT(match,card)< BOOST_PP_ENUM(card,M0,card) \ - , Permutation \ - > m_t; \ - \ - return m_t::process(a0,p); \ - } \ - \ - template \ - static BOOST_FORCEINLINE \ - T process(T const&, T const& a1, P const&, second_arg const&) \ - { \ - typedef typename Matcher::template \ - BOOST_PP_CAT(match,card)< BOOST_PP_ENUM(card,R0,card) \ - , Permutation \ - > m_t; \ - \ - return m_t::process(a1,remap()); \ - } \ - \ - template \ - static BOOST_FORCEINLINE \ - T process(T const& a0, T const& a1, P const& p, mixed_arg const&) \ - { \ - typedef typename Matcher::template \ - BOOST_PP_CAT(match,card)< BOOST_PP_ENUM(card,M0,card) \ - , Permutation \ - > m_t; \ - \ - return m_t::process(a0,a1,p); \ - } \ -}; \ -/**/ - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // shuffler is a decentralized shuffle pattern solver - // Shuffling try to match an optimized pattern via Matcher and if it fails, - // use the generic Permutation functor to perform the shuffling. - //============================================================================ - template< typename Matcher, typename Permutation - , std::size_t Cardinal - , std::size_t MaxCardinal - , bool useMatcher = (Cardinal <= MaxCardinal) - > - struct shuffler; - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM(2,M1,~) - - //============================================================================ - // As some extensions only handles some type of permutation, shuffler is - // parametrized by a maximum Cardinal after which it will default to do - // aligned_load over an aligned_array filled with proper values. - //============================================================================ - template< typename Matcher, typename Permutation - , std::size_t Cardinal - , std::size_t MaxCardinal - > - struct shuffler - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename meta::scalar_of::type s_t; - typedef aligned_array data_t; - - data_t that; - meta::iterate( unary_filler(a0,that) ); - - return aligned_load(&that[0]); - } - - template - static BOOST_FORCEINLINE T process(T const& a0, T const& a1, P const&) - { - typedef typename meta::scalar_of::type s_t; - typedef aligned_array data_t; - - data_t that; - meta::iterate( binary_filler(a0,a1,that) ); - - return aligned_load(&that[0]); - } - }; -} } } - -#undef R0 -#undef M0 -#undef M1 - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/slide_pattern.hpp b/inst/include/boost/simd/swar/functions/details/slide_pattern.hpp deleted file mode 100644 index cb363c6..0000000 --- a/inst/include/boost/simd/swar/functions/details/slide_pattern.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_SLIDE_PATTERN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_SLIDE_PATTERN_HPP_INCLUDED - -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // slide pattern - //============================================================================ - template - struct slide_pattern - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - return slide(a0); - } - - template - static BOOST_FORCEINLINE T process(T const& a0, T const& a1, P const&) - { - return slide(a0,a1); - } - }; - -#define M2(z,n,t) -1 -#define M1(z,n,t) (t + n) - -#define M0(z,n,t) \ -template \ -struct default_matcher::match##t < BOOST_PP_ENUM(t,M1,BOOST_PP_INC(n)) \ - , Permutation \ - > \ - : slide_pattern \ -{}; \ - \ -template \ -struct default_matcher::match##t< BOOST_PP_ENUM( BOOST_PP_SUB(t \ - ,BOOST_PP_INC(n) \ - ) \ - , M1 \ - , BOOST_PP_INC(n) \ - ) \ - , BOOST_PP_ENUM ( BOOST_PP_INC(n) \ - , M2 \ - , BOOST_PP_INC(n) \ - ) \ - , Permutation \ - > \ - : slide_pattern \ -{}; \ -/**/ - - //============================================================================ - // Cardinal 4 slide patterns - //============================================================================ - BOOST_PP_REPEAT(3,M0,4) - - //============================================================================ - // Cardinal 8 slide patterns - //============================================================================ - BOOST_PP_REPEAT(7,M0,8) - - //============================================================================ - // Cardinal 16 slide patterns - //============================================================================ - BOOST_PP_REPEAT(15,M0,16) - -#undef M0 -#undef M1 -#undef M2 - -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/topology.hpp b/inst/include/boost/simd/swar/functions/details/topology.hpp deleted file mode 100644 index 941fcf4..0000000 --- a/inst/include/boost/simd/swar/functions/details/topology.hpp +++ /dev/null @@ -1,146 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_TOPOLOGY_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_TOPOLOGY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // Adapt a permutation of [C ... 2*C[ to be into [0 ... C[ - //============================================================================ - template - struct remap - { - template - struct apply - : boost::mpl::int_ - < mpl::apply::type::value - - int(Cardinal)*( mpl::apply::type::value > -1 ) - > - {}; - }; - - //============================================================================ - // Adapt a permutation of [0 ... 2*C[ to be into the [0 ... C[ - //============================================================================ - template - struct clamp - { - template - struct apply - : boost::mpl::int_ - < (mpl::apply::type::value >= C::value) - ? (mpl::apply::type::value - C::value) - : mpl::apply::type::value - > - {}; - }; - //============================================================================ - // Adapt a permutation to be remove all -1 - //============================================================================ - template - struct fix_zero - { - template - struct apply - : boost::mpl::int_ - < (mpl::apply::type::value >= 0) - ? mpl::apply::type::value - : I::value - > - {}; - }; - - //============================================================================ - // Check if Permutation indexing I is forcing a zero - //============================================================================ - template< typename Permutation, typename Index, typename Cardinal> - struct is_zeroing_at - : mpl::bool_< mpl::apply::type::value == -1 > - {}; - - //============================================================================ - // Does the permutation does any zeroing ? - //============================================================================ - template - struct perform_zeroing - : dispatch::meta::any_seq < is_zeroing_at < Permutation - , boost::mpl::_1 - , mpl::int_ - > - , mpl::range_c - > - {}; - - //============================================================================ - // Zeroing mask generator - //============================================================================ - template - struct zero_mask - : mpl::int_< mpl::apply < Permutation - , mpl::int_ - , mpl::int_ - >::type::value == -1 - ? 0 : ~0 - > - {}; - - //============================================================================ - // Predefined topology - //============================================================================ - typedef boost::mpl::int_<-1> first_arg; - typedef boost::mpl::int_< 0> mixed_arg; - typedef boost::mpl::int_< 1> second_arg; - - //============================================================================ - // Computes the topology of a permutation: - // -1 means all indexing is from a0 - // 0 means all indexing are random - // +1 means all indexing is from a1 - //============================================================================ - template - struct topology - { - typedef mixed_arg type; - }; - - #define M0(z,n,t) static const int i##n = permuted::value; - #define M1(z,n,t) && !(i##n>=t) - #define M2(z,n,t) && (i##n>=t||i##n==-1) - - #define M3(z,n,t) \ - template struct topology \ - { \ - BOOST_PP_REPEAT(n,M0,n) \ - \ - typedef boost::mpl:: \ - int_< true BOOST_PP_REPEAT(n,M1,n) \ - ? -1 : (true BOOST_PP_REPEAT(n,M2,n) ? 1 : 0) \ - > type; \ - }; \ - /**/ - - BOOST_SIMD_PP_REPEAT_POWER_OF_2_FROM(2,M3,~) - - #undef M0 - #undef M1 - #undef M2 - #undef M3 -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/details/zero_pattern.hpp b/inst/include/boost/simd/swar/functions/details/zero_pattern.hpp deleted file mode 100644 index 8993942..0000000 --- a/inst/include/boost/simd/swar/functions/details/zero_pattern.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_ZERO_PATTERN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_DETAILS_ZERO_PATTERN_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // Zeroing pattern - //============================================================================ - struct zero_pattern - { - // By default, nothing is optimized - template - static BOOST_FORCEINLINE T process(T const&, P const&) - { - return Zero(); - } - }; - - //============================================================================ - // Forward to 0-ing - //============================================================================ - template - struct default_matcher::match2<-1,-1,P> : zero_pattern - {}; - - template - struct default_matcher::match4<-1,-1,-1,-1,P> : zero_pattern - {}; - - template - struct default_matcher::match8<-1,-1,-1,-1,-1,-1,-1,-1,P> : zero_pattern - {}; - - template - struct default_matcher - ::match16<-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,P> - : zero_pattern - {}; - - template - struct default_matcher - ::match32 <-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 - ,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,P> - : zero_pattern - {}; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/enumerate.hpp b/inst/include/boost/simd/swar/functions/enumerate.hpp deleted file mode 100644 index 1e7a301..0000000 --- a/inst/include/boost/simd/swar/functions/enumerate.hpp +++ /dev/null @@ -1,126 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_ENUMERATE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - * \brief Define the tag enumerate_ of functor enumerate - * in namespace boost::simd::tag for toolbox boost.simd.enumerate - **/ - struct enumerate_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_enumerate_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_enumerate_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_enumerate_; - } - - /*! - @brief Linear enumeration of value - - Return a SIMD register containing a linear enumeration of value defined - by a seed value and a step. - - @par Semantic: - - For any given SIMD type @c T, and any value @c seed and @c step of a scalar - type @c S, the following code : - - @code - T r = enumerate(seed, step); - @endcode - - is equivalent to - - @code - T r = make(seed, seed + step, ... , seed + (N-1)*step); - @endcode - - where @c N is the equal to cardinal_of::value. - - For any given SIMD type @c T, and any value @c seed and @c step of a SIMD - type @c S, the following code : - - @code - T r = enumerate(seed, step); - @endcode - - is equivalent to - - @code - T r = splat(seed) + splat(step)*enumerate(); - @endcode - - @tparam T Result type of the enumeration - - @param seed Initial value of the enumeration. By default, @c seed is equals - to 0. - - @param step Scaling factor of the enumeration step. By default, @c step is - equals to 1. - - @return A SIMD register of scalar type @c T - **/ - template BOOST_FORCEINLINE - typename boost::dispatch::meta:: - call - ) - >::type - enumerate(A0 const& seed, A1 const& step) - { - typename boost::dispatch::make_functor::type callee; - return callee(seed,step,boost::dispatch::meta::as_()); - } - - /// @overload - template BOOST_FORCEINLINE - typename boost::dispatch::meta:: - call - ) - >::type - enumerate(A0 const& seed) - { - typename boost::dispatch::make_functor::type callee; - return callee(seed,boost::dispatch::meta::as_()); - } - - /// @overload - template BOOST_FORCEINLINE - typename boost::dispatch::meta:: - call ) - >::type - enumerate() - { - typename boost::dispatch::make_functor::type callee; - return callee(boost::dispatch::meta::as_()); - } -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/generic/slice.hpp b/inst/include/boost/simd/swar/functions/generic/slice.hpp deleted file mode 100644 index f3add7c..0000000 --- a/inst/include/boost/simd/swar/functions/generic/slice.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_GENERIC_SLICE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_GENERIC_SLICE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( slice_ - , tag::cpu_ - , (A0)(A1) - , ((generic_< unspecified_ >)) - ((generic_< unspecified_ >)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A1 & a2) const - { - result_type a1; - boost::simd::slice(a0, a1, a2); - return a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( slice_, tag::cpu_ - , (A0) - , (generic_< unspecified_ >) - ) - { - typedef typename meta::vector_of < typename A0::value_type - , A0::static_size / 2 - >::type part; - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - part first, second; - boost::simd::slice( a0, first, second ); - return result_type(first, second); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/generic/split.hpp b/inst/include/boost/simd/swar/functions/generic/split.hpp deleted file mode 100644 index 518d6eb..0000000 --- a/inst/include/boost/simd/swar/functions/generic/split.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_GENERIC_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_GENERIC_SPLIT_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( split_ - , tag::cpu_ - , (A0)(A1) - , (simd::meta::is_upgradable_to) - , ((generic_< unspecified_ >)) - ((generic_< unspecified_ >)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A1 & a2) const - { - result_type a1; - boost::simd::split(a0, a1, a2); - return a1; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/generic/split_multiplies.hpp b/inst/include/boost/simd/swar/functions/generic/split_multiplies.hpp deleted file mode 100644 index 1fd0448..0000000 --- a/inst/include/boost/simd/swar/functions/generic/split_multiplies.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_GENERIC_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_GENERIC_SPLIT_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( split_multiplies_ - , tag::cpu_ - , (A0)(A1) - , (simd::meta::is_upgradable_to) - , ((generic_< arithmetic_ >)) - ((generic_< arithmetic_ >)) - ((generic_< arithmetic_ >)) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1, A1 & a3) const - { - result_type a2; - boost::simd::split_multiplies(a0, a1, a2, a3); - return a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( split_multiplies_, tag::cpu_ - , (A0) - , ( simd::meta::is_upgradable ) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::upgrade::type part; - typedef std::pair result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - part first, second; - boost::simd::split_multiplies( a0, a1, first, second ); - return result_type(first, second); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/group.hpp b/inst/include/boost/simd/swar/functions/group.hpp deleted file mode 100644 index 38c2dda..0000000 --- a/inst/include/boost/simd/swar/functions/group.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_GROUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_GROUP_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief group generic tag - - Represents the group function in generic contexts. - - @par Models: - Hierarchy - **/ - struct group_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_group_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_group_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_group_; - } - - /*! - take two SIMD vectors of same type and elements of size n - and return a vector collecting the two in a vector in which - the elements have size n/2 - - Of course the applicability is conditioned by the existence of compatible - SIMD vector types - - @par Semantic: - - For every parameters of type T0 - - @code - downgrade r = group(a0, a1); - @endcode - - is similar to: - - @code - downgrade r; - for(int i=0;i < T0::static_size; ++i) - r[i] = a0[i]; - r[i+T0::static_size] = a1[i]; - @endcode - - @par Alias: - @c demote, @c narrow - - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::group_, group, 2) - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::group_, group, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::group_, demote, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::group_, narrow, 1) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/groups.hpp b/inst/include/boost/simd/swar/functions/groups.hpp deleted file mode 100644 index faebc49..0000000 --- a/inst/include/boost/simd/swar/functions/groups.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_GROUPS_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief groups generic tag - - Represents the groups function in generic contexts. - - @par Models: - Hierarchy - **/ - struct groups_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_groups_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_groups_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_groups_; - } - /*! - take two SIMD vectors of same type and elements of size n - and return a vector collecting the two in a vector in which - the elements have size n/2 properly saturated. - - Of course the applicability is conditioned by the existence of compatible - SIMD vector types - - @par Semantic: - - For every parameters of type T0 - - @code - T0 r = groups(a0, a1); - @endcode - - is similar to: - - @code - downgrade r; - for(int i=0;i < T0::static_size; ++i) - r[i] = a0[i]; - r[i+T0::static_size] = a1[i]; - @endcode - - @par Alias: - @c demotes, @c narrows - - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::groups_, groups, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::groups_, demotes, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::groups_, narrows, 1) - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::groups_, groups, 2) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/interleave_even.hpp b/inst/include/boost/simd/swar/functions/interleave_even.hpp deleted file mode 100644 index fc34830..0000000 --- a/inst/include/boost/simd/swar/functions/interleave_even.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_INTERLEAVE_EVEN_HPP_INCLUDED - -#include -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief interleave_even generic tag - - Represents the interleave_even function in generic contexts. - - @par Models: - Hierarchy - **/ - struct interleave_even_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_interleave_even_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_interleave_even_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_interleave_even_; - } - - /*! - Computes a vector from a combination of the two inputs. - - @par Semantic: - - For every parameters of types respectively T0: - - @code - T0 r = interleave_even(a,b); - @endcode - - is equivalent to : - - @code - r = [ a[0] b[0] a[2] b[2] ... a[n/2] b[n/2] ] - @endcode - - with n = cardinal_of::value - - @param a0 First vector to interleave - @param a1 Second vector to interleave - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::interleave_even_, interleave_even, 2) - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/interleave_first.hpp b/inst/include/boost/simd/swar/functions/interleave_first.hpp deleted file mode 100644 index b1f55e5..0000000 --- a/inst/include/boost/simd/swar/functions/interleave_first.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_INTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief interleave_first generic tag - - Represents the interleave_first function in generic contexts. - - @par Models: - Hierarchy - **/ - struct interleave_first_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_interleave_first_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_interleave_first_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_interleave_first_; - } - - /*! - Computes a vector from a combination of the two inputs. - - @par Semantic: - - For every parameters of types respectively T, the following code: - - @code - T r = interleave_first(a,b); - @endcode - - is equivalent to : - - @code - r = [ a[0] b[0] a[1] b[1] ... a[n/2-1] b[n/2-1] ] - @endcode - - with n = cardinal_of::value - - @param a0 First vector to interleave - @param a1 Second vector to interleave - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::interleave_first_, interleave_first, 2) - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/interleave_odd.hpp b/inst/include/boost/simd/swar/functions/interleave_odd.hpp deleted file mode 100644 index efbff31..0000000 --- a/inst/include/boost/simd/swar/functions/interleave_odd.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_INTERLEAVE_ODD_HPP_INCLUDED - -#include -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief interleave_odd generic tag - - Represents the interleave_odd function in generic contexts. - - @par Models: - Hierarchy - **/ - struct interleave_odd_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_interleave_odd_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_interleave_odd_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_interleave_odd_; - } - - /*! - Computes a vector from a combination of the two inputs. - - @par Semantic: - - For every parameters of types respectively T0: - - @code - T0 r = interleave_odd(a,b); - @endcode - - is equivalent to : - - @code - r = [ a[1] b[1] a[3] b[3] ... a[n/2+1] b[n/2+1] ] - @endcode - - with n = cardinal_of::value - - @param a0 First vector to interleave - @param a1 Second vector to interleave - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::interleave_odd_, interleave_odd, 2) - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/interleave_second.hpp b/inst/include/boost/simd/swar/functions/interleave_second.hpp deleted file mode 100644 index 3dea0a4..0000000 --- a/inst/include/boost/simd/swar/functions/interleave_second.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_INTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief interleave_second generic tag - - Represents the interleave_second function in generic contexts. - - @par Models: - Hierarchy - **/ - struct interleave_second_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_interleave_second_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_interleave_second_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_interleave_second_; - } - - /*! - Computes a vector from a combination of the two inputs. - - @par Semantic: - - For every parameters of type T0: - - @code - T0 r = interleave_second(a,b); - @endcode - - is equivalent to : - - @code - r = [ a[n/2-1] b[n/2-1] a[n/2] b[n/2] ... a[n-1] b[n-1] ] - @endcode - - with n = cardinal_of::value - - @param a0 First vector to interleave - @param a1 Second vector to interleave - - @return a value of the same type as the parameters - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::interleave_second_, interleave_second, 2) - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/lookup.hpp b/inst/include/boost/simd/swar/functions/lookup.hpp deleted file mode 100644 index f85244a..0000000 --- a/inst/include/boost/simd/swar/functions/lookup.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_LOOKUP_HPP_INCLUDED -#include -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief lookup generic tag - - Represents the lookup function in generic contexts. - - @par Models: - Hierarchy - **/ - struct lookup_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_lookup_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_lookup_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_lookup_; - } - /*! - shuffles the elements of a1 using indices in a2 - - @par Semantic: - - For every parameters of types respectively T0, T1: - - @code - T0 r = lookup(a0,a1); - @endcode - - is similar to: - - @code - T0 r; - for(size_t i=0; i < boost::simd::meta::cardinal_of::value; i++) - r[i] = a0[a1[i]]; - @endcode - - @param a0 - - @param a1 - - @return a value of the same type as the first parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::lookup_, lookup, 2) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/pack/enumerate.hpp b/inst/include/boost/simd/swar/functions/pack/enumerate.hpp deleted file mode 100644 index f59c60e..0000000 --- a/inst/include/boost/simd/swar/functions/pack/enumerate.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_PACK_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_PACK_ENUMERATE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (T) - , ((target_ < ast_< T - , boost::simd::domain - > - > - )) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE result_type operator()(T const&) const - { - return boost::simd::enumerate(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(T) - , (scalar_< arithmetic_ >) - ((target_ < ast_< T - , boost::simd::domain - > - > - )) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const&) const - { - return boost::simd::enumerate(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(T)(X) - , ((simd_< arithmetic_, X >)) - ((target_ < ast_< T - , boost::simd::domain - > - > - )) - ) - { - typedef typename T::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& ) const - { - return boost::simd::enumerate(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(A1)(T) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ((target_ < ast_< T - , boost::simd::domain - > - > - )) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const& a1, T const& ) const - { - return boost::simd::enumerate(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(A1)(X)(T) - , ((simd_< arithmetic_, X >)) - (generic_< arithmetic_ >) - ((target_ < ast_< T - , boost::simd::domain - > - > - )) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const&, T const& ) const - { - return boost::simd::enumerate(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/repeat_lower_half.hpp b/inst/include/boost/simd/swar/functions/repeat_lower_half.hpp deleted file mode 100644 index 604abc3..0000000 --- a/inst/include/boost/simd/swar/functions/repeat_lower_half.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_REPEAT_LOWER_HALF_HPP_INCLUDED - -#include -#include - - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief repeat_lower_half generic tag - - Represents the repeat_lower_half function in generic contexts. - - @par Models: - Hierarchy - **/ - struct repeat_lower_half_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_repeat_lower_half_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_repeat_lower_half_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_repeat_lower_half_; - } - - /*! - Repeat lower half of a vector - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = repeat_lower_half(a0); - @endcode - - is similar to: - - @code - T0 r; - const std::size_t middle = meta::cardinal_of::value/2; - for(std::size_t i=0;i -#include - - -namespace boost { namespace simd { - namespace tag - { - /*! - @brief repeat_upper_half generic tag - - Represents the repeat_upper_half function in generic contexts. - - @par Models: - Hierarchy - **/ - struct repeat_upper_half_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_repeat_upper_half_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_repeat_upper_half_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_repeat_upper_half_; - } - /*! - Repeat upper half of a vector - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = repeat_upper_half(a0); - @endcode - - is similar to: - - @code - T0 r; - const std::size_t n = meta::cardinal_of::value; - const std::size_t middle = meta::cardinal_of::value/2; - for(std::size_t i=middle;i -#include - - -namespace boost { namespace simd { namespace tag - { - /*! - @brief reverse generic tag - - Represents the reverse function in generic contexts. - - @par Models: - Hierarchy - **/ - struct reverse_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_reverse_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_reverse_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_reverse_; - } - /*! - returns a vector the elements of which are - those of a0 in reverse order - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = reverse(a0); - @endcode - - is similar to: - - @code - T0 r = ; - for(size_t i=0;i;++i) - r[i] = a0[cardinal_of-i-1]; - @endcode - - @param a0 - - @return a value of the same type as the parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::reverse_, reverse, 1) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/broadcast.hpp b/inst/include/boost/simd/swar/functions/scalar/broadcast.hpp deleted file mode 100644 index 20b41f9..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/broadcast.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_BROADCAST_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( broadcast_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const&) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/cummax.hpp b/inst/include/boost/simd/swar/functions/scalar/cummax.hpp deleted file mode 100644 index d62af29..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/cummax.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2014 Jean-Thierry Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_CUMMAX_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cummax_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/cummin.hpp b/inst/include/boost/simd/swar/functions/scalar/cummin.hpp deleted file mode 100644 index ad0308f..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/cummin.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2014 Jean-Thierry Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_CUMMIN_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cummin_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/cumprod.hpp b/inst/include/boost/simd/swar/functions/scalar/cumprod.hpp deleted file mode 100644 index 092c163..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/cumprod.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_CUMPROD_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cumprod_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/cumsum.hpp b/inst/include/boost/simd/swar/functions/scalar/cumsum.hpp deleted file mode 100644 index c15f38e..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/cumsum.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_CUMSUM_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cumsum_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/deinterleave_first.hpp b/inst/include/boost/simd/swar/functions/scalar/deinterleave_first.hpp deleted file mode 100644 index cbb83c4..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/deinterleave_first.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_DEINTERLEAVE_FIRST_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/deinterleave_second.hpp b/inst/include/boost/simd/swar/functions/scalar/deinterleave_second.hpp deleted file mode 100644 index 7fd56ce..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/deinterleave_second.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_DEINTERLEAVE_SECOND_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/enumerate.hpp b/inst/include/boost/simd/swar/functions/scalar/enumerate.hpp deleted file mode 100644 index b576c6e..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/enumerate.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_ENUMERATE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (T) - , (target_< scalar_< unspecified_ > >) - ) - { - typedef typename T::type result_type; - - result_type operator()(T const& ) const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(T) - , (scalar_< unspecified_ >) - (target_< scalar_< unspecified_ > >) - ) - { - typedef typename T::type result_type; - - result_type operator()(A0 const& a0, T const& ) const - { - return static_cast(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(A1)(T) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - (target_< scalar_< arithmetic_ > >) - ) - { - typedef typename T::type result_type; - - result_type operator()(A0 const& a0, A1 const&, T const& ) const - { - return static_cast(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/group.hpp b/inst/include/boost/simd/swar/functions/scalar/group.hpp deleted file mode 100644 index f6f7b49..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/group.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_GROUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_GROUP_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( group_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/groups.hpp b/inst/include/boost/simd/swar/functions/scalar/groups.hpp deleted file mode 100644 index 10e37f7..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/groups.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_GROUPS_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( groups_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(saturate(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/interleave_first.hpp b/inst/include/boost/simd/swar/functions/scalar/interleave_first.hpp deleted file mode 100644 index 9fa7f15..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/interleave_first.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_INTERLEAVE_FIRST_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_first_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/interleave_second.hpp b/inst/include/boost/simd/swar/functions/scalar/interleave_second.hpp deleted file mode 100644 index 0830fbd..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/interleave_second.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_INTERLEAVE_SECOND_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_second_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/lookup.hpp b/inst/include/boost/simd/swar/functions/scalar/lookup.hpp deleted file mode 100644 index 3ee4c67..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/lookup.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_LOOKUP_HPP_INCLUDED - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( lookup_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< integer_ >) - ) - { - - typedef A0 result_type; - inline result_type operator()(const A0&a0, const A1&) const - { - return a0; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/repeat_lower_half.hpp b/inst/include/boost/simd/swar/functions/scalar/repeat_lower_half.hpp deleted file mode 100644 index 9a465af..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/repeat_lower_half.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_REPEAT_LOWER_HALF_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_lower_half_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/repeat_upper_half.hpp b/inst/include/boost/simd/swar/functions/scalar/repeat_upper_half.hpp deleted file mode 100644 index 7fc2b78..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/repeat_upper_half.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_REPEAT_UPPER_HALF_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_upper_half_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/reverse.hpp b/inst/include/boost/simd/swar/functions/scalar/reverse.hpp deleted file mode 100644 index 743f523..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/reverse.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_REVERSE_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( reverse_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/sort.hpp b/inst/include/boost/simd/swar/functions/scalar/sort.hpp deleted file mode 100644 index 83324a2..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/sort.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SORT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SORT_HPP_INCLUDED - - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sort_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return a0; - } - }; - BOOST_DISPATCH_IMPLEMENT ( sort_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - result_type operator()(A0 const& a0, A1 const&) const - { - return a0; - } - }; - BOOST_DISPATCH_IMPLEMENT ( sort_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< arithmetic_ >) - (scalar_< integer_ >) - (scalar_< int8_ >) - ) - { - typedef A0 result_type; - result_type operator()(A0 const& a0, A1 const&, A2 const&) const - { - return a0; - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/splatted_maximum.hpp b/inst/include/boost/simd/swar/functions/scalar/splatted_maximum.hpp deleted file mode 100644 index 6ae089d..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/splatted_maximum.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLATTED_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLATTED_MAXIMUM_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splatted_maximum_ - , tag::cpu_ - , (A0) - , ( scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/splatted_minimum.hpp b/inst/include/boost/simd/swar/functions/scalar/splatted_minimum.hpp deleted file mode 100644 index d5e5d91..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/splatted_minimum.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLATTED_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLATTED_MINIMUM_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splatted_minimum_ - , tag::cpu_ - , (A0) - , ( scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/splatted_prod.hpp b/inst/include/boost/simd/swar/functions/scalar/splatted_prod.hpp deleted file mode 100644 index f17c781..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/splatted_prod.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLATTED_PROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLATTED_PROD_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splatted_prod_ - , tag::cpu_ - , (A0) - , ( scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/splatted_sum.hpp b/inst/include/boost/simd/swar/functions/scalar/splatted_sum.hpp deleted file mode 100644 index ff5b737..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/splatted_sum.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLATTED_SUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLATTED_SUM_HPP_INCLUDED - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splatted_sum_, tag::cpu_ - , (A0) - , ( scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/split.hpp b/inst/include/boost/simd/swar/functions/scalar/split.hpp deleted file mode 100644 index b4ed90f..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/split.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLIT_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/scalar/split_multiplies.hpp b/inst/include/boost/simd/swar/functions/scalar/split_multiplies.hpp deleted file mode 100644 index 2f2c403..0000000 --- a/inst/include/boost/simd/swar/functions/scalar/split_multiplies.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SCALAR_SPLIT_MULTIPLIES_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_multiplies_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return result_type(a0)*result_type(a1); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/shuffle.hpp b/inst/include/boost/simd/swar/functions/shuffle.hpp deleted file mode 100644 index 7cad8ee..0000000 --- a/inst/include/boost/simd/swar/functions/shuffle.hpp +++ /dev/null @@ -1,235 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SHUFFLE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief shuffle generic tag - - Represents the shuffle function in generic contexts. - - @par Models: - Hierarchy - **/ - struct shuffle_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_shuffle_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_shuffle_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_shuffle_; - } -} } - -namespace -{ - /// INTERNAL ONLY - local shuffle functor type - template - using shuffle_t = typename boost::dispatch - ::make_functor< boost::simd::tag::shuffle_ - , T - >::type; -} - -namespace boost { namespace simd -{ - /*! - @brief SIMD register shuffling - - Shuffle the elements of one SIMD register following a compile-time - permutation pattern passed as a static list of integral constants. - - @par Semantic: - - Let's @c T be a SIMD register type of cardinal @c N and I1,...,In be - @c N integral constant in \f$[-1, N[\f$. For any SIMD register @c v of type - @c T, the following code : - - @code - T r = shuffle(v); - @endcode - - is equivalent to - - @code - r[0] = I1 == -1 ? 0 : v[I1]; - r[1] = I2 == -1 ? 0 : v[I2]; - ... - r[N-1] = Ic == -1 ? 0 : v[In]; - @endcode - - @usage{shuffle_idx1.cpp} - - @tparam Indices Integral constant defining the permutation pattern - @param a0 First register to shuffle - - @return A SIMD register shuffled as per the permutation pattern - **/ - template - BOOST_FORCEINLINE - auto shuffle(A0 const& a0) - -> decltype(shuffle_t()(a0,details::random_permute_t())) - { - static_assert ( boost::simd::meta::cardinal_of::value == sizeof...(Indices) - , "Wrong number of permutation indices" - ); - - return shuffle_t()(a0,details::random_permute_t()); - } - - /*! - @brief SIMD register shuffling - - Shuffle the elements of two SIMD registers following a compile-time - permutation pattern passed as a static list of integral constants. - - @par Semantic: - - Let's @c T be a SIMD register type of cardinal @c N and I1,...,In be - @c N integral constant in \f$[-1, 2N-1[\f$. For any SIMD register @c v1 and @c v2 - of type @c T, the following code : - - @code - T r = shuffle(v1,v2); - @endcode - - is equivalent to shuffling the agglomeration of @c v1 and @c v2 and extracting - the lower part of the resulting vector. - - @code - r[0] = shuffle( combine(v1,v2) )[0] - r[1] = shuffle( combine(v1,v2) )[1] - ... - r[N-1] = shuffle( combine(v1,v2) )[N-1] - @endcode - - @usage{shuffle_idx2.cpp} - - @tparam Indices Integral constant defining the permutation pattern - @param a0 First register to shuffle - @param a1 Second register to shuffle. - - @return A SIMD register shuffled as per the permutation pattern - **/ - template - BOOST_FORCEINLINE - auto shuffle(A0 const& a0, A1 const& a1) - -> decltype(shuffle_t()(a0,a1,details::random_permute_t())) - { - static_assert ( boost::simd::meta::cardinal_of::value == sizeof...(Indices) - && boost::simd::meta::cardinal_of::value == sizeof...(Indices) - , "Wrong number of permutation indices" - ); - - return shuffle_t()(a0,a1,details::random_permute_t()); - } - - /*! - @brief SIMD register shuffling - - Shuffle the elements of one SIMD register following a compile-time - permutation pattern passed as a @metafunction. - - @par Semantic: - - Let's @c T be a SIMD register type of cardinal @c N, @c Perm be a - binary @metafunction. For any SIMD register @c v of type @c T, the following - code: - - @code - T r = shuffle(v); - @endcode - - is respectively equivalent to - - @code - T r = shuffle< mpl::apply, int_ >::type::value - , ... - , mpl::apply, int_ >::type::value - >(v); - @endcode - - @usage{shuffle_perm2.cpp} - - @tparam Perm Permutation pattern @metafunction - @param a0 First register to shuffle - - @return A SIMD register shuffled as per the permutation pattern - **/ - template - BOOST_FORCEINLINE - auto shuffle(A0 const& a0) - -> decltype(shuffle_t()(a0,boost::dispatch::meta::as_())) - { - return shuffle_t()(a0,boost::dispatch::meta::as_()); - } - - /*! - @brief SIMD register shuffling - - Shuffle the elements of two SIMD registers following a compile-time - permutation pattern passed as a @metafunction. - - @par Semantic: - - Let's @c T be a SIMD register type of cardinal @c N, @c Perm be a - binary @metafunction. For any SIMD register @c v1 and @c v2 of type @c T, - the following code: - - @code - T r = shuffle(v1,v2); - @endcode - - is equivalent to - - @code - T r = shuffle< mpl::apply, int_ >::type::value - , ... - , mpl::apply, int_ >::type::value - >(v1,v2); - @endcode - - @usage{shuffle_perm1.cpp} - - @tparam Perm Permutation pattern @metafunction - @param a0 First register to shuffle - @param a1 Second register to shuffle. - - @return A SIMD register shuffled as per the permutation pattern - **/ - template - BOOST_FORCEINLINE - auto shuffle(A0 const& a0, A1 const& a1) - -> decltype(shuffle_t()(a0,a1,boost::dispatch::meta::as_())) - { - return shuffle_t()(a0,a1,boost::dispatch::meta::as_()); - } -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/all_reduce.hpp b/inst/include/boost/simd/swar/functions/simd/common/all_reduce.hpp deleted file mode 100644 index f833f13..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/all_reduce.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_ALL_REDUCE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // Regular, generic SIMD version - BOOST_DISPATCH_IMPLEMENT ( all_reduce_ - , boost::simd::tag::simd_ - , (Tag)(A0)(X) - , ((simd_< unspecified_, X >)) - ((target_< unspecified_ >)) - ) - { - typedef typename Tag::type base; - typedef typename dispatch::meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Tag const&) const - { - typedef typename boost::simd::meta::cardinal_of::type card; - details::butterfly callee; - return callee(base(),a0); - } - }; - - // SIMD Emulation version - BOOST_DISPATCH_IMPLEMENT ( all_reduce_ - , tag::cpu_ - , (Tag)(A0)(X) - , ((simd_< unspecified_, X >)) - ((target_< unspecified_ >)) - ) - { - typedef typename Tag::type base; - typedef typename dispatch::meta::call::type result_type; - typedef typename meta::scalar_of::type stype; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Tag const&) const - { - result_type that; - boost::dispatch::functor callee; - - // initialize the seed - that[0] = callee(a0[0],a0[1]); - - // Roll over a loop to save cycles - for(std::size_t i=2;i(that[0]), a0[i] ); - - // Splat manually - for(std::size_t i=1;i(that[0]); - - return that; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/broadcast.hpp b/inst/include/boost/simd/swar/functions/simd/common/broadcast.hpp deleted file mode 100644 index 8cb6798..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/broadcast.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_BROADCAST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::cpu_ - , (A0)(X)(A1) - , ((simd_< unspecified_, X >)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return splat( extract(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::cpu_ - , (A0)(A1) - , ((ast_)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename boost::dispatch::meta::terminal_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return boost::simd::broadcast(evaluate(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/combine.hpp b/inst/include/boost/simd/swar/functions/simd/common/combine.hpp deleted file mode 100644 index 7df8b87..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/combine.hpp +++ /dev/null @@ -1,142 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_COMBINE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_COMBINE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( combine_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::vector_of < typename A0::value_type - , A0::static_size * 2 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - result_type that; - - for(size_t i=0; i!=A0::static_size; ++i) - { - that[i] = a0[i]; - that[i+A0::static_size] = a1[i]; - } - - return that; - } - }; - - // combine logical by combining internal representation - // Only valid if native and native has same size - BOOST_DISPATCH_IMPLEMENT ( combine_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename meta::vector_of < typename A0::value_type - , A0::static_size * 2 - >::type result_type; - - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return eval( a0, a1 - , boost::mpl::bool_< simd::meta::is_bitwise_logical::value - && simd::meta::is_bitwise_logical::value - >() - ); - } - - BOOST_FORCEINLINE result_type eval(A0 const& a0, A0 const& a1, boost::mpl::true_ const&) const - { - typedef typename A0::type type; - return bitwise_cast( boost::simd::combine( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - - BOOST_FORCEINLINE result_type eval(A0 const& a0, A0 const& a1, boost::mpl::false_ const&) const - { - result_type that; - for(size_t i=0; i!=A0::static_size; ++i) - { - that[i] = a0[i]; - that[i+A0::static_size] = a1[i]; - } - - return that; - } - }; - - // combine fusion sequence iteratively - BOOST_DISPATCH_IMPLEMENT ( combine_ - , tag::cpu_ - , (A0)(X) - , ((simd_< fusion_sequence_, X>)) - ((simd_< fusion_sequence_, X>)) - ) - { - typedef typename meta::vector_of < typename A0::value_type - , A0::static_size * 2 - >::type result_type; - - struct impl - { - BOOST_FORCEINLINE impl(result_type& that_, A0 const& a0_, A0 const& a1_) - : that(that_), a0(a0_), a1(a1_) - { - } - - template BOOST_FORCEINLINE void operator()() const - { - boost::fusion::at_c(that) = boost::simd::combine ( boost::fusion::at_c(a0) - , boost::fusion::at_c(a1) - ); - } - - result_type& that; - A0 const& a0; - A0 const& a1; - - private: - impl& operator=(impl const&); - }; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - static const int N = fusion::result_of::size::type::value; - result_type that; - meta::iterate(impl(that, a0, a1)); - return that; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/cummax.hpp b/inst/include/boost/simd/swar/functions/simd/common/cummax.hpp deleted file mode 100644 index 07d27ae..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/cummax.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2014 Jean-Thierry Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_CUMMAX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cummax_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return helper::value>::unroll(a0); - } - - private: - - template - struct helper - { - BOOST_FORCEINLINE static A0 unroll(const A0 & a0) - { - A0 tmp = helper::unroll(a0); - return max(tmp, shuffle>(tmp)); - } - }; - - template struct helper - { - BOOST_FORCEINLINE static A0 unroll(const A0 & a0) - { - return a0; - } - }; - - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/cummin.hpp b/inst/include/boost/simd/swar/functions/simd/common/cummin.hpp deleted file mode 100644 index 6582a48..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/cummin.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2014 Jean-Thierry Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_CUMMIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cummin_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - return helper::value>::unroll(a0); - } - - private: - template - struct helper - { - BOOST_FORCEINLINE static A0 unroll(const A0 & a0) - { - A0 tmp = helper::unroll(a0); - return min(tmp, shuffle>(tmp)); - } - }; - - template struct helper - { - BOOST_FORCEINLINE static A0 unroll(const A0 & a0) - { - return a0; - } - }; - - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/cumprod.hpp b/inst/include/boost/simd/swar/functions/simd/common/cumprod.hpp deleted file mode 100644 index a2f1b64..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/cumprod.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_CUMPROD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cumprod_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type that = a0; - for(size_t i=1; i!=meta::cardinal_of::value; ++i) - that[i] *= that[i-1]; - return that; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/cumsum.hpp b/inst/include/boost/simd/swar/functions/simd/common/cumsum.hpp deleted file mode 100644 index 55de20b..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/cumsum.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_CUMSUM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cumsum_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - result_type that = a0; - for(size_t i=1; i!=meta::cardinal_of::value; ++i) - that[i] += that[i-1]; - return that; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/deinterleave_first.hpp b/inst/include/boost/simd/swar/functions/simd/common/deinterleave_first.hpp deleted file mode 100644 index a686f9c..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/deinterleave_first.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_DEINTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X>)) - ((simd_< unspecified_, X>)) - ) - { - typedef A0 result_type; - - result_type operator()(A0 const& a0, A1 const& a1) const - { - result_type that; - const std::size_t middle = meta::cardinal_of::value/2; - for(std::size_t i=0,j=middle;i ) - , ((simd_< logical_, X>)) - ((simd_< logical_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast( - deinterleave_first( bitwise_cast(a0), bitwise_cast(a1) ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/deinterleave_second.hpp b/inst/include/boost/simd/swar/functions/simd/common/deinterleave_second.hpp deleted file mode 100644 index cfe7c1f..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/deinterleave_second.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_DEINTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X>)) - ((simd_< unspecified_, X>)) - ) - { - typedef A0 result_type; - - result_type operator()(A0 const& a0, A1 const& a1) const - { - result_type that; - const std::size_t middle = meta::cardinal_of::value/2; - for(std::size_t i=0,j=middle;i ) - , ((simd_< logical_, X>)) - ((simd_< logical_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast( - deinterleave_first( bitwise_cast(a0), bitwise_cast(a1) ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/enumerate.hpp b/inst/include/boost/simd/swar/functions/simd/common/enumerate.hpp deleted file mode 100644 index 64309ea..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/enumerate.hpp +++ /dev/null @@ -1,127 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_ENUMERATE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (X)(T) - , ((target_< simd_< arithmetic_,X> >)) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE result_type operator()(T const& ) const - { - return eval(typename simd::meta::cardinal_of::type()); - } - - BOOST_FORCEINLINE result_type eval(boost::mpl::size_t<2> const&) const - { - return make(0,1); - } - - BOOST_FORCEINLINE result_type eval(boost::mpl::size_t<4> const&) const - { - return make(0, 1, 2, 3); - } - - BOOST_FORCEINLINE result_type eval(boost::mpl::size_t<8> const&) const - { - return make(0, 1, 2, 3, 4, 5, 6, 7); - } - - BOOST_FORCEINLINE result_type eval(boost::mpl::size_t<16> const&) const - { - return make( 0, 1, 2, 3, 4, 5, 6, 7 - , 8, 9, 10, 11, 12, 13, 14, 15 - ); - } - - BOOST_FORCEINLINE result_type eval(boost::mpl::size_t<32> const&) const - { - return make( 0, 1, 2, 3, 4, 5, 6, 7 - , 8, 9, 10, 11, 12, 13, 14, 15 - , 16, 17, 18, 19, 20, 21, 22, 23 - , 24, 25, 26, 27, 28, 29, 30, 31 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(X)(T) - , (scalar_< arithmetic_ >) - ((target_< simd_< arithmetic_,X> >)) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const&) const - { - return enumerate() + splat(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(A1)(X)(Y) - , ((simd_< arithmetic_, X >)) - ((target_< simd_< arithmetic_, Y> >)) - ) - { - typedef typename A1::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& ) const - { - return splat(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(A1)(X)(T) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ((target_< simd_< arithmetic_,X> >)) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const& a1, T const& ) const - { - return fma( enumerate() - , splat(a1) - , splat(a0) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( enumerate_, tag::cpu_ - , (A0)(A1)(X)(T) - , ((simd_< arithmetic_, X >)) - (generic_< arithmetic_ >) - ((target_< simd_< arithmetic_,X> >)) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const&, T const& ) const - { - return splat(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/group.hpp b/inst/include/boost/simd/swar/functions/simd/common/group.hpp deleted file mode 100644 index d0573d8..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/group.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_GROUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_GROUP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( group_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::downgrade::type base_t; - typedef typename simd::meta::vector_of< base_t - , A0::static_size - >::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return eval(a0, boost::is_same()); - } - - BOOST_FORCEINLINE - result_type eval(A0 const& a0, boost::mpl::false_ const&) const - { - return eval2(a0, boost::mpl::bool_<(A0::static_size>=4)>()); - } - - BOOST_FORCEINLINE - result_type eval(A0 const& a0, boost::mpl::true_ const&) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval2(A0 const& a0, boost::mpl::true_ const&) const - { - typename simd::meta::vector_of< typename A0::value_type - , A0::static_size/2 - >::type a00,a01; - boost::simd::slice(a0,a00,a01); - return boost::simd::group(a00,a01); - } - - BOOST_FORCEINLINE - result_type eval2(A0 const& a0, boost::mpl::false_ const&) const - { - return make( static_cast( extract<0>(a0) ) - , static_cast( extract<1>(a0) ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( group_, tag::cpu_ - , (A0)(X) - , ( boost::mpl::not_ - < boost::is_same - < A0 - , typename dispatch::meta::downgrade::type - > - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - static const size_t size = boost::simd::meta::cardinal_of::value; - typedef typename meta::scalar_of::type sR; - result_type that; - for(size_t i = 0; i != size; ++i) - that[i] = static_cast(a0[i]); - for(size_t i = 0; i != size; ++i) - that[i+size] = static_cast(a1[i]); - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( group_, tag::cpu_ - , (A0)(X) - , ( boost::mpl::not_ - < boost::is_same - < A0 - , typename dispatch::meta::downgrade::type - > - > - ) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - #ifdef BOOST_LITTLE_ENDIAN - return deinterleave_first(bitwise_cast(a0), bitwise_cast(a1)); - #else - return deinterleave_second(bitwise_cast(a0), bitwise_cast(a1)); - #endif - } - }; -} } } -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/groups.hpp b/inst/include/boost/simd/swar/functions/simd/common/groups.hpp deleted file mode 100644 index e738f16..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/groups.hpp +++ /dev/null @@ -1,127 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_GROUPS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( groups_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::downgrade::type base_t; - typedef typename simd::meta::vector_of< base_t - , A0::static_size - >::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return eval(a0, boost::is_same()); - } - - BOOST_FORCEINLINE - result_type eval(A0 const& a0, boost::mpl::false_ const&) const - { - return eval2(a0, boost::mpl::bool_<(A0::static_size>=4)>()); - } - - BOOST_FORCEINLINE - result_type eval(A0 const& a0, boost::mpl::true_ const&) const - { - return a0; - } - - BOOST_FORCEINLINE - result_type eval2(A0 const& a0, boost::mpl::true_ const&) const - { - typename simd::meta::vector_of< typename A0::value_type - , A0::static_size/2 - >::type a00,a01; - boost::simd::slice(a0,a00,a01); - return boost::simd::groups(a00,a01); - } - - BOOST_FORCEINLINE - result_type eval2(A0 const& a0, boost::mpl::false_ const&) const - { - return make( groups( extract<0>(a0) ) - , groups( extract<1>(a0) ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( groups_, tag::cpu_ - , (A0)(X) - , (boost::mpl::not_< boost::is_same::type> >) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return group(saturate(a0), saturate(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( groups_, tag::cpu_ - , (A0)(X) - , (boost::mpl::not_< boost::is_same::type> >) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return group(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( groups_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::downgrade::type base_t; - typedef typename simd::meta::vector_of< base_t - , A0::static_size - >::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return group(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/interleave_even.hpp b/inst/include/boost/simd/swar/functions/simd/common/interleave_even.hpp deleted file mode 100644 index 610684d..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/interleave_even.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_INTERLEAVE_EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_even_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X>)) - ((simd_< unspecified_, X>)) - ) - { - typedef A0 result_type; - - result_type operator()(A0 const& a0, A1 const& a1) const - { - result_type that; - const std::size_t n = meta::cardinal_of::value; - for(std::size_t i=0;i ) - , ((simd_< logical_, X>)) - ((simd_< logical_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast( - interleave_even( bitwise_cast(a0), bitwise_cast(a1) ) - ); - } - }; - - #define M_IEVEN(z,n,t) (n%2 ? (t+n-1) : n) - BOOST_SIMD_DEFINE_SHUFFLE2( interleave_even_, M_IEVEN, type32_ ) - BOOST_SIMD_DEFINE_SHUFFLE2( interleave_even_, M_IEVEN, type16_ ) - BOOST_SIMD_DEFINE_SHUFFLE2( interleave_even_, M_IEVEN, type8_ ) - #undef M_IEVEN - -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/interleave_first.hpp b/inst/include/boost/simd/swar/functions/simd/common/interleave_first.hpp deleted file mode 100644 index df2e1fb..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/interleave_first.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_INTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_first_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X>)) - ((simd_< unspecified_, X>)) - ) - { - typedef A0 result_type; - - result_type operator()(A0 const& a0, A1 const& a1) const - { - result_type that; - const std::size_t middle = meta::cardinal_of::value/2; - for(std::size_t i=0;i ) - , ((simd_< logical_, X>)) - ((simd_< logical_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast( - interleave_first( bitwise_cast(a0), bitwise_cast(a1) ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/interleave_odd.hpp b/inst/include/boost/simd/swar/functions/simd/common/interleave_odd.hpp deleted file mode 100644 index bf4e10e..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/interleave_odd.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_INTERLEAVE_ODD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X>)) - ((simd_< unspecified_, X>)) - ) - { - typedef A0 result_type; - - result_type operator()(A0 const& a0, A1 const& a1) const - { - result_type that; - const std::size_t n = meta::cardinal_of::value; - for(std::size_t i=0;i ) - , ((simd_< logical_, X>)) - ((simd_< logical_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast( - interleave_odd( bitwise_cast(a0), bitwise_cast(a1) ) - ); - } - }; - - #define M_IODD(z,n,t) (n%2 ? (t+n) : n+1) - BOOST_SIMD_DEFINE_SHUFFLE2( interleave_odd_, M_IODD, type32_ ) - BOOST_SIMD_DEFINE_SHUFFLE2( interleave_odd_, M_IODD, type16_ ) - BOOST_SIMD_DEFINE_SHUFFLE2( interleave_odd_, M_IODD, type8_ ) - #undef M_IODD - -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/interleave_second.hpp b/inst/include/boost/simd/swar/functions/simd/common/interleave_second.hpp deleted file mode 100644 index a39806a..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/interleave_second.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_INTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_second_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X>)) - ((simd_< unspecified_, X>)) - ) - { - typedef A0 result_type; - - result_type operator()(A0 const& a0, A1 const& a1) const - { - result_type that; - const std::size_t n = meta::cardinal_of::value; - std::size_t middle = meta::cardinal_of::value/2; - for(std::size_t i=0;i ) - , ((simd_< logical_, X>)) - ((simd_< logical_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast( - interleave_second( bitwise_cast(a0), bitwise_cast(a1) ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/lookup.hpp b/inst/include/boost/simd/swar/functions/simd/common/lookup.hpp deleted file mode 100644 index 49b860f..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/lookup.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_LOOKUP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( lookup_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>))((simd_,X>)) - ) - { - - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename meta::scalar_of::type sA0; - BOOST_SIMD_ALIGNED_TYPE(sA0) tmp[meta::cardinal_of::value]; - BOOST_SIMD_ALIGNED_TYPE(sA0) tmp1[meta::cardinal_of::value]; - boost::simd::aligned_store(a0, &tmp[0], 0); - - for(size_t i=0; i < boost::simd::meta::cardinal_of::value; i++) { tmp1[i] = tmp[a1[i]]; }// TODO unroll - return boost::simd::aligned_load(&tmp1[0], 0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/repeat_lower_half.hpp b/inst/include/boost/simd/swar/functions/simd/common/repeat_lower_half.hpp deleted file mode 100644 index bb7ee44..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/repeat_lower_half.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_REPEAT_LOWER_HALF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_lower_half_ - , tag::cpu_ - , (A0)(X) - , ((simd_< unspecified_, X>)) - ) - { - typedef A0 result_type; - typedef simd::meta::cardinal_of card_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return eval(a0,typename card_t::type()); - } - - #define M0(z, n, t) extract(a0) - - BOOST_SIMD_PP_IMPLEMENT_WITH_MAKE(1, M0) - - #undef M0 - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( repeat_lower_half_, tag::cpu_ - , (A0)(X) - , ( boost::simd::meta::is_bitwise_logical ) - , ((simd_< logical_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast( - repeat_lower_half( bitwise_cast(a0) ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/repeat_upper_half.hpp b/inst/include/boost/simd/swar/functions/simd/common/repeat_upper_half.hpp deleted file mode 100644 index 8c8e29b..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/repeat_upper_half.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_REPEAT_UPPER_HALF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_upper_half_ - , tag::cpu_ - , (A0)(X) - , ((simd_< unspecified_, X>)) - ) - { - typedef A0 result_type; - typedef simd::meta::cardinal_of card_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return eval(a0,typename card_t::type()); - } - - #define M0(z, n, t) extract<(card_t::value/2) + (n %(card_t::value/2))>(a0) - - BOOST_SIMD_PP_IMPLEMENT_WITH_MAKE(1, M0) - - #undef M0 - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( repeat_upper_half_, tag::cpu_ - , (A0)(X) - , ( boost::simd::meta::is_bitwise_logical ) - , ((simd_< logical_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast( - repeat_upper_half( bitwise_cast(a0) ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/reverse.hpp b/inst/include/boost/simd/swar/functions/simd/common/reverse.hpp deleted file mode 100644 index daed5d6..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/reverse.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_REVERSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( reverse_, tag::cpu_ - , (A0)(X) - , ((simd_< arithmetic_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return eval(a0,typename simd::meta::cardinal_of::type()); - } - - #define M0(z, n, t) extract::value-1-n>(a0) - - BOOST_SIMD_PP_IMPLEMENT_WITH_MAKE(1, M0) - - #undef M0 - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( reverse_, tag::cpu_ - , (A0)(X) - , ( boost::simd::meta::is_bitwise_logical ) - , ((simd_< logical_, X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast( - reverse( bitwise_cast(a0) ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/shuffle.hpp b/inst/include/boost/simd/swar/functions/simd/common/shuffle.hpp deleted file mode 100644 index a0c1fbb..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/shuffle.hpp +++ /dev/null @@ -1,142 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SHUFFLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT( shuffle_, tag::cpu_ - , (A0)(P) - , ((ast_)) - (target_< unspecified_

>) - ) - { - typedef typename boost::dispatch::meta::terminal_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,P const&) const - { - return ::boost::simd::shuffle(evaluate(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT( shuffle_, tag::cpu_ - , (A0)(A1)(P) - , ((ast_)) - ((ast_)) - (target_< unspecified_

>) - ) - { - typedef typename boost::dispatch::meta::terminal_of::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A1 const& a1,P const&) const - { - return ::boost::simd::shuffle(evaluate(a0),evaluate(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::cpu_ - , (A0)(X)(P) - , ((simd_,X>)) - (target_< unspecified_

>) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,P const&) const - { - typename P::type p; - return details::shuffler< details::default_matcher - , details::default_permutation - ::value> - , meta::cardinal_of::value - , 4 - >::process(a0,p); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( shuffle_, tag::cpu_ - , (A0)(X)(P) - , ( mpl::equal_to < mpl::sizeof_ - , mpl::sizeof_ - > - ) - , ((simd_< logical_, X>)) - (target_< unspecified_

>) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, P const&) const - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast - ( shuffle( bitwise_cast(a0) )); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::cpu_ - , (A0)(X)(P) - , ((simd_,X>)) - ((simd_,X>)) - (target_< unspecified_

>) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A0 const& a1,P const&) const - { - typename P::type p; - return details::shuffler< details::default_matcher - , details::default_permutation - ::value> - , meta::cardinal_of::value - , 4 - >::process(a0,a1,p); - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( shuffle_, tag::cpu_ - , (A0)(X)(P) - , ( mpl::equal_to < mpl::sizeof_ - , mpl::sizeof_ - > - ) - , ((simd_< logical_, X>)) - ((simd_< logical_, X>)) - (target_< unspecified_

>) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A0 const& a1, P const&) const - { - typedef typename meta::as_arithmetic::type type; - return bitwise_cast - ( shuffle ( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/slice.hpp b/inst/include/boost/simd/swar/functions/simd/common/slice.hpp deleted file mode 100644 index ede2f60..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/slice.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SLICE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SLICE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( slice_ - , tag::cpu_ - , (A0)(A1)(X)(Y) - , ( boost::mpl::bool_ - < - A1::static_size == A0::static_size/2 - > - ) - , ((simd_,X>)) - ((simd_,Y>)) - ((simd_,Y>)) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A1& a1, A1& a2) const - { - for(size_t i=0; i!=A1::static_size; ++i) - { - a1[i] = a0[i]; - a2[i] = a0[i+A1::static_size]; - } - } - }; - - BOOST_DISPATCH_IMPLEMENT_IF ( slice_ - , tag::cpu_ - , (A0)(A1)(X)(Y) - , ( boost::mpl::and_ - < boost::mpl::bool_ - < - A1::static_size == A0::static_size/2 - > - , mpl::equal_to < mpl::sizeof_ - , mpl::sizeof_ - > - , mpl::equal_to < mpl::sizeof_ - , mpl::sizeof_ - > - > - ) - , ((simd_,X>)) - ((simd_,Y>)) - ((simd_,Y>)) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A1& a1, A1& a2) const - { - typedef typename A0::type type0; - typedef typename A1::type type1; - - type1 l1,l2; - boost::simd::slice(bitwise_cast(a0),l1,l2); - - a1 = bitwise_cast(l1); - a2 = bitwise_cast(l2); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/sort.hpp b/inst/include/boost/simd/swar/functions/simd/common/sort.hpp deleted file mode 100644 index 7d6cd27..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/sort.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SORT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SORT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sort_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type stype; - static const size_t size = boost::simd::meta::cardinal_of::value; - BOOST_SIMD_ALIGNED_TYPE(stype) tmp[size]; - aligned_store(a0, &tmp[0], 0); - std::sort(tmp, tmp + size); - return aligned_load(&tmp[0], 0); - } - }; -} } } - - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/splatted_maximum.hpp b/inst/include/boost/simd/swar/functions/simd/common/splatted_maximum.hpp deleted file mode 100644 index 46c8036..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/splatted_maximum.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLATTED_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLATTED_MAXIMUM_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splatted_maximum_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return all_reduce(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/splatted_minimum.hpp b/inst/include/boost/simd/swar/functions/simd/common/splatted_minimum.hpp deleted file mode 100644 index a60a1c1..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/splatted_minimum.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLATTED_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLATTED_MINIMUM_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splatted_minimum_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return all_reduce(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/splatted_prod.hpp b/inst/include/boost/simd/swar/functions/simd/common/splatted_prod.hpp deleted file mode 100644 index 48ac158..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/splatted_prod.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLATTED_PROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLATTED_PROD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splatted_prod_ - , tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return all_reduce(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/splatted_sum.hpp b/inst/include/boost/simd/swar/functions/simd/common/splatted_sum.hpp deleted file mode 100644 index 69dcfb2..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/splatted_sum.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLATTED_SUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLATTED_SUM_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splatted_sum_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return all_reduce(a0); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/split.hpp b/inst/include/boost/simd/swar/functions/simd/common/split.hpp deleted file mode 100644 index 5a24530..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/split.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLIT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( split_ - , tag::cpu_ - , (A0)(A1)(X)(Y) - , (simd::meta::is_upgradable_to) - , ((simd_,X>)) - ((simd_,Y>)) - ((simd_,Y>)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A1& a1, A1& a2) const - { - a1 = split_low(a0); - a2 = split_high(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_ - , tag::cpu_ - , (A0)(X) - , ((simd_, X>)) - ) - { - typedef typename dispatch::meta::upgrade::type base_t; - typedef typename simd::meta::vector_of< base_t - , A0::static_size - >::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return eval(a0, simd::meta::is_upgradable()); - } - - BOOST_FORCEINLINE result_type eval2(A0 const& a0, boost::mpl::true_) const - { - typename simd::meta::vector_of< base_t - , A0::static_size/2 - >::type a00,a01; - split(a0, a00, a01); - return boost::simd::combine(a00,a01); - } - - BOOST_FORCEINLINE result_type eval2(A0 const& a0, boost::mpl::false_) const - { - return make( static_cast( extract<0>(a0) ) - , static_cast( extract<1>(a0) ) - ); - } - - BOOST_FORCEINLINE result_type eval(A0 const& a0, boost::mpl::false_) const - { - return a0; - } - - BOOST_FORCEINLINE result_type eval(A0 const& a0, boost::mpl::true_) const - { - return eval2(a0, boost::mpl::bool_<(A0::static_size>=4)>()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/split_high.hpp b/inst/include/boost/simd/swar/functions/simd/common/split_high.hpp deleted file mode 100644 index 1953f59..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/split_high.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLIT_HIGH_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( split_high_ - , tag::cpu_ - , (A0)(X) - , (simd::meta::is_upgradable) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - typedef typename meta::scalar_of::type sA1; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return eval(a0,typename simd::meta::cardinal_of::type()); - } - - #define M0(z, n, t) static_cast(extract(a0)) - - BOOST_SIMD_PP_IMPLEMENT_WITH_MAKE(1, M0) - - #undef M0 - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/split_low.hpp b/inst/include/boost/simd/swar/functions/simd/common/split_low.hpp deleted file mode 100644 index 5d69833..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/split_low.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLIT_LOW_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( split_low_ - , tag::cpu_ - , (A0)(X) - , (simd::meta::is_upgradable) - , ((simd_,X>)) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - typedef typename meta::scalar_of::type sA1; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return eval(a0,typename simd::meta::cardinal_of::type()); - } - - #define M0(z, n, t) static_cast(extract(a0)) - - BOOST_SIMD_PP_IMPLEMENT_WITH_MAKE(1, M0) - - #undef M0 - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/common/split_multiplies.hpp b/inst/include/boost/simd/swar/functions/simd/common/split_multiplies.hpp deleted file mode 100644 index aab9eca..0000000 --- a/inst/include/boost/simd/swar/functions/simd/common/split_multiplies.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_COMMON_SPLIT_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( split_multiplies_ - , tag::cpu_ - , (A0)(A1)(X)(Y) - , (simd::meta::is_upgradable_to) - , ((simd_,X>)) - ((simd_,X>)) - ((simd_,Y>)) - ((simd_,Y>)) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1, A1& a2, A1& a3) const - { - A1 a00, a01, a10, a11; - split(a0, a00, a01); - split(a1, a10, a11); - a2 = a00*a10; - a3 = a01*a11; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/all_reduce.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/all_reduce.hpp deleted file mode 100644 index 3cbe476..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/all_reduce.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_ALL_REDUCE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( all_reduce_ - , boost::simd::tag::avx_ - , (Tag)(A0) - , ((simd_ < type64_ - , boost::simd::tag::avx_ - > - )) - ((target_< unspecified_ >)) - ) - { - typedef typename Tag::type base; - typedef typename dispatch::meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Tag const&) const - { - typedef typename dispatch::meta::as_floating::type ftype; - dispatch::functor op; - - ftype a = _mm256_permute_pd(bitwise_cast(a0), _MM_SHUFFLE2(2,1)); - ftype b = _mm256_permute2f128_pd(a,a,1); - result_type that = op( bitwise_cast(a) - , bitwise_cast(b) - ); - ftype pthat = _mm256_permute_pd(bitwise_cast(that), _MM_SHUFFLE2(2,1)); - - return op(that, bitwise_cast(pthat)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( all_reduce_ - , boost::simd::tag::avx_ - , (Tag)(A0) - , ((simd_ < type32_ - , boost::simd::tag::avx_ - > - )) - ((target_< unspecified_ >)) - ) - { - typedef typename Tag::type base; - typedef typename dispatch::meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Tag const&) const - { - typedef typename dispatch::meta::as_floating::type ftype; - dispatch::functor op; - - ftype a = _mm256_permute_ps(bitwise_cast(a0), _MM_SHUFFLE( 0,3,2,1 )); - ftype b = _mm256_permute2f128_ps(a,a,1); - result_type that = op( bitwise_cast(a) - , bitwise_cast(b) - ); - ftype pthat = _mm256_permute_ps(bitwise_cast(that), _MM_SHUFFLE( 1,0,3,2 )); - - that = op(that, bitwise_cast(pthat)); - pthat = _mm256_permute_ps(bitwise_cast(that), _MM_SHUFFLE(2,3,0,1)); - - return op(that, bitwise_cast(pthat)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/broadcast.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/broadcast.hpp deleted file mode 100644 index 8f84da7..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/broadcast.hpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_BROADCAST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < double_ - , boost::simd::tag::avx_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - typedef boost::mpl::int_<(A1::value >= A0::static_size/2) ? 1 : 0> sel_t; - typedef boost::mpl::int_ idx_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - typedef typename meta::retarget::type s_t; - - s_t half = _mm256_extractf128_pd(a0, sel_t::value); - half = broadcast(half); - - return combine(half,half); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < single_ - , boost::simd::tag::avx_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - typedef boost::mpl::int_<(A1::value >= A0::static_size/2) ? 1 : 0> sel_t; - typedef boost::mpl::int_ idx_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - typedef typename meta::retarget::type s_t; - - s_t half = _mm256_extractf128_ps(a0, sel_t::value); - half = broadcast(half); - - return combine(half,half); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_ < integer_ - , boost::simd::tag::avx_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - typedef boost::mpl::int_<(A1::value >= A0::static_size/2) ? 1 : 0> sel_t; - typedef boost::mpl::int_ idx_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - typedef typename meta::retarget::type s_t; - - s_t half = _mm256_extractf128_si256(a0, sel_t::value); - half = broadcast(half); - - return combine(half,half); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/combine.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/combine.hpp deleted file mode 100644 index 45b1fad..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/combine.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_COMBINE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_COMBINE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( combine_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < double_ - , boost::simd::tag::sse_ - > - )) - ((simd_ < double_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename meta::retarget::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - result_type that = _mm256_castpd128_pd256(a0()); - that = _mm256_insertf128_pd(that(), a1(), 1); - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( combine_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename meta::retarget::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - result_type that = _mm256_castps128_ps256(a0()); - that = _mm256_insertf128_ps(that(), a1(), 1); - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( combine_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < integer_ - , boost::simd::tag::sse_ - > - )) - ((simd_ < integer_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename meta::retarget::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - result_type that = _mm256_castsi128_si256(a0()); - that = _mm256_insertf128_si256(that(), a1(), 1); - return that; - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/cummax.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/cummax.hpp deleted file mode 100644 index 6e095ac..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/cummax.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2014 Jean-Thierry Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_CUMMAX_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (cummax_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a000 = _mm256_extractf128_si256(a0, 0); - svtype a011 = _mm256_extractf128_si256(a0, 1); - svtype a00 = cummax(a000); - svtype a01 = cummax(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256i that = _mm256_castsi128_si256(a00); - return _mm256_insertf128_si256(that, max(a01, z), 1); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is double -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (cummax_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a000 = _mm256_extractf128_pd(a0, 0); - svtype a011 = _mm256_extractf128_pd(a0, 1); - svtype a00 = cummax(a000); - svtype a01 = cummax(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256d that = _mm256_castpd128_pd256(a00); - return _mm256_insertf128_pd(that, max(a01, z), 1); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is float -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (cummax_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a011; - a011= _mm256_extractf128_ps(a0, 1); - svtype a000; - a000 = _mm256_extractf128_ps(a0, 0); - svtype a00 = cummax(a000); - svtype a01 = cummax(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256 that = _mm256_castps128_ps256(a00); - return _mm256_insertf128_ps(that, max(a01, z), 1); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/cummin.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/cummin.hpp deleted file mode 100644 index 12ee4b1..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/cummin.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2014 Jean-Thierry Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_CUMMIN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (cummin_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a000 = _mm256_extractf128_si256(a0, 0); - svtype a011 = _mm256_extractf128_si256(a0, 1); - svtype a00 = cummin(a000); - svtype a01 = cummin(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256i that = _mm256_castsi128_si256(a00); - return _mm256_insertf128_si256(that, min(a01, z), 1); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is double -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (cummin_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a000 = _mm256_extractf128_pd(a0, 0); - svtype a011 = _mm256_extractf128_pd(a0, 1); - svtype a00 = cummin(a000); - svtype a01 = cummin(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256d that = _mm256_castpd128_pd256(a00); - return _mm256_insertf128_pd(that, min(a01, z), 1); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is float -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (cummin_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a011; - a011= _mm256_extractf128_ps(a0, 1); - svtype a000; - a000 = _mm256_extractf128_ps(a0, 0); - svtype a00 = cummin(a000); - svtype a01 = cummin(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256 that = _mm256_castps128_ps256(a00); - return _mm256_insertf128_ps(that, min(a01, z), 1); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/cumprod.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/cumprod.hpp deleted file mode 100644 index 67825cd..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/cumprod.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_CUMPROD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (cumprod_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a000 = _mm256_extractf128_si256(a0, 0); - svtype a011 = _mm256_extractf128_si256(a0, 1); - svtype a00 = cumprod(a000); - svtype a01 = cumprod(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256i that = _mm256_castsi128_si256(a00); - return _mm256_insertf128_si256(that, a01*z, 1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (cumprod_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a000 = _mm256_extractf128_pd(a0, 0); - svtype a011 = _mm256_extractf128_pd(a0, 1); - svtype a00 = cumprod(a000); - svtype a01 = cumprod(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256d that = _mm256_castpd128_pd256(a00); - return _mm256_insertf128_pd(that, a01*z, 1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (cumprod_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a011; - a011= _mm256_extractf128_ps(a0, 1); - svtype a000; - a000 = _mm256_extractf128_ps(a0, 0); - svtype a00 = cumprod(a000); - svtype a01 = cumprod(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256 that = _mm256_castps128_ps256(a00); - return _mm256_insertf128_ps(that, a01*z, 1); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/cumsum.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/cumsum.hpp deleted file mode 100644 index 90485e6..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/cumsum.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_CUMSUM_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (cumsum_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a000 = _mm256_extractf128_si256(a0, 0); - svtype a011 = _mm256_extractf128_si256(a0, 1); - svtype a00 = cumsum(a000); - svtype a01 = cumsum(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256i that = _mm256_castsi128_si256(a00); - return _mm256_insertf128_si256(that, a01+z, 1); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is double -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (cumsum_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a000 = _mm256_extractf128_pd(a0, 0); - svtype a011 = _mm256_extractf128_pd(a0, 1); - svtype a00 = cumsum(a000); - svtype a01 = cumsum(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256d that = _mm256_castpd128_pd256(a00); - return _mm256_insertf128_pd(that, a01+z, 1); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is float -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (cumsum_, boost::simd::tag::avx_, - (A0), - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::scalar_of::type sctype; - typedef simd::native svtype; - svtype a011; - a011= _mm256_extractf128_ps(a0, 1); - svtype a000; - a000 = _mm256_extractf128_ps(a0, 0); - svtype a00 = cumsum(a000); - svtype a01 = cumsum(a011); - svtype z = splat(a00[meta::cardinal_of::value-1]); - __m256 that = _mm256_castps128_ps256(a00); - return _mm256_insertf128_ps(that, a01+z, 1); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/deinterleave_first.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/deinterleave_first.hpp deleted file mode 100644 index 5584254..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/deinterleave_first.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DEINTERLEAVE_FIRST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - result_type x = _mm256_permute2f128_ps(a0,a1,0x20); - result_type y = _mm256_permute2f128_ps(a0,a1,0x31); - - return _mm256_unpacklo_ps ( _mm256_unpacklo_ps(x,y) - , _mm256_unpackhi_ps(x,y) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm256_unpacklo_pd ( _mm256_permute2f128_pd(a0,a1,0x20) - , _mm256_permute2f128_pd(a0,a1,0x31) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - typedef typename meta::retarget::type svtype; - - svtype a00 = _mm256_extractf128_si256(a0, 0); - svtype a01 = _mm256_extractf128_si256(a0, 1); - svtype a10 = _mm256_extractf128_si256(a1, 0); - svtype a11 = _mm256_extractf128_si256(a1, 1); - __m256i that = _mm256_castsi128_si256(boost::simd::deinterleave_first(a00, a01)); - return _mm256_insertf128_si256(that, boost::simd::deinterleave_first(a10, a11), 1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/deinterleave_second.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/deinterleave_second.hpp deleted file mode 100644 index 47598b1..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/deinterleave_second.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DEINTERLEAVE_SECOND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - result_type x = _mm256_permute2f128_ps(a0,a1,0x20); - result_type y = _mm256_permute2f128_ps(a0,a1,0x31); - - return _mm256_unpackhi_ps ( _mm256_unpacklo_ps(x,y) - , _mm256_unpackhi_ps(x,y) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm256_unpackhi_pd ( _mm256_permute2f128_pd(a0,a1,0x20) - , _mm256_permute2f128_pd(a0,a1,0x31) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - typedef typename meta::retarget::type svtype; - - svtype a00 = _mm256_extractf128_si256(a0, 0); - svtype a01 = _mm256_extractf128_si256(a0, 1); - svtype a10 = _mm256_extractf128_si256(a1, 0); - svtype a11 = _mm256_extractf128_si256(a1, 1); - __m256i that = _mm256_castsi128_si256(boost::simd::deinterleave_second(a00, a01)); - return _mm256_insertf128_si256(that, boost::simd::deinterleave_second(a10, a11), 1); - - } - }; - - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/details/patterns.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/details/patterns.hpp deleted file mode 100644 index fb19895..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/details/patterns.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DETAILS_PATTERNS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DETAILS_PATTERNS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // AVX use the default_matcher + special cases for 4-8 - //============================================================================ - struct avx_matcher - { - template< int I0, int I1, int I2, int I3, typename Permutation> - struct match4 : details::default_matcher::match4 - {}; - - template< int I0, int I1, int I2, int I3 - , int I4, int I5, int I6, int I7 - , typename Permutation - > - struct match8 : details::default_matcher - ::match8 < I0, I1, I2, I3, I4, I5, I6, I7 - , Permutation - > - {}; - }; - - //============================================================================ - // AVX optimized case for cardinal 4 - //============================================================================ - template - struct avx_matcher::match4<0,0,2,2,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type i_t; - return bitwise_cast(i_t(_mm256_movedup_pd( bitwise_cast(a0) ))); - } - }; - - //============================================================================ - // AVX optimized case for cardinal 8 - //============================================================================ - template - struct avx_matcher::match8<0,0,2,2,4,4,6,6,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type i_t; - return bitwise_cast(i_t(_mm256_moveldup_ps( bitwise_cast(a0) ))); - } - }; - - template - struct avx_matcher::match8<1,1,3,3,5,5,7,7,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type i_t; - return bitwise_cast(i_t(_mm256_movehdup_ps( bitwise_cast(a0) ))); - } - }; - - template - struct avx_matcher::match8<0,8,1,9,4,12,5,13,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, T const& a1, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type i_t; - return bitwise_cast(i_t(_mm256_unpacklo_ps( bitwise_cast(a0), bitwise_cast(a1) ))); - } - }; - - template - struct avx_matcher::match8<2,10,3,11,6,14,7,15,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, T const& a1, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type i_t; - return bitwise_cast(i_t(_mm256_unpackhi_ps( bitwise_cast(a0), bitwise_cast(a1) ))); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/details/permutation.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/details/permutation.hpp deleted file mode 100644 index 591e47d..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/details/permutation.hpp +++ /dev/null @@ -1,330 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DETAILS_PERMUTATION_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DETAILS_PERMUTATION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // AVX shuffle use general permutation with special case for some topology - //============================================================================ - template - struct avx_permutation : details::default_permutation - {}; - - //============================================================================ - // Single parameters card4 permutation are handled by _mm256_shuffle_* - //============================================================================ - template<> - struct avx_permutation<4> - { - template - BOOST_FORCEINLINE static T call(T const& a0, P const& p) - { - return call(a0,p,typename details::avx_topology::type()); - } - - // Duplicate _mm256_shuffle_pd - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::dupe_ const& - ) - { - return call(a0,a0,p,details::direct_()); - } - - // Direct use _mm256_shuffle_pd(a0,Zero) - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::r_zero_ const& - ) - { - return call(a0,Zero(),p,details::direct_()); - } - - // Direct use _mm256_shuffle_pd(Zero,a0) - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::l_zero_ const& - ) - { - return call(Zero(),a0,p,details::direct_()); - } - - // perm2_ use permute2f128 for block based permutation - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::perm_ const& - ) - { - typename boost::is_integral::type selector_; - return perm2(a0,p,selector_); - } - - template - BOOST_FORCEINLINE static T perm2( T const& a0, P const& - , boost::mpl::false_ const& - ) - { - return _mm256_permute2f128_pd(a0,a0,(details::avx_perm2_mask::value)); - } - - template - BOOST_FORCEINLINE static T perm2( T const& a0, P const& - , boost::mpl::true_ const& - ) - { - return _mm256_permute2f128_si256(a0,a0,(details::avx_perm2_mask::value)); - } - - // Mixed just use regular hand made permutation - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::mixed_ const& - ) - { - return details::default_permutation<4>::call(a0,p); - } - - // Two arguments check topology - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const& p) - { - return call(a0,a1,p,typename details::avx_topology::type()); - } - - // Mixed just use regular hand made permutation - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , details::mixed_ const& - ) - { - return details::default_permutation<4>::call(a0,a1,p); - } - - // blend use _mm256_blend_pd - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& - , details::blend_ const& - ) - { - typedef typename dispatch::meta::as_floating::type f_t; - - return bitwise_cast( f_t(_mm256_blend_pd ( bitwise_cast(a0) - , bitwise_cast(a1) - , (details::avx_blend_mask::value) - ) - ) - ); - } - - // Direct use _mm256_shuffle_pd - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& - , details::direct_ const& - ) - { - typedef typename dispatch::meta::as_floating::type f_t; - - return bitwise_cast( f_t(_mm256_shuffle_pd ( bitwise_cast(a0) - , bitwise_cast(a1) - , (details::avx_mask::value) - ) - ) - ); - } - - // Swapped _mm256_shuffle_pd - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , details::swap_ const& - ) - { - return call(a1,a0,p,details::direct_()); - } - - // permute2f128_* calls - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , details::perm_ const& - ) - { - typename boost::is_integral::type selector_; - return perm2(a0,a1,p,selector_); - } - - template - BOOST_FORCEINLINE static T perm2( T const& a0, T const& a1, P const& - , boost::mpl::false_ const& - ) - { - return _mm256_permute2f128_pd(a0,a1,(details::avx_perm2_mask::value)); - } - - template - BOOST_FORCEINLINE static T perm2( T const& a0, T const& a1, P const& - , boost::mpl::true_ const& - ) - { - return _mm256_permute2f128_si256(a0,a1,(details::avx_perm2_mask::value)); - } - }; - - template<> - struct avx_permutation<8> - { - template - BOOST_FORCEINLINE static T call(T const& a0, P const& p) - { - return call(a0,p,typename details::avx_topology::type()); - } - - // Two arguments duplicate - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::dupe_ const& - ) - { - return call(a0,a0,p,details::direct_()); - } - - // Two arguments with a 0 - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::r_zero_ const& - ) - { - return call(a0,Zero(),p,details::direct_()); - } - - // Two arguments with a 0 - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::l_zero_ const& - ) - { - return call(Zero(),a0,p,details::direct_()); - } - - // perm2_ use permute2f128 for block based permutation - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::perm_ const& - ) - { - typename boost::is_integral::type selector_; - return perm2(a0,p,selector_); - } - - template - BOOST_FORCEINLINE static T perm2( T const& a0, P const& - , boost::mpl::false_ const& - ) - { - return _mm256_permute2f128_ps(a0,a0,(details::avx_perm2_mask::value)); - } - - template - BOOST_FORCEINLINE static T perm2( T const& a0, P const& - , boost::mpl::true_ const& - ) - { - return _mm256_permute2f128_si256(a0,a0,(details::avx_perm2_mask::value)); - } - - // Two arguments mixed - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , details::mixed_ const& - ) - { - return details::default_permutation<8>::call(a0,p); - } - - // Two arguments check topology - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const& p) - { - return call(a0,a1,p,typename details::avx_topology::type()); - } - - // Two arguments direct - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& - , details::direct_ const& - ) - { - typedef typename dispatch::meta::as_floating::type f_t; - - return bitwise_cast(f_t(_mm256_shuffle_ps ( bitwise_cast(a0) - , bitwise_cast(a1) - , (details::avx_mask::value) - ) - ) - ); - } - - // Two arguments swapped - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , details::swap_ const& - ) - { - return call(a1,a0,p,details::direct_()); - } - - // Two arguments using permute2f128 - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , details::perm_ const& - ) - { - typename boost::is_integral::type selector_; - return perm2(a0,a1,p,selector_); - } - - template - BOOST_FORCEINLINE static T perm2( T const& a0, T const& a1, P const& - , boost::mpl::false_ const& - ) - { - return _mm256_permute2f128_ps(a0,a1,(details::avx_perm2_mask::value)); - } - - template - BOOST_FORCEINLINE static T perm2( T const& a0, T const& a1, P const& - , boost::mpl::true_ const& - ) - { - return _mm256_permute2f128_si256(a0,a1,(details::avx_perm2_mask::value)); - } - - // Two arguments mixed - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , details::mixed_ const& - ) - { - return details::default_permutation<8>::call(a0,a1,p); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/details/topology.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/details/topology.hpp deleted file mode 100644 index 4d29376..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/details/topology.hpp +++ /dev/null @@ -1,209 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DETAILS_TOPOLOGY_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_DETAILS_TOPOLOGY_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // Make a AVX MM_SHUFFLE from a Permutation and Cardinal - //============================================================================ - template struct avx_mask; - - template - struct avx_mask - : boost::mpl::int_ - < ( ((details::permuted,3,4>::value)&1)<<3 - | ((details::permuted,2,4>::value)&1)<<2 - | ((details::permuted,1,4>::value)&1)<<1 - | ((details::permuted,0,4>::value)&1) - ) - > - {}; - - template - struct avx_mask - : boost::mpl::int_ - < ( ((details::permuted,3,8>::value)&3)<<6 - | ((details::permuted,2,8>::value)&3)<<4 - | ((details::permuted,1,8>::value)&3)<<2 - | ((details::permuted,0,8>::value)&3) - ) - > - {}; - - template struct avx_blend_mask; - - template - struct avx_blend_mask - : boost::mpl::int_ - < ( (details::permuted,3,4>::value==7)<<3 - | (details::permuted,2,4>::value==6)<<2 - | (details::permuted,1,4>::value==5)<<1 - | (details::permuted,0,4>::value==4) - ) - > - {}; - - template - struct avx_perm2_mask_c - { - static const int high = details::permuted::value; - static const int low = details::permuted::value; - static const int hbit = (high == -1) ? 0x80 : (high/(C/2) << 4); - static const int lbit = (low == -1) ? 0x08 : low/(C/2); - static const int value = lbit | hbit; - }; - - template - struct avx_perm2_mask - : boost::mpl::int_< avx_perm2_mask_c::value > - {}; - - //============================================================================ - // Markup for AVX topology - //============================================================================ - typedef boost::mpl::int_<2> swap_; - typedef boost::mpl::int_<4> dupe_; - typedef boost::mpl::int_<8> r_zero_; - typedef boost::mpl::int_<16> l_zero_; - typedef boost::mpl::int_<32> blend_; - typedef boost::mpl::int_<64> perm_; - - //============================================================================ - // Check if a permutation follows AVX shuffle restriction in a way or another - //============================================================================ - template - struct avx_topology; - - //============================================================================ - // Cardinal 2 is either direct or indirect, no room for mixed - //============================================================================ - template - struct avx_topology - { - static const int p0 = permuted::value; - static const int p1 = permuted::value; - static const int p2 = permuted::value; - static const int p3 = permuted::value; - - // Check for shuffle_pd(a0,a1) calls - static const bool direct_shf = (p0==0 || p0==1) && (p1==4 || p1==5) - && (p2==2 || p2==3) && (p3==6 || p3==7); - - // Check for shuffle_pd(a0,zero) calls - static const bool r_zero_shf = (p0==0 || p0==1) && (p1==-1) - && (p2==2 || p2==3) && (p3==-1); - - // Check for shuffle_pd(zero,a0) calls - static const bool l_zero_shf = (p0 == -1) && (p1==0 || p1==1) - && (p2 == -1) && (p3==2 || p3==3); - - // Check for shuffle_pd(a0,a0) calls - static const bool dupe_shf = (p0==0 || p0==1) && (p1==0 || p1==1) - && (p2==2 || p2==3) && (p3==2 || p3==3); - - // Check for shuffle_pd(a1,a0) calls - static const bool swap_shf = (p0==4 || p0==5) && (p1==0 || p1==1) - && (p2==6 || p2==7) && (p3==2 || p3==3); - - // Check for _mm256_blend_pd(a1,a0) calls - static const bool blend_shf = !(direct_shf | swap_shf | dupe_shf) - && ((p0==0 || p0==4) && (p1==1 || p1==5) - && (p2==2 || p2==6) && (p3==3 || p3==7)); - - // Check for permute2f18_pd(a1,a0) calls - static const bool perm2_shf = !(direct_shf | swap_shf | dupe_shf | blend_shf) - && ( ( p0==0 && p1==1) || ( p0==2 && p1==3) - || ( p0==4 && p1==5) || ( p0==6 && p1==7) - ) - && ( ( p2==0 && p3==1) || ( p2==2 && p3==3) - || ( p2==4 && p3==5) || ( p2==6 && p3==7) - ); - - // Compute topology mask - typedef boost::mpl::int_< int(direct_shf) - + int(swap_shf )*2 + int(dupe_shf )*4 - + int(r_zero_shf)*8 + int(l_zero_shf)*16 - + int(blend_shf)*32 + int(perm2_shf)*64 - > type; - }; - - template - struct avx_topology - { - static const int p0 = permuted::value; - static const int p1 = permuted::value; - static const int p2 = permuted::value; - static const int p3 = permuted::value; - static const int p4 = permuted::value; - static const int p5 = permuted::value; - static const int p6 = permuted::value; - static const int p7 = permuted::value; - - // Check for shuffle_ps(a0,a1) calls (~65536 calls) - static const bool direct_shf = (p0 < 4 && p1 < 4 && p0 >=0 && p1 >= 0) - && (p2 < 12 && p3 < 12 && p2 >=8 && p3 >= 8) - && (p4 == p0+4 && p5 == p1+4) - && (p6 == p2+4 && p7 == p3+4); - - // Check for shuffle_ps(a0,a0) calls (~65536 calls) - static const bool dupe_shf = (p0 < 4 && p1 < 4 && p0 >=0 && p1 >= 0) - && (p2 < 4 && p3 < 4 && p2 >=0 && p3 >= 0) - && (p4 == p0+4 && p5 == p1+4) - && (p6 == p2+4 && p7 == p3+4); - - // Check for shuffle_pd(a0,zero) calls - static const bool r_zero_shf = (p0 < 4 && p1 < 4 && p0 >=0 && p1 >= 0) - && (p2 == -1 && p3 == -1) - && (p4 == p0+4 && p5 == p1+4) - && (p6 == -1 && p7 == -1); - - // Check for shuffle_ps(zero,a0) calls (~65536 calls) - static const bool l_zero_shf = (p0 == -1 && p1 == -1) - && (p2 < 4 && p3 < 4 && p2 >=0 && p3 >= 0) - && (p4 == -1 && p5 == -1) - && (p6 == p2+4 && p7 == p3+4); - - // Check for shuffle_ps(a1,a0) calls (~65536 calls) - static const bool swap_shf = (p0 < 12 && p1 < 12 && p0 >=8 && p1 >= 8) - && (p2 < 4 && p3 < 4 && p2 >=0 && p3 >= 0) - && (p4 == p0+4 && p5 == p1+4) - && (p6 == p2+4 && p7 == p3+4); - - // Check for permute2f18_ps(a1,a0) calls - static const bool perm2_shf = (( p0==0 && p1==1 && p2==2 && p3==3) - || ( p0==4 && p1==5 && p2==6 && p3==7) - || ( p0==8 && p1==9 && p2==10 && p3==11) - || ( p0==12 && p1==13 && p2==14 && p3==15) - || ( p0==-1 && p1==-1 && p2==-1 && p3==-1) - ) - && (( p4==0 && p5==1 && p6==2 && p7==3) - || ( p4==4 && p5==5 && p6==6 && p7==7) - || ( p4==8 && p5==9 && p6==10 && p7==11) - || ( p4==12 && p5==13 && p6==14 && p7==15) - || ( p4==-1 && p5==-1 && p6==-1 && p7==-1) - ); - - // Compute topology mask - typedef boost::mpl::int_< int(direct_shf) - + int(swap_shf )*2 + int(dupe_shf )*4 - + int(r_zero_shf)*8 + int(l_zero_shf)*16 - + int(perm2_shf)*64 - > type; - }; - -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/group.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/group.hpp deleted file mode 100644 index 6afdfe2..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/group.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_GROUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_GROUP_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( group_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::downgrade::type dtype; - typedef typename meta::retarget::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return _mm256_cvtpd_ps(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( group_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - typedef typename meta::retarget::type htype; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - htype r0 = _mm256_cvtpd_ps(a0); - htype r1 = _mm256_cvtpd_ps(a1); - __m256 r = _mm256_castps128_ps256(r0); - return _mm256_insertf128_ps(r, r1, 1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( group_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - typedef typename meta::retarget::type htype; - typedef typename meta::retarget::type type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - htype a00 = _mm256_extractf128_si256(a0, 0); - htype a01 = _mm256_extractf128_si256(a0, 1); - type v0 = boost::simd::group(a00, a01); - htype a10 = _mm256_extractf128_si256(a1, 0); - htype a11 = _mm256_extractf128_si256(a1, 1); - type v1 = boost::simd::group(a10, a11); - __m256i r = _mm256_castsi128_si256(v0); - return _mm256_insertf128_si256(r, v1, 1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/groups.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/groups.hpp deleted file mode 100644 index ed87bc7..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/groups.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_GROUPS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( groups_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - typedef typename meta::retarget::type htype; - typedef typename meta::retarget::type type; - - BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - htype a00 = _mm256_extractf128_si256(a0, 0); - htype a01 = _mm256_extractf128_si256(a0, 1); - type v0 = boost::simd::groups(a00, a01); - htype a10 = _mm256_extractf128_si256(a1, 0); - htype a11 = _mm256_extractf128_si256(a1, 1); - type v1 = boost::simd::groups(a10, a11); - __m256i r = _mm256_castsi128_si256(v0); - return _mm256_insertf128_si256(r, v1, 1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_even.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_even.hpp deleted file mode 100644 index 0335ea8..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_even.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_INTERLEAVE_EVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m256 const a0, __m256 const a1) const - { - return _mm256_unpacklo_ps ( details::shuffle<0,2,1,3>(a0,a0) - , details::shuffle<0,2,1,3>(a1,a1) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m256d const a0, __m256d const a1) const - { - return _mm256_unpacklo_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - typedef typename boost::dispatch::meta::as_floating::type ftype; - return bitwise_cast - ( interleave_even ( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - typedef typename boost::dispatch::meta::as_floating::type ftype; - return bitwise_cast - ( interleave_even ( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_first.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_first.hpp deleted file mode 100644 index 42fa353..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_first.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_INTERLEAVE_FIRST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - // 0x20 is SCR1[0:127]|SRC2[0:127] according to Intel AVX manual - // The result of unpack_*_ps puts parts in the proper pairs beforehand - return _mm256_permute2f128_ps ( _mm256_unpacklo_ps(a0,a1) - , _mm256_unpackhi_ps(a0,a1) - , 0x20 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - // 0x20 is SCR1[0:127]|SRC2[0:127] according to Intel AVX manual - // The result of unpack_*_pd puts parts in the proper pairs beforehand - return _mm256_permute2f128_pd ( _mm256_unpacklo_pd(a0,a1) - , _mm256_unpackhi_pd(a0,a1) - , 0x20 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < floating_sized_ - , boost::simd::tag::avx_ - > - )) - ((simd_ < floating_sized_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - typedef typename boost::dispatch::meta::as_floating::type ftype; - return bitwise_cast - ( interleave_first( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_odd.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_odd.hpp deleted file mode 100644 index 64e0410..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_odd.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_INTERLEAVE_ODD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(__m256 const a0, __m256 const a1) const - { - return _mm256_unpackhi_ps ( details::shuffle<0, 2, 1, 3 >(a0, a0) - , details::shuffle<0, 2, 1, 3 >(a1, a1) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m256d const a0, __m256d const a1) const - { - return _mm256_unpackhi_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - typedef typename boost::dispatch::meta::as_floating::type ftype; - return bitwise_cast ( interleave_odd( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - typedef typename boost::dispatch::meta::as_floating::type ftype; - return bitwise_cast( interleave_odd( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_second.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_second.hpp deleted file mode 100644 index 54d7ebb..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/interleave_second.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_INTERLEAVE_SECOND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - // 0x31 is SCR1[128:255]|SRC2[128:255] according to Intel AVX manual - // The result of unpack_*_ps puts parts in the proper pairs beforehand - return _mm256_permute2f128_ps ( _mm256_unpacklo_ps(a0,a1) - , _mm256_unpackhi_ps(a0,a1) - , 0x31 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - // workaround for bad ICC optimisation - #ifdef __INTEL_COMPILER - __m256d volatile lo = _mm256_unpacklo_pd(a0,a1); - #else - __m256d lo = _mm256_unpacklo_pd(a0,a1); - #endif - - // 0x31 is SCR1[128:255]|SRC2[128:255] according to Intel AVX manual - // The result of unpack_*_pd puts parts in the proper pairs beforehand - return _mm256_permute2f128_pd ( lo - , _mm256_unpackhi_pd(a0,a1) - , 0x31 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < floating_sized_ - , boost::simd::tag::avx_ - > - )) - ((simd_ < floating_sized_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - typedef typename boost::dispatch::meta::as_floating::type ftype; - return bitwise_cast - ( interleave_second ( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/repeat_lower_half.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/repeat_lower_half.hpp deleted file mode 100644 index 70cd3b9..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/repeat_lower_half.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_REPEAT_LOWER_HALF_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_lower_half_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m256 const a0) const - { - return _mm256_permute2f128_ps(a0,a0,0x00); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( repeat_lower_half_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m256i const a0) const - { - return _mm256_permute2f128_si256(a0,a0,0x00); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( repeat_lower_half_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m256d const a0) const - { - return _mm256_permute2f128_pd(a0,a0,0x00); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/repeat_upper_half.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/repeat_upper_half.hpp deleted file mode 100644 index d06882c..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/repeat_upper_half.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_REPEAT_UPPER_HALF_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_upper_half_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m256 const a0) const - { - return _mm256_permute2f128_ps(a0,a0, 0x11); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( repeat_upper_half_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < integer_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m256i const a0) const - { - return _mm256_permute2f128_si256(a0, a0, 0x11); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( repeat_upper_half_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m256d const a0) const - { - return _mm256_permute2f128_pd(a0, a0, 0x11); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/reverse.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/reverse.hpp deleted file mode 100644 index 4cbf16d..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/reverse.hpp +++ /dev/null @@ -1,120 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_REVERSE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < double_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - return _mm256_permute_pd( _mm256_permute2f128_pd(a0,a0,1), 5 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < ints64_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_floating::type f_t; - return bitwise_cast(reverse(bitwise_cast(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - A0 tmp = _mm256_permute_ps(a0, _MM_SHUFFLE(0,1,2,3) ); - return _mm256_permute2f128_ps(tmp,tmp,1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < ints32_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_floating::type f_t; - return bitwise_cast(reverse(bitwise_cast(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename meta::retarget::type s_t; - - s_t a000 = _mm256_extractf128_si256(a0, 0); - s_t a011 = _mm256_extractf128_si256(a0, 1); - - return _mm256_insertf128_si256( _mm256_castsi128_si256( reverse(a011) ) - , reverse(a000) - , 1 - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/shuffle.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/shuffle.hpp deleted file mode 100644 index 04e687d..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/shuffle.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SHUFFLE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::avx_ - , (T)(P) - , ((simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - )) - (target_< unspecified_

>) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE result_type operator()(T const& a0,P const&) const - { - typename P::type p; - - return details::shuffler< avx_matcher - , avx_permutation::value> - , meta::cardinal_of::value - , 8 - >::process(a0,p); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::avx_ - , (T)(P) - , ((simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - )) - ((simd_ < arithmetic_ - , boost::simd::tag::avx_ - > - )) - (target_< unspecified_

>) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE - result_type operator()(T const& a0,T const& a1, P const&) const - { - typename P::type p; - - return details::shuffler< avx_matcher - , avx_permutation::value> - , meta::cardinal_of::value - , 8 - >::process(a0,a1,p); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/slice.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/slice.hpp deleted file mode 100644 index 825d4c9..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/slice.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SLICE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SLICE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( slice_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0 & a0, A1& a1, A1& a2) const - { - a1 = _mm256_extractf128_pd(a0, 0); - a2 = _mm256_extractf128_pd(a0, 1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( slice_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0 & a0, A1& a1, A1& a2) const - { - a1 = _mm256_extractf128_ps(a0, 0); - a2 = _mm256_extractf128_ps(a0, 1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( slice_ - , boost::simd::tag::avx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0 & a0, A1& a1, A1& a2) const - { - a1 = _mm256_extractf128_si256(a0, 0); - a2 = _mm256_extractf128_si256(a0, 1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/split.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/split.hpp deleted file mode 100644 index 3e1e48a..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/split.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SPLIT_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_ - , tag::cpu_ - , (A0) - , (( simd_ < single_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type base_t; - typedef typename simd::meta::vector_of< base_t - , A0::static_size - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return _mm256_cvtps_pd(a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/split_high.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/split_high.hpp deleted file mode 100644 index 7d5c959..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/split_high.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SPLIT_HIGH_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm256_cvtps_pd(_mm256_extractf128_ps(a0, 1)); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - typedef typename meta::retarget::type ext_t; - typedef typename meta::retarget::type part_t; - - ext_t e = _mm256_extractf128_si256(a0, 1); - part_t ha1; - part_t ha0 = split(e, ha1); - - return combine(ha0,ha1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/split_low.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/split_low.hpp deleted file mode 100644 index fb43c99..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/split_low.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SPLIT_LOW_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm256_cvtps_pd(_mm256_extractf128_ps(a0, 0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::avx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - typedef typename meta::retarget::type ext_t; - typedef typename meta::retarget::type part_t; - - ext_t e = _mm256_extractf128_si256(a0, 0); - part_t ha1; - part_t ha0 = split(e, ha1); - - return combine(ha0,ha1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/avx/split_multiplies.hpp b/inst/include/boost/simd/swar/functions/simd/sse/avx/split_multiplies.hpp deleted file mode 100644 index 2931fce..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/avx/split_multiplies.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_AVX_SPLIT_MULTIPLIES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_AVX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - BOOST_DISPATCH_IMPLEMENT_IF ( split_multiplies_ - , boost::simd::tag::avx_ - , (A0)(A1) - , (simd::meta::is_upgradable_to) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef void result_type; - typedef typename meta::retarget::type A0_sse_; - typedef typename meta::retarget::type A1_sse_; - - BOOST_FORCEINLINE - result_type operator()(const A0 & a0, const A0 & a1, A1& a2, A1& a3)const - { - A0_sse_ a00 = _mm256_extractf128_si256(a0, 0); - A0_sse_ a01 = _mm256_extractf128_si256(a0, 1); - A0_sse_ a10 = _mm256_extractf128_si256(a1, 0); - A0_sse_ a11 = _mm256_extractf128_si256(a1, 1); - - A1_sse_ ha000, ha001; - split_multiplies(a00, a10, ha000, ha001); - a2 = _mm256_castsi128_si256(ha000); - a2 = _mm256_insertf128_si256(a2, ha001, 1); - - A1_sse_ ha010, ha011; - split_multiplies(a01, a11, ha010, ha011); - a3 = _mm256_castsi128_si256(ha010); - a3 = _mm256_insertf128_si256(a3, ha011, 1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/all_reduce.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/all_reduce.hpp deleted file mode 100644 index c2e531d..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/all_reduce.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_ALL_REDUCE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( all_reduce_ - , boost::simd::tag::sse2_ - , (Tag)(A0) - , ((simd_,boost::simd::tag::sse_>)) - ((target_< unspecified_ >)) - ) - { - typedef typename Tag::type base; - typedef typename dispatch::meta::call::type result_type; - - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Tag const&) const - { - // Buttefly reduction optimized for int16 - dispatch::functor op; - - A0 a1 = _mm_shuffle_epi32(a0, _MM_SHUFFLE(1, 0, 3, 2)); - result_type t1 = op(a0,a1); - result_type t2 = _mm_shuffle_epi32(t1, _MM_SHUFFLE(2, 3, 0, 1)); - t2 = op(t2, t1); - - t1 = _mm_shufflehi_epi16(t2, _MM_SHUFFLE(0, 1, 2, 3)); - t1 = _mm_shufflelo_epi16(t1, _MM_SHUFFLE(0, 1, 2, 3)); - - return op(t2, t1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( all_reduce_ - , boost::simd::tag::sse2_ - , (Tag)(A0) - , ((simd_,boost::simd::tag::sse_>)) - ((target_< unspecified_ >)) - ) - { - typedef typename Tag::type base; - typedef typename dispatch::meta::call::type result_type; - - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Tag const&) const - { - // Buttefly reduction optimized for int8 - dispatch::functor op; - - // 16 -> 2x8 - A0 a1 = _mm_shuffle_epi32(a0, _MM_SHUFFLE(1, 0, 3, 2)); - result_type t1 = op(a0,a1); - - // 2x8 -> 4x4 - result_type t2 = _mm_shuffle_epi32(t1, _MM_SHUFFLE(2, 3, 0, 1)); - t2 = op(t2, t1); - - // 4x4 -> 8x2 - t1 = _mm_shufflehi_epi16(t2, _MM_SHUFFLE(0, 1, 2, 3)); - t1 = _mm_shufflelo_epi16(t1, _MM_SHUFFLE(0, 1, 2, 3)); - t1 = op(t2,t1); - - // Reorder [ a b ... a b ] into [ a a b b ... a a b b] - t1 = _mm_unpacklo_epi8(t1,t1); - t1 = _mm_unpackhi_epi8(t1,t1); - - // Turn [ a a b b ... a a b b] into [ b b a a ... b b a a] - t2 = _mm_shufflehi_epi16(t1, _MM_SHUFFLE(0, 1, 2, 3)); - t2 = _mm_shufflelo_epi16(t2, _MM_SHUFFLE(0, 1, 2, 3)); - - return op(t2, t1); - } - }; -} } } - -#endif - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/broadcast.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/broadcast.hpp deleted file mode 100644 index 30a6702..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/broadcast.hpp +++ /dev/null @@ -1,128 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_BROADCAST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < double_ - , boost::simd::tag::sse_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_shuffle_pd(a0,a0,_MM_SHUFFLE2( A1::value, A1::value)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_shuffle_ps ( a0, a0, _MM_SHUFFLE ( A1::value, A1::value - , A1::value, A1::value - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < ints32_ - , boost::simd::tag::sse_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_shuffle_epi32( a0, _MM_SHUFFLE ( A1::value, A1::value - , A1::value, A1::value - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_ < ints16_ - , boost::simd::tag::sse_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - // This shuffle the 32 bits packet of the broadcast so - // we end up with [ In In+1 In In+1 In In+1 In In+1 ] - typedef boost::mpl::int_< _MM_SHUFFLE ( A1::value / 2,A1::value / 2 - , A1::value / 2,A1::value / 2 - ) - > partial_t; - - // This select either In or In+1 as 16 bits value and give us - // [In In In In In In In In] or [In+1 In+1 In+1 In+1 In+1 In+1 In+1 In+1] - typedef boost::mpl::int_< _MM_SHUFFLE ( A1::value % 2,A1::value % 2 - , A1::value % 2,A1::value % 2 - ) - > fix_t; - -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wshadow" -#endif // __clang__ - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_shufflehi_epi16( _mm_shufflelo_epi16 - ( _mm_shuffle_epi32( a0, partial_t::value) - , fix_t::value - ) - , fix_t::value - ); - } - -#ifdef __clang__ -#pragma clang diagnostic pop -#endif // __clang__ - - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/cumprod.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/cumprod.hpp deleted file mode 100644 index 515ded5..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/cumprod.hpp +++ /dev/null @@ -1,153 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_CUMPROD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is type8_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT (cumprod_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_integer::type sint; - A0 a = a0; - sint o = simd::bitwise_cast(One()); - sint tmp = simd::bitwise_cast(a0); - sint tmp1 = _mm_or_si128(_mm_slli_si128(tmp,1), _mm_srli_si128(o,15)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,2), _mm_srli_si128(o,14)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,3), _mm_srli_si128(o,13)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,4), _mm_srli_si128(o,12)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,5), _mm_srli_si128(o,11)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,6), _mm_srli_si128(o,10)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,7), _mm_srli_si128(o,9)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,8), _mm_srli_si128(o,8)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,9), _mm_srli_si128(o,7)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,10), _mm_srli_si128(o,6)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,11), _mm_srli_si128(o,5)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,12), _mm_srli_si128(o,4)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,13), _mm_srli_si128(o,3)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,14), _mm_srli_si128(o,2)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,15), _mm_srli_si128(o,1)); - return a*simd::bitwise_cast(tmp1); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is type64_ -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (cumprod_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_integer::type sint; - sint o = simd::bitwise_cast(One()); - sint tmp = simd::bitwise_cast(a0); - sint tmp1 = _mm_or_si128(_mm_slli_si128(tmp,8), _mm_srli_si128(o,8)); - return a0*simd::bitwise_cast(tmp1); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is type16_ -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (cumprod_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_integer::type sint; - A0 a = a0; - sint o = simd::bitwise_cast(One()); - sint tmp = simd::bitwise_cast(a0); - sint tmp1 = _mm_or_si128(_mm_slli_si128(tmp,2), _mm_srli_si128(o,14)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,4), _mm_srli_si128(o,12)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp, 6), _mm_srli_si128(o,10)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,8), _mm_srli_si128(o,8)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,10), _mm_srli_si128(o,6)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,12), _mm_srli_si128(o,4)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp,14), _mm_srli_si128(o,2)); - return a*simd::bitwise_cast(tmp1); - } - }; - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is type32_ -///////////////////////////////////////////////////////////////////////////// - - - BOOST_DISPATCH_IMPLEMENT (cumprod_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_integer::type sint; - A0 a = a0; - sint o = simd::bitwise_cast(One()); - sint tmp = simd::bitwise_cast(a0); - sint tmp1 = _mm_or_si128(_mm_slli_si128(tmp, 4), _mm_srli_si128(o,12)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp, 8), _mm_srli_si128(o,8)); - a = a*simd::bitwise_cast(tmp1); - tmp1 = _mm_or_si128(_mm_slli_si128(tmp, 12), _mm_srli_si128(o,4)); - return a*simd::bitwise_cast(tmp1); - } - }; - -} } } -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/cumsum.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/cumsum.hpp deleted file mode 100644 index 9ea2561..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/cumsum.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_CUMSUM_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (cumsum_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_integer::type sint; - A0 a = a0; - sint tmp = simd::bitwise_cast(a0); - sint tmp1 = _mm_slli_si128(tmp,1); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,2); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,3); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,4); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,5); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,6); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,7); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,8); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,9); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,10); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,11); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,12); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,13); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,14); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp, 15); - a += simd::bitwise_cast(tmp1); - return a; - } - }; - - BOOST_DISPATCH_IMPLEMENT (cumsum_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_integer::type sint; - sint tmp = simd::bitwise_cast(a0); - sint tmp1 = _mm_slli_si128(tmp,8); - return a0+simd::bitwise_cast(tmp1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (cumsum_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_integer::type sint; - A0 a = a0; - sint tmp = simd::bitwise_cast(a0); - sint tmp1 = _mm_slli_si128(tmp,2); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,4); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp, 6); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,8); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,10); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,12); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp,14); - return a+simd::bitwise_cast(tmp1); - } - }; - - BOOST_DISPATCH_IMPLEMENT (cumsum_, boost::simd::tag::sse2_, - (A0), - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - BOOST_SIMD_FUNCTOR_CALL_REPEAT(1) - { - typedef typename dispatch::meta::as_integer::type sint; - A0 a = a0; - sint tmp = simd::bitwise_cast(a0); - sint tmp1 = _mm_slli_si128(tmp, 4); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp, 8); - a = a+simd::bitwise_cast(tmp1); - tmp1 = _mm_slli_si128(tmp, 12); - return a+simd::bitwise_cast(tmp1); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/deinterleave_first.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/deinterleave_first.hpp deleted file mode 100644 index 3748a71..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/deinterleave_first.hpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DEINTERLEAVE_FIRST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return details::shuffle<0, 2, 0, 2>(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm_unpacklo_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - result_type x = _mm_unpacklo_epi16(a0,a1); - result_type y = _mm_unpackhi_epi16(a0,a1); - - return _mm_unpacklo_epi16 ( _mm_unpacklo_epi16(x,y) - , _mm_unpackhi_epi16(x,y) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return details::shuffle<0, 2, 0, 2>(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm_unpacklo_epi64( a0, a1 ); - } - }; - -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/deinterleave_second.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/deinterleave_second.hpp deleted file mode 100644 index 0d180dc..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/deinterleave_second.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DEINTERLEAVE_SECOND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return details::shuffle<1, 3, 1, 3>(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm_unpackhi_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - result_type x = _mm_unpacklo_epi16(a0,a1); - result_type y = _mm_unpackhi_epi16(a0,a1); - - return _mm_unpackhi_epi16 ( _mm_unpacklo_epi16(x,y) - , _mm_unpackhi_epi16(x,y) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return details::shuffle<1, 3, 1, 3>(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return _mm_unpackhi_epi64( a0, a1 ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/details/patterns.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/details/patterns.hpp deleted file mode 100644 index 90af885..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/details/patterns.hpp +++ /dev/null @@ -1,220 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DETAILS_PATTERNS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DETAILS_PATTERNS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // SSE2 shuffle use the general pattern matcher optimizer with some specific - // patterns tied to SSE2 intrinsics. - //============================================================================ - struct sse2_matcher - { - // This is true for w/e cardinal - template - struct match2 : details::default_matcher::match2 - {}; - - template< int I0, int I1, int I2, int I3, typename Permutation> - struct match4 : details::default_matcher::match4 - {}; - - template< int I0, int I1, int I2, int I3 - , int I4, int I5, int I6, int I7 - , typename Permutation - > - struct match8 : details::default_matcher - ::match8 < I0, I1, I2, I3, I4, I5, I6, I7 - , Permutation - > - {}; - - template< int I0 , int I1 , int I2 , int I3 - , int I4 , int I5 , int I6 , int I7 - , int I8 , int I9 , int I10, int I11 - , int I12, int I13, int I14, int I15 - , typename Permutation - > - struct match16 : details::default_matcher - ::match16 < I0, I1, I2 , I3 , I4 , I5 , I6 , I7 - , I8, I9, I10, I11, I12, I13, I14, I15 - , Permutation - > - {}; - }; - - //============================================================================ - // Optimized cardinal 2 pattern + zeroing - //============================================================================ - template - struct sse2_matcher::match2<-1,0,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename boost::dispatch::meta::as_integer::type i_t; - return bitwise_cast(i_t(_mm_slli_si128( bitwise_cast(a0), 8))); - } - }; - - template - struct sse2_matcher::match2<1,-1,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename boost::dispatch::meta::as_integer::type i_t; - return bitwise_cast(i_t(_mm_srli_si128( bitwise_cast(a0), 8))); - } - }; - - //============================================================================ - // Optimized cardinal 4 pattern - //============================================================================ - template - struct sse2_matcher::match4<0,1,4,5,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0,T const& a1, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type f_t; - return bitwise_cast(f_t( _mm_movelh_ps ( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ) - ); - } - }; - - template - struct sse2_matcher::match4<4,5,0,1,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0,T const& a1, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type f_t; - return bitwise_cast( f_t(_mm_movelh_ps ( bitwise_cast(a1) - , bitwise_cast(a0) - ) - ) - ); - } - }; - - template - struct sse2_matcher::match4<2,3,6,7,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0,T const& a1, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type f_t; - return bitwise_cast( f_t(_mm_movehl_ps ( bitwise_cast(a1) - , bitwise_cast(a0) - ) - ) - ); - } - }; - - template - struct sse2_matcher::match4<6,7,2,3,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0,T const& a1, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type f_t; - return bitwise_cast( f_t(_mm_movehl_ps ( bitwise_cast(a0) - , bitwise_cast(a1) - ) - ) - ); - } - }; - - //============================================================================ - // Optimized cardinal 4 pattern + zeroing - //============================================================================ - template - struct sse2_matcher::match4<0,1,-1,-1,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type f_t; - return bitwise_cast( f_t(_mm_movelh_ps ( bitwise_cast(a0) - , Zero() - ) - ) - ); - } - }; - - template - struct sse2_matcher::match4<2,3,-1,-1,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type f_t; - return bitwise_cast( f_t(_mm_movehl_ps ( Zero() - , bitwise_cast(a0) - ) - ) - ); - } - }; - - template - struct sse2_matcher::match4<-1,-1,0,1,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type f_t; - return bitwise_cast( f_t(_mm_movelh_ps ( Zero() - , bitwise_cast(a0) - ) - ) - ); - } - }; - - template - struct sse2_matcher::match4<-1,-1,2,3,Permutation> - { - template - static BOOST_FORCEINLINE T process(T const& a0, P const&) - { - typedef typename boost::dispatch::meta::as_floating::type f_t; - return bitwise_cast( f_t(_mm_movehl_ps ( bitwise_cast(a0) - , Zero() - ) - ) - ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/details/permutation.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/details/permutation.hpp deleted file mode 100644 index 1fb25f2..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/details/permutation.hpp +++ /dev/null @@ -1,227 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DETAILS_PERMUTATION_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DETAILS_PERMUTATION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // SSE2 shuffle use general permutation with special case for some topology - //============================================================================ - template - struct sse2_permutation : details::default_permutation - {}; - - //============================================================================ - // Single parameters card2 permutation are handled by _mm_shuffle_pd - //============================================================================ - template<> - struct sse2_permutation<2> - { - // For one argument: just handle zeroing - template - BOOST_FORCEINLINE static T call(T const& a0, P const& p) - { - return call(a0,p,typename details::perform_zeroing::type()); - } - - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , boost::mpl::true_ const& - ) - { - typedef typename dispatch::meta::as_integer::type i_t; - T val = call(a0,p,boost::mpl::false_()); - - return val & make( details::zero_mask::value - , details::zero_mask::value - ); - } - - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& - , boost::mpl::false_ const& - ) - { - typedef typename dispatch::meta::as_floating::type f_t; - f_t v = bitwise_cast(a0); - - return bitwise_cast( f_t(_mm_shuffle_pd (v, v - , (details::shuffle_mask::value) - ) - ) - ); - } - - // For two arguments: handle topology, all other cases are optimized already - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const& p) - { - return call(a0,a1,p,typename details::sse2_topology::type()); - } - - // Direct shuffle requires a simple call to shuffle - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& - , details::direct_ const& - ) - { - typedef typename dispatch::meta::as_floating::type f_t; - - return bitwise_cast( f_t(_mm_shuffle_pd( bitwise_cast(a0) - , bitwise_cast(a1) - , ( details::shuffle_mask - < details::clamp, 2>::value - ) - ) - ) - ); - } - - // Indirect shuffle requires swapping a0/a1 in call to shuffle - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , details::indirect_ const& - ) - { - return call(a1,a0,p,details::direct_()); - } - }; - - //============================================================================ - // Single parameters card4 permutation are handled by _mm_shuffle_* - //============================================================================ - template<> - struct sse2_permutation<4> - { - // Do we perform zeroing ? - template - BOOST_FORCEINLINE static T call(T const& a0, P const& p) - { - return call(a0,p,typename details::perform_zeroing::type()); - } - - // Yes ? Mask with proper mask vector - template - BOOST_FORCEINLINE static T call ( T const& a0, P const& p - , boost::mpl::true_ const& - ) - { - typedef typename dispatch::meta::as_integer::type i_t; - T val = call(a0,p,boost::mpl::false_()); - - return val & make( details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - ); - } - - // No use proper intrinsic for single - template - BOOST_FORCEINLINE static __m128 call( __m128 const& a0, P const& - , boost::mpl::false_ const& - ) - { - return _mm_shuffle_ps(a0, a0, (details::shuffle_mask::value)); - } - - // No use proper intrinsic for integers - template - BOOST_FORCEINLINE static __m128i call ( __m128i const& a0, P const& - , boost::mpl::false_ const& - ) - { - return _mm_shuffle_epi32(a0, (details::shuffle_mask::value)); - } - - // Two arguments check zeroing - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const& p) - { - return call(a0,a1,p,typename details::perform_zeroing::type()); - } - - // If we mask, mask with proper mask vector - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , boost::mpl::true_ const& - ) - { - typedef typename dispatch::meta::as_integer::type i_t; - T val = call(a0,a1,p,boost::mpl::false_()); - - return val & make( details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - ); - } - - // If not, inspect the permutation topology - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , boost::mpl::false_ const& - ) - { - return call(a0,a1,p,typename details::sse2_topology::type()); - } - - // Mixed just use regular hand made permutation - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , details::mixed_ const& - ) - { - return details::default_permutation<4>::call(a0,a1,p); - } - - // Direct use _mm_shuffle_ps - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& - , details::direct_ const& - ) - { - typedef typename dispatch::meta::as_floating::type f_t; - - return bitwise_cast( f_t(_mm_shuffle_ps( bitwise_cast(a0) - , bitwise_cast(a1) - , (details::shuffle_mask - , 4>::value - ) - ) - ) - ); - } - - // Indirect is direct with a0/a1 swapped - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , details::indirect_ const& - ) - { - return call(a1,a0,p,details::direct_()); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/details/topology.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/details/topology.hpp deleted file mode 100644 index f3b7b23..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/details/topology.hpp +++ /dev/null @@ -1,107 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DETAILS_TOPOLOGY_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_DETAILS_TOPOLOGY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - //============================================================================ - // Make a MM_SHUFFLE from a Permutation and Cardinal - //============================================================================ - template struct shuffle_mask; - - template - struct shuffle_mask - : boost::mpl::int_ - < _MM_SHUFFLE2( (details::permuted,1,2>::value) - , (details::permuted,0,2>::value) - ) - > - {}; - - template - struct shuffle_mask - : boost::mpl::int_ - < _MM_SHUFFLE ( (details::permuted,3,4>::value) - , (details::permuted,2,4>::value) - , (details::permuted,1,4>::value) - , (details::permuted,0,4>::value) - ) - > - {}; - - //============================================================================ - // Markup for SSE2 topology - // direct_ means the pattern is of the shape { a0 | a1 } - // indirect_ means the pattern is of the shape { a1 | a0 } - // mixed_ means the pattern is random - //============================================================================ - typedef boost::mpl::int_<-1> indirect_; - typedef boost::mpl::int_<0> mixed_; - typedef boost::mpl::int_<1> direct_; - - //============================================================================ - // Check if a permutation follows SSE2 shuffle restriction in a way or another - //============================================================================ - template - struct sse2_topology - { - typedef indirect_ type; - }; - - //============================================================================ - // Cardinal 2 is either direct or indirect, no room for mixed - //============================================================================ - template - struct sse2_topology - { - static const int p0 = permuted::value; - static const int p1 = permuted::value; - - typedef typename mpl::if_c< (p0 <= 1) && (p1 >= 2) - , direct_ - , indirect_ - >::type type; - }; - - //============================================================================ - // Cardinal 4 can be anything - //============================================================================ - template - struct sse2_topology - { - static const int p0 = permuted::value; - static const int p1 = permuted::value; - static const int p2 = permuted::value; - static const int p3 = permuted::value; - - static const bool is_direct = (p0 < 4 ) && (p1 < 4 ) - && (p2 >= 4) && (p3 >= 4); - - static const bool is_indirect = (p2 < 4 ) && (p3 < 4 ) - && (p0 >= 4) && (p1 >= 4); - - typedef typename mpl::eval_if_c < is_direct - , direct_ - , mpl::eval_if_c< is_indirect - , indirect_ - , mixed_ - > - >::type type; - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/group.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/group.hpp deleted file mode 100644 index b6c55d0..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/group.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_GROUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_GROUP_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // Implementation when type A0 is double - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( group_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_movelh_ps(_mm_cvtpd_ps(a0), _mm_cvtpd_ps(a1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/groups.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/groups.hpp deleted file mode 100644 index adec09f..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/groups.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_GROUPS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // Implementation when type A0 is double - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( groups_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_movelh_ps(_mm_cvtpd_ps(a0), _mm_cvtpd_ps(a1)); - } - }; - - //============================================================================ - // Implementation when type A0 is int16_t - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( groups_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_packs_epi16(a0, a1); - } - }; - - - //============================================================================ - // Implementation when type A0 is uint16_t - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( groups_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_packus_epi16( (a0 & 0x7FFF) | shri(a0 & 0xF000, 1) - , (a1 & 0x7FFF) | shri(a1 & 0xF000, 1) - ); - } - }; - - //============================================================================ - // Implementation when type A0 is int32_t - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( groups_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_packs_epi32(a0, a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_even.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_even.hpp deleted file mode 100644 index 1a06477..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_even.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_INTERLEAVE_EVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 const a0, __m128 const a1) const - { - return _mm_unpacklo_ps( details::shuffle<0, 2, 0, 2>(a0,a0) - , details::shuffle<0, 2, 0, 2>(a1,a1) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128d const a0, __m128d const a1) const - { - return _mm_unpacklo_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i const a0, __m128i const a1) const - { - return _mm_unpacklo_epi32 ( details::shuffle<0, 2, 0, 2>(a0,a0) - , details::shuffle<0, 2, 0, 2>(a1,a1) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return _mm_unpacklo_epi64(a0, a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_first.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_first.hpp deleted file mode 100644 index 1247555..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_first.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_INTERLEAVE_FIRST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 const a0, __m128 const a1) const - { - return _mm_unpacklo_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128d const a0, __m128d const a1) const - { - return _mm_unpacklo_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i const a0, __m128i const a1) const - { - return _mm_unpacklo_epi8(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i const a0, __m128i const a1) const - { - return _mm_unpacklo_epi16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i const a0, __m128i const a1) const - { - return _mm_unpacklo_epi32(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return _mm_unpacklo_epi64(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_odd.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_odd.hpp deleted file mode 100644 index 3dfdc04..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_odd.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_INTERLEAVE_ODD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 const a0, __m128 const a1) const - { - return _mm_unpackhi_ps( details::shuffle<1, 3, 1, 3>(a0,a0) - , details::shuffle<1, 3, 1, 3>(a1,a1) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128d const a0, __m128d const a1) const - { - return _mm_unpackhi_pd(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i const a0, __m128i const a1) const - { - return _mm_unpackhi_epi32 ( details::shuffle<1, 3, 1, 3>(a0,a0) - , details::shuffle<1, 3, 1, 3>(a1,a1) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return _mm_unpackhi_epi64(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_second.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_second.hpp deleted file mode 100644 index 602cd3e..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/interleave_second.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_INTERLEAVE_SECOND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 const a0, __m128 const a1) const - { - return _mm_unpackhi_ps(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128d const a0, __m128d const a1) const - { - return _mm_unpackhi_pd(a0,a1); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i const a0, __m128i const a1) const - { - return _mm_unpackhi_epi8(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i const a0, __m128i const a1) const - { - return _mm_unpackhi_epi16(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i const a0, __m128i const a1) const - { - return _mm_unpackhi_epi32(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return _mm_unpackhi_epi64(a0,a1); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/lookup.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/lookup.hpp deleted file mode 100644 index 19fd1d7..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/lookup.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_LOOKUP_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( lookup_, boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>))((simd_,boost::simd::tag::sse_>)) - ) - { - - typedef A0 result_type; - - BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename meta::scalar_of::type sA0; - BOOST_SIMD_ALIGNED_TYPE(sA0) tmp[meta::cardinal_of::value]; - BOOST_SIMD_ALIGNED_TYPE(sA0) tmp1[meta::cardinal_of::value]; - boost::simd::aligned_store(a0, &tmp[0], 0); - - for(unsigned int i=0; i < meta::cardinal_of::value; i++) { tmp1[i] = tmp[a1[i]]; }// TODO unroll - return boost::simd::aligned_load(&tmp1[0], 0); - } - }; -} } } - - - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/repeat_lower_half.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/repeat_lower_half.hpp deleted file mode 100644 index 8b5bb92..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/repeat_lower_half.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_REPEAT_LOWER_HALF_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_lower_half_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return interleave_first(a0, a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( repeat_lower_half_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 a0) const - { - return _mm_movelh_ps(a0,a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( repeat_lower_half_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i a0) const - { - return _mm_shuffle_epi32(a0, _MM_SHUFFLE(1,0,1,0) ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/repeat_upper_half.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/repeat_upper_half.hpp deleted file mode 100644 index 6cf215d..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/repeat_upper_half.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_REPEAT_UPPER_HALF_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_upper_half_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return interleave_second(a0,a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( repeat_upper_half_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128 a0) const - { - return _mm_movehl_ps(a0,a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( repeat_upper_half_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(__m128i a0) const - { - return _mm_shuffle_epi32(a0, _MM_SHUFFLE(3,2,3,2) ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/reverse.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/reverse.hpp deleted file mode 100644 index 36de2f0..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/reverse.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_REVERSE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_shuffle_ps(a0,a0, _MM_SHUFFLE(0,1,2,3)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < double_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_shuffle_pd(a0, a0, _MM_SHUFFLE2(0,1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < ints32_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_shuffle_epi32(a0, _MM_SHUFFLE(0,1,2,3)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < ints64_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - typedef typename dispatch::meta::as_floating::type f_t; - return simd::bitwise_cast(reverse( simd::bitwise_cast(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < ints16_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - A0 that = _mm_shuffle_epi32 (a0 , _MM_SHUFFLE(0,1,2,3)); - that = _mm_shufflelo_epi16(that, _MM_SHUFFLE(2,3,0,1)); - - return _mm_shufflehi_epi16(that, _MM_SHUFFLE(2,3,0,1)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/shuffle.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/shuffle.hpp deleted file mode 100644 index 5ab8f4d..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/shuffle.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SHUFFLE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::sse2_ - , (T)(P) - , ((simd_ < arithmetic_ - , boost::simd::tag::sse_ - > - )) - (target_< unspecified_

>) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE result_type operator()(T const& a0,P const&) const - { - typename P::type p; - - return details::shuffler< sse2_matcher - , sse2_permutation::value> - , meta::cardinal_of::value - , 8 - >::process(a0,p); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::sse2_ - , (T)(P) - , ((simd_ < arithmetic_ - , boost::simd::tag::sse_ - > - )) - ((simd_ < arithmetic_ - , boost::simd::tag::sse_ - > - )) - (target_< unspecified_

>) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE - result_type operator()(T const& a0,T const& a1, P const&) const - { - typename P::type p; - - return details::shuffler< sse2_matcher - , sse2_permutation::value> - , meta::cardinal_of::value - , 8 - >::process(a0,a1,p); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/sort.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/sort.hpp deleted file mode 100644 index b78c245..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/sort.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SORT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SORT_HPP_INCLUDED - -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sort_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < type32_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // half-permute - A0 p0 = shuffle<2,3,0,1>(a0); - A0 mn = min(a0,p0); - A0 mx = max(a0,p0); - - // cross vector concatenation and reversal - A0 minmax = shuffle<0,1,6,7>(mn,mx); - A0 maxmin = shuffle<1,0,7,6>(mn,mx); - - mn = min(minmax,maxmin); - mx = max(minmax,maxmin); - - // rearrange partial max/min while keeping min and max in place - p0 = shuffle<0,2,5,7>(mn,mx); - A0 p1 = shuffle<0,2,1,3>(p0); - - // Bring sorted min/max in the proper place - return shuffle<0,1,6,7>(min(p1,p0),max(p1,p0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sort_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < type64_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Better latency - A0 p0 = shuffle<1,0>(a0); - return shuffle<0,2>(min(a0,p0),max(a0,p0)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/split_high.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/split_high.hpp deleted file mode 100644 index 89e4eff..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/split_high.hpp +++ /dev/null @@ -1,139 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SPLIT_HIGH_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_cvtps_pd(_mm_movehl_ps(a0, a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < int8_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpackhi_epi8(a0, is_ltz(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < uint8_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpackhi_epi8(a0, Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < int16_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpackhi_epi16(a0, is_ltz(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < uint16_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpackhi_epi16(a0, Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < int32_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpackhi_epi32(a0, is_ltz(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < uint32_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpackhi_epi32(a0, Zero()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/split_low.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/split_low.hpp deleted file mode 100644 index b5e9719..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/split_low.hpp +++ /dev/null @@ -1,139 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SPLIT_LOW_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < single_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_cvtps_pd(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < int8_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpacklo_epi8(a0, is_ltz(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < uint8_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpacklo_epi8(a0, Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < int16_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpacklo_epi16(a0, is_ltz(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < uint16_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpacklo_epi16(a0, Zero()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < int32_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpacklo_epi32(a0, is_ltz(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse2_ - , (A0) - , ((simd_ < uint32_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_unpacklo_epi32(a0, Zero()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse2/split_multiplies.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse2/split_multiplies.hpp deleted file mode 100644 index f43f929..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse2/split_multiplies.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE2_SPLIT_MULTIPLIES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE2_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_multiplies_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1, A1& a2, A1& a3) const - { - A0 lo = _mm_mullo_epi16(a0, a1); - A0 hi = _mm_mulhi_epi16(a0, a1); - - a2 = interleave_first(lo, hi); - a3 = interleave_second(lo, hi); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_multiplies_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1, A1& a2, A1& a3) const - { - A0 lo = _mm_mullo_epi16(a0, a1); - A0 hi = _mm_mulhi_epu16(a0, a1); - - a2 = interleave_first(lo, hi); - a3 = interleave_second(lo, hi); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_multiplies_ - , boost::simd::tag::sse2_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1, A1& a2, A1& a3) const - { - A1 lo = _mm_mul_epu32(a0, a1); - A1 hi = _mm_mul_epu32(_mm_srli_si128(a0, 4), _mm_srli_si128(a1, 4)); - - a2 = deinterleave_first(lo, hi); - a3 = deinterleave_second(lo, hi); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/groups.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/groups.hpp deleted file mode 100644 index defaaaa..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/groups.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE4_1_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE4_1_GROUPS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( groups_, boost::simd::tag::sse4_1_, (A0) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return _mm_packus_epi32( (a0 & 0x7FFFFFFF) | shri(a0 & 0xF0000000, 1) - , (a1 & 0x7FFFFFFF) | shri(a1 & 0xF0000000, 1) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/split_high.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/split_high.hpp deleted file mode 100644 index d2a7cef..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/split_high.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2014 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE4_1_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE4_1_SPLIT_HIGH_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse4_1_ - , (A0) - , ((simd_ < int8_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_cvtepi8_epi16(slide::value/2>(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse4_1_ - , (A0) - , ((simd_ < int16_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_cvtepi16_epi32(slide::value/2>(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::sse4_1_ - , (A0) - , ((simd_ < int32_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_cvtepi32_epi64(slide::value/2>(a0)); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/split_low.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/split_low.hpp deleted file mode 100644 index 4aeec4e..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/split_low.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2014 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE4_1_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE4_1_SPLIT_LOW_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse4_1_ - , (A0) - , ((simd_ < int8_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_cvtepi8_epi16(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse4_1_ - , (A0) - , ((simd_ < int16_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_cvtepi16_epi32(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::sse4_1_ - , (A0) - , ((simd_ < int32_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return _mm_cvtepi32_epi64(a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/split_multiplies.hpp b/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/split_multiplies.hpp deleted file mode 100644 index b0224fe..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/sse4_1/split_multiplies.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE4_1_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSE4_1_SPLIT_MULTIPLIES_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSE4_1_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_multiplies_ - , boost::simd::tag::sse4_1_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1, A1& a2, A1& a3) const - { - A1 lo = _mm_mul_epi32(a0, a1); - A1 hi = _mm_mul_epi32(_mm_srli_si128(a0, 4), _mm_srli_si128(a1, 4)); - - a2 = interleave_first(lo, hi); - a3 = interleave_second(lo, hi); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/all_reduce.hpp b/inst/include/boost/simd/swar/functions/simd/sse/ssse3/all_reduce.hpp deleted file mode 100644 index 0cec1f5..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/all_reduce.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_ALL_REDUCE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT - -#include -#include -#include - -// Those overload are there so when we use SSSE3, we use the faster -// shuffle_epi8 instead of the SSE2 web of shuffles required for those -// types. - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( all_reduce_ - , boost::simd::tag::simd_ - , (Tag)(A0)(X) - , ((simd_< type16_, X >)) - ((target_< unspecified_ >)) - ) - { - typedef typename Tag::type base; - typedef typename dispatch::meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Tag const&) const - { - typedef typename boost::simd::meta::cardinal_of::type card; - details::butterfly callee; - return callee(base(),a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( all_reduce_ - , boost::simd::tag::simd_ - , (Tag)(A0)(X) - , ((simd_< type8_, X >)) - ((target_< unspecified_ >)) - ) - { - typedef typename Tag::type base; - typedef typename dispatch::meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Tag const&) const - { - typedef typename boost::simd::meta::cardinal_of::type card; - details::butterfly callee; - return callee(base(),a0); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/broadcast.hpp b/inst/include/boost/simd/swar/functions/simd/sse/ssse3/broadcast.hpp deleted file mode 100644 index a32d2f8..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/broadcast.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_BROADCAST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::ssse3_ - , (A0)(A1) - , ((simd_ < ints8_ - , boost::simd::tag::sse_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return _mm_shuffle_epi8(a0, _mm_set1_epi8(A1::value) ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/details/permutation.hpp b/inst/include/boost/simd/swar/functions/simd/sse/ssse3/details/permutation.hpp deleted file mode 100644 index 16db93e..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/details/permutation.hpp +++ /dev/null @@ -1,122 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_DETAILS_PERMUTATION_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_DETAILS_PERMUTATION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //============================================================================ - // SSE2 shuffle use general permutation with special case for some topology - //============================================================================ - template - struct sse3_permutation - { - template - BOOST_FORCEINLINE static T call(T const& a0, P const& ) - { - typedef typename T::template rebind::type m_t; - m_t const that = _mm_shuffle_epi8( bitwise_cast(a0) - , details::permute::call() - ); - return bitwise_cast(that); - } - - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const& p) - { - return call ( a0,a1,p - , typename details::sse2_topology::type() - ); - } - - // All shuffle uses SSE2 if possible - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , Topology const& t - ) - { - static const bool is_sse2_supported = Cardinal <= 4; - return call(a0,a1,p,t,boost::mpl::bool_()); - } - - // All shuffle uses SSE2 if possible - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , Topology const& - , boost::mpl::true_ const& - ) - { - return sse2_permutation::call(a0,a1,p); - } - - // If not go for byte permute - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , Topology const& - , boost::mpl::false_ const& - ) - { - return call ( a0, a1, p, details::indirect_() ); - } - - // Keep a0 indexing, zero out the other - template struct force_left - { - template struct apply - { - typedef typename boost::mpl::apply::type base_t; - - // make -1 if it was outside [0,C[ and let as if if inside - typedef boost::mpl::int_< !(base_t::value >= C::value) - ? base_t::value - : -1 - > type; - }; - }; - - // Keep a1 reduced indexing, zero out the other - template struct force_right - { - template struct apply - { - typedef typename boost::mpl::apply::type base_t; - - // make -1 if it was inside [0,C[ and shift if outside - typedef boost::mpl::int_< (base_t::value >= C::value) - ? (base_t::value - C::value) - : -1 - > type; - }; - }; - - // Indirect shuffle requires swapping a0/a1 in call to shuffle - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& - , details::indirect_ const& - ) - { - // double permute + bitwise or - return call(a0, force_left

() ) | call(a1, force_right

() ); - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/lookup.hpp b/inst/include/boost/simd/swar/functions/simd/sse/ssse3/lookup.hpp deleted file mode 100644 index f3bd4cc..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/lookup.hpp +++ /dev/null @@ -1,115 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_LOOKUP_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( lookup_ - , boost::simd::tag::ssse3_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - return _mm_shuffle_epi8(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( lookup_ - , boost::simd::tag::ssse3_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename A0::template rebind::type type8; - - const type8 inc = make(0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1); - const type8 dup = make(0,0,2,2,4,4,6,6,8,8,10,10,12,12,14,14); - - const type8 i1 = _mm_shuffle_epi8(shl(a1, 1), dup); - - return _mm_shuffle_epi8(simd::bitwise_cast(a0),i1+inc); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( lookup_ - , boost::simd::tag::ssse3_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename A0::template rebind::type type8; - - const type8 inc = make ( 0, 1, 2, 3, 0, 1, 2, 3 - , 0, 1, 2, 3, 0, 1, 2, 3 - ); - - const type8 dup = make ( 0, 0, 0, 0, 4, 4, 4, 4 - , 8, 8, 8, 8, 12, 12, 12, 12 - ); - - type8 i1 = _mm_shuffle_epi8(shl(a1, 2), dup); - type8 r = _mm_shuffle_epi8(simd::bitwise_cast(a0), i1+inc ); - - return simd::bitwise_cast(r); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( lookup_ - , boost::simd::tag::ssse3_ - , (A0)(A1) - , ((simd_,boost::simd::tag::sse_>)) - ((simd_,boost::simd::tag::sse_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename A0::template rebind::type type8; - - const type8 inc = make ( 0, 1, 2, 3, 4, 5, 6, 7 - , 0, 1, 2, 3, 4, 5, 6, 7 - ); - - const type8 dup = make ( 0, 0, 0, 0, 0, 0, 0, 0 - , 8, 8, 8, 8, 8, 8, 8, 8 - ); - - const type8 i1 = _mm_shuffle_epi8(shl(a1, 3), dup); - const type8 r = _mm_shuffle_epi8(simd::bitwise_cast(a0), i1+inc); - - return simd::bitwise_cast(r); - } - }; -} } } -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/reverse.hpp b/inst/include/boost/simd/swar/functions/simd/sse/ssse3/reverse.hpp deleted file mode 100644 index ac5773a..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/reverse.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_REVERSE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::ssse3_ - , (A0) - , ((simd_ < ints8_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_shuffle_epi8 ( a0 - , _mm_set_epi8( 0, 1, 2, 3, 4, 5, 6, 7 - , 8, 9,10,11,12,13,14,15 - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reverse_ - , boost::simd::tag::ssse3_ - , (A0) - , ((simd_ < ints16_ - , boost::simd::tag::sse_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(1) - { - return _mm_shuffle_epi8 ( a0 - , _mm_set_epi8( 1, 0, 3, 2, 5, 4, 7, 6 - , 9, 8,11,10,13,12,15,14 - ) - ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/shuffle.hpp b/inst/include/boost/simd/swar/functions/simd/sse/ssse3/shuffle.hpp deleted file mode 100644 index 1ec7414..0000000 --- a/inst/include/boost/simd/swar/functions/simd/sse/ssse3/shuffle.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_SSE_SSSE3_SHUFFLE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_SSSE3_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include - -//============================================================================== -// SSSE3 shuffle use the SSE2 pattern matcher optimizer but has a specific -// permutation unit that is able to perform single argument permutation. We use -// this for shuffle(a0) and we use bit tricks for the shuffle(a0,a1) case: -// two meta-permutation adapter compute the two part that get bit-ORed. -//============================================================================== -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::ssse3_ - , (T)(P) - , ((simd_ < arithmetic_ - , boost::simd::tag::sse_ - > - )) - (target_< unspecified_

>) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE result_type operator()(T const& a0,P const&) const - { - typename P::type p; - - return details::shuffler< sse2_matcher - , ext::sse3_permutation::value> - , meta::cardinal_of::value - , 16 - >::process(a0,p); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::ssse3_ - , (T)(P) - , ((simd_ < arithmetic_ - , boost::simd::tag::sse_ - > - )) - ((simd_ < arithmetic_ - , boost::simd::tag::sse_ - > - )) - (target_< unspecified_

>) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE - result_type operator()(T const& a0,T const& a1, P const&) const - { - typename P::type p; - - return details::shuffler< sse2_matcher - , ext::sse3_permutation::value> - , meta::cardinal_of::value - , 16 - >::process(a0,a1,p); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/broadcast.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/broadcast.hpp deleted file mode 100644 index 11e3351..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/broadcast.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_BROADCAST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( broadcast_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return vec_splat(a0(), A1::value ); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/deinterleave_first.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/deinterleave_first.hpp deleted file mode 100644 index ee1f065..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/deinterleave_first.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_DEINTERLEAVE_FIRST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // r = [ a[0] a[2] ... a[n/2] b[0] b[2] ... b[n/2] ] - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 0 , 2, 4, 6, 8,10,12,14 - , 16,18,20,22,24,26,28,30 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 0,1,4,5,8 ,9,12,13 - , 16,17,20,21,24,25,28,29 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 0, 1, 2, 3, 8, 9,10,11 - , 16,17,18,19,24,25,26,27 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_first_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 0, 1, 2, 3, 8, 9,10,11 - , 16,17,18,19,24,25,26,27 - }; - - return vec_perm(a0(),a1(),shft); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/deinterleave_second.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/deinterleave_second.hpp deleted file mode 100644 index 9c4cdfe..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/deinterleave_second.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_DEINTERLEAVE_SECOND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // r = [ a[0] a[2] ... a[n/2] b[0] b[2] ... b[n/2] ] - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 1, 3, 5, 7, 9,11,13,15 - , 17,19,21,23,25,27,29,31 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 2, 3, 6, 7,10,11,14,15 - , 18,19,22,23,26,27,30,31 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 4, 5, 6, 7,12,13,14,15 - , 20,21,22,23,28,29,30,31 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( deinterleave_second_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 4, 5, 6, 7,12,13,14,15 - , 20,21,22,23,28,29,30,31 - }; - - return vec_perm(a0(),a1(),shft); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/details/permutation.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/details/permutation.hpp deleted file mode 100644 index 40a369d..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/details/permutation.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_DETAILS_PERMUTATION_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_DETAILS_PERMUTATION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace details -{ - // VMX has a full permute unit - template struct vmx_permute - { - template - BOOST_FORCEINLINE static T call(T const& a0, P const& p) - { - return call(a0,a0,p); - } - - template - BOOST_FORCEINLINE static T call(T const& a0, T const& a1, P const& p) - { - return call(a0,a1,p,typename details::perform_zeroing::type()); - } - - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& p - , boost::mpl::true_ const& - ) - { - typedef typename meta::scalar_of::type s_t; - typedef typename T::template rebind::type m_t; - - m_t mask = make( details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - , details::zero_mask::value - ); - - T that = vec_and( call(a0,a1,p,boost::mpl::false_())() - , bitwise_cast(mask)() - ); - - return that; - } - - template - BOOST_FORCEINLINE static T call ( T const& a0, T const& a1, P const& - , boost::mpl::false_ const& - ) - { - typedef typename T::template rebind::type mask_type; - - T that = vec_perm(a0(),a1(),details::permute::call()()); - - return that; - } - }; -} } } - -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/enumerate.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/enumerate.hpp deleted file mode 100644 index 2a1835c..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/enumerate.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_ENUMERATE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( enumerate_ - , boost::simd::tag::vmx_ - , (T) - , ((target_ - < simd_ < ints8_ - , boost::simd::tag::vmx_ - > - > - )) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE result_type operator()(T const& ) const - { - typedef typename result_type::template rebind::type u8type; - - // [0 1 2 ... 12 15] - u8type that = vec_lvsl(0,(unsigned char*)(0)); - - return bitwise_cast(that); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/group.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/group.hpp deleted file mode 100644 index 1f5f59d..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/group.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_GROUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_GROUP_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( group_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < ints32_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < ints32_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_pack(a0(), a1()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( group_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < ints16_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < ints16_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_pack(a0(), a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/groups.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/groups.hpp deleted file mode 100644 index af6bd2c..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/groups.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_GROUPS_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( groups_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < ints32_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < ints32_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_packs(a0(), a1()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( groups_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < ints16_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < ints16_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::downgrade::type result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL_REPEAT(2) - { - return vec_packs(a0(), a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_even.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_even.hpp deleted file mode 100644 index a25ecdc..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_even.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_INTERLEAVE_EVEN_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 0,16, 2,18, 4,20, 6,22 - , 8,24,10,26,12,28,14,30 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 0,1,16,17,4 , 5,20,21 - , 8,9,24,25,12,13,28,29 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 0,1, 2, 3,16,17,18,19 - , 8,9,10,11,24,25,26,27 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_even_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 0,1, 2, 3,16,17,18,19 - , 8,9,10,11,24,25,26,27 - }; - - return vec_perm(a0(),a1(),shft); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_first.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_first.hpp deleted file mode 100644 index 4d3b6b8..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_first.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_INTERLEAVE_FIRST_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_first_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return vec_mergeh(a0(),a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_odd.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_odd.hpp deleted file mode 100644 index 9581a69..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_odd.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_INTERLEAVE_ODD_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 1,17, 3,19, 5,21, 7,23 - , 9,25,11,27,13,29,15,31 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 2, 3,18,19,6 , 7,22,23 - , 10,11,26,27,14,15,30,31 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 4, 5, 6, 7,20,21,22,23 - , 12,13,14,15,28,29,30,31 - }; - - return vec_perm(a0(),a1(),shft); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( interleave_odd_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_,boost::simd::tag::vmx_>)) - ((simd_,boost::simd::tag::vmx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - __vector unsigned char shft = { 4, 5, 6, 7,20,21,22,23 - , 12,13,14,15,28,29,30,31 - }; - - return vec_perm(a0(),a1(),shft); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_second.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_second.hpp deleted file mode 100644 index b12c802..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/interleave_second.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_INTERLEAVE_SECOND_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( interleave_second_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_,boost::simd::tag::avx_>)) - ((simd_,boost::simd::tag::avx_>)) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return vec_mergel(a0(),a1()); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/lookup.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/lookup.hpp deleted file mode 100644 index 5b6a7b1..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/lookup.hpp +++ /dev/null @@ -1,106 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_LOOKUP_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( lookup_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_ < ints8_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < ints8_ - , boost::simd::tag::vmx_ - > - )) - ) - { - - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename A1::template rebind::type u8type; - return vec_perm(a0(),a0(), bitwise_cast(a1)()); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( lookup_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_ < ints16_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < ints16_ - , boost::simd::tag::vmx_ - > - )) - ) - { - - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename A1::template rebind::type u8type; - typedef typename u8type::native_type u8n; - - // Compute proper permute mask by computing 2*a1/2*a1+1 - u8n v1 = bitwise_cast(a1)(); - u8n inc = (u8n)(vec_splat_u16(1)); - u8n slt = {1,1,3,3,5,5,7,7,9,9,11,11,13,13,15,15}; - u8n msk = vec_add( inc, vec_sl(vec_perm(v1,v1,slt), vec_splat_u8(1)) ); - - return vec_perm(a0(),a0(), msk); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( lookup_ - , boost::simd::tag::vmx_ - , (A0)(A1) - , ((simd_ < type32_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < ints32_ - , boost::simd::tag::vmx_ - > - )) - ) - { - - typedef A0 result_type; - - BOOST_FORCEINLINE BOOST_SIMD_FUNCTOR_CALL(2) - { - typedef typename A1::template rebind::type u8type; - typedef typename u8type::native_type u8n; - - // Compute proper permute mask by computing 4*a1+0/1/2/3 - u8n v1 = bitwise_cast(a1)(); - u8n inc = { 0,1,2,3,0,1,2,3, 0, 1, 2, 3, 0, 1, 2, 3 }; - u8n slt = { 3,3,3,3,7,7,7,7,11,11,11,11,15,15,15,15 }; - u8n msk = vec_add( inc, vec_sl( vec_perm(v1, v1, slt), vec_splat_u8(2)) ); - - return vec_perm(a0(),a0(), msk); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/repeat_lower_half.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/repeat_lower_half.hpp deleted file mode 100644 index 29bbc35..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/repeat_lower_half.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_REPEAT_LOWER_HALF_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_lower_half_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - __vector unsigned char shft = { 0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7 }; - - return vec_perm(a0(),a0(),shft); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/repeat_upper_half.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/repeat_upper_half.hpp deleted file mode 100644 index 285c326..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/repeat_upper_half.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_REPEAT_UPPER_HALF_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repeat_upper_half_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - __vector unsigned char shft = { 8,9,10,11,12,13,14,15 - , 8,9,10,11,12,13,14,15 - }; - - return vec_perm(a0(),a0(),shft); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/shuffle.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/shuffle.hpp deleted file mode 100644 index 06a6b72..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/shuffle.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_SHUFFLE_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::vmx_ - , (T)(P) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - (target_< unspecified_

>) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE result_type operator()(T const& a0,P const&) const - { - typename P::type p; - - return details::shuffler< details::default_matcher - , details::vmx_permute::value> - , meta::cardinal_of::value - , 16 - >::process(a0,p); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( shuffle_ - , boost::simd::tag::vmx_ - , (T)(P) - , ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - ((simd_ < arithmetic_ - , boost::simd::tag::vmx_ - > - )) - (target_< unspecified_

>) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE - result_type operator()(T const& a0,T const& a1, P const&) const - { - typename P::type p; - - return details::shuffler< details::default_matcher - , details::vmx_permute::value> - , meta::cardinal_of::value - , 16 - >::process(a0,a1,p); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/split_high.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/split_high.hpp deleted file mode 100644 index 927fb68..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/split_high.hpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_SPLIT_HIGH_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < int8_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return vec_unpackl( a0() ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < uint8_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - typedef typename dispatch::meta::as_signed::type s_t; - typedef typename dispatch::meta::upgrade::type sr_t; - typedef typename result_type::value_type r_t; - - sr_t that = vec_unpackl( bitwise_cast(a0)() ); - return bitwise_cast(that) & r_t(0x00FF); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < int16_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return vec_unpackl( a0() ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_high_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < uint16_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - typedef typename dispatch::meta::as_signed::type s_t; - typedef typename dispatch::meta::upgrade::type sr_t; - typedef typename result_type::value_type r_t; - - sr_t that = vec_unpackl( bitwise_cast(a0)() ); - return bitwise_cast(that) & r_t(0x0000FFFF); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/split_low.hpp b/inst/include/boost/simd/swar/functions/simd/vmx/altivec/split_low.hpp deleted file mode 100644 index a9d1d70..0000000 --- a/inst/include/boost/simd/swar/functions/simd/vmx/altivec/split_low.hpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SIMD_VMX_ALTIVEC_SPLIT_LOW_HPP_INCLUDED -#ifdef BOOST_SIMD_HAS_VMX_SUPPORT - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < int8_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return vec_unpackh( a0() ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < uint8_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - typedef typename dispatch::meta::as_signed::type s_t; - typedef typename dispatch::meta::upgrade::type sr_t; - typedef typename result_type::value_type r_t; - - sr_t that = vec_unpackh( bitwise_cast(a0)() ); - return bitwise_cast(that) & r_t(0x00FF); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < int16_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return vec_unpackh( a0() ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( split_low_ - , boost::simd::tag::vmx_ - , (A0) - , ((simd_ < uint16_ - , boost::simd::tag::vmx_ - > - )) - ) - { - typedef typename dispatch::meta::upgrade::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - typedef typename dispatch::meta::as_signed::type s_t; - typedef typename dispatch::meta::upgrade::type sr_t; - typedef typename result_type::value_type r_t; - - sr_t that = vec_unpackh( bitwise_cast(a0)() ); - return bitwise_cast(that) & r_t(0x0000FFFF); - } - }; -} } } - -#endif -#endif diff --git a/inst/include/boost/simd/swar/functions/slice.hpp b/inst/include/boost/simd/swar/functions/slice.hpp deleted file mode 100644 index e7ad09e..0000000 --- a/inst/include/boost/simd/swar/functions/slice.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SLICE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SLICE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief slice generic tag - - Represents the slice function in generic contexts. - **/ - struct slice_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_slice_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_slice_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_slice_; - } - - /*! - @brief SIMD register type-based slicing - - @c slice slices a SIMD register @c v in two SIMD register of half the - cardinal of @c v containing the same value than @c v. - - @param a0 Value to splice - - @return A Fusion Sequence containing the two sub-part of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::slice_, slice, 1) - - /*! - @brief SIMD register type-based slice - - @c slice slices a SIMD register @c v in two SIMD register of half the - cardinal of @c v containing the same value than @c v. - - @param a0 Value to slice - @param a1 L-Value that will receive the second sub-part of @c a0 - - @return The first sub-part of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::slice_, slice - , (A0 const &)(A1&) - , 2 - ) - - /*! - @brief SIMD register type-based slice - - @c slice slices a SIMD register @c v in two SIMD register of half the - cardinal of @c v containing the same value than @c v. - - @param a0 Value to slice - @param a1 L-Value that will receive the first sub-part of @c a0 - @param a2 L-Value that will receive the second sub-part of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::slice_, slice - , (A0 const &)(A1&)(A1&) - , 2 - ) - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/sort.hpp b/inst/include/boost/simd/swar/functions/sort.hpp deleted file mode 100644 index 58aed78..0000000 --- a/inst/include/boost/simd/swar/functions/sort.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SORT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SORT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief sort generic tag - - Represents the sort function in generic contexts. - - @par Models: - Hierarchy - **/ - struct sort_ : ext::tieable_ - { - /// @brief Parent hierarchy - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sort_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sort_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sort_; - } - /*! - returns the sorted a0 vector in ascending order - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = sort(a0); - @endcode - - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sort_, sort, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sort_, sort, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sort_, sort, 3) - -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/splatted_maximum.hpp b/inst/include/boost/simd/swar/functions/splatted_maximum.hpp deleted file mode 100644 index fb04758..0000000 --- a/inst/include/boost/simd/swar/functions/splatted_maximum.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SPLATTED_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SPLATTED_MAXIMUM_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief splatted_maximum generic tag - - Represents the splatted_maximum function in generic contexts. - - @par Models: - Hierarchy - **/ - /*! - @brief splatted_maximum generic tag - - Represents the splatted_maximum function in generic contexts. - **/ - struct splatted_maximum_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_splatted_maximum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_splatted_maximum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_splatted_maximum_; - } - /*! - @brief Splatted maximum - - Computes the splatted maximum of the element of its argument. - - @par Semantic - - Depending on the type of its arguments, splatted_maximum exhibits different - semantics. For any type @c Type and value @c v of type @c Type: - - @code - Type r = splatted_maximum(v); - @endcode - - is similar to: - - @code - for(int i=0;i -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief splatted_minimum generic tag - - Represents the splatted_minimum function in generic contexts. - **/ - struct splatted_minimum_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_splatted_minimum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_splatted_minimum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_splatted_minimum_; - } - - /*! - @brief Splatted minimum - - Computes the splatted minimum of the element of its argument. - - @par Semantic - - @code - Type r = splatted_minimum(v); - @endcode - - @code - for(int i=0;i -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief splatted_prod generic tag - - Represents the splatted_prod function in generic contexts. - **/ - struct splatted_prod_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_splatted_prod_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_splatted_prod_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_splatted_prod_; - } - - /*! - @brief Splatted product - - Computes the splatted product of the element of its argument. - - @par Semantic - - @code - Type r = splatted_prod(v); - @endcode - - If @c Type is a SIMD value, this code is equivalent to: - - @code - for(int i=0;i -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief splatted_sum generic tag - - Represents the splatted_sum function in generic contexts. - **/ - struct splatted_sum_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_splatted_sum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_splatted_sum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_splatted_sum_; - } - - /*! - @brief Splatted sum - - Computes the splatted sum of the element of its argument. - - @par Semantic - - Depending on the type of its arguments, splatted_sum exhibits different - semantics. For any type @c Type and value @c v of type @c Type: - - @code - Type r = splatted_sum(v); - @endcode - - If @c Type is a SIMD value, this code is equivalent to: - - @code - for(int i=0;i -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief split generic tag - - Represents the split function in generic contexts. - - @par Models: - Hierarchy - **/ - struct split_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_split_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_split_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_split_; - } - - /*! - @brief SIMD register type-based split - - @c split splits a SIMD register @c v in two SIMD register of half the - cardinal of @c v containing the same value than @c v but transtyped to - their associated scalar type. - - @par Alias: - @c promote, @c widen - - @param a0 Value to split - - @return A Fusion Sequence containing the two sub-part of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::split_, split, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::split_, promote, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::split_, widen, 1) - - /*! - @brief SIMD register type-based split - - @c split splits a SIMD register @c v in two SIMD register of half the - cardinal of @c v containing the same value than @c v but transtyped to - their associated scalar type. - - @param a0 Value to split - @param a1 L-Value that will receive the second sub-part of @c a0 - - @return The first sub-part of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::split_, split - , (A0 const &)(A1&) - , 2 - ) - - /*! - @brief SIMD register type-based split - - @c split splits a SIMD register @c v in two SIMD register of half the - cardinal of @c v containing the same value than @c v but transtyped to - their associated scalar type. - - @param a0 Value to split - @param a1 L-Value that will receive the first sub-part of @c a0 - @param a2 L-Value that will receive the second sub-part of @c a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::split_, split - , (A0 const &)(A1&)(A1&) - , 2 - ) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/split_high.hpp b/inst/include/boost/simd/swar/functions/split_high.hpp deleted file mode 100644 index 30f4705..0000000 --- a/inst/include/boost/simd/swar/functions/split_high.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SPLIT_HIGH_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief split_high generic tag - - Represents the split_high function in generic contexts. - - @par Models: - Hierarchy - **/ - struct split_high_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_split_high_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_split_high_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_split_high_; - } - - /*! - @brief SIMD register type-based split_high - - @c split_high extract the higher half of a SIMD register and convert it - to the appropriate SIMD register type of corresponding cardinal. - - @see split_low, split, slice - @param a0 Value to process - - @return THe higher half of a0 converted to the appropriate SIMD type - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::split_high_, split_high, 1) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/split_low.hpp b/inst/include/boost/simd/swar/functions/split_low.hpp deleted file mode 100644 index a642a1a..0000000 --- a/inst/include/boost/simd/swar/functions/split_low.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SPLIT_LOW_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /*! - @brief split_low generic tag - - Represents the split_low function in generic contexts. - - @par Models: - Hierarchy - **/ - struct split_low_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_split_low_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_split_low_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_split_low_; - } - - /*! - @brief SIMD register type-based split_low - - @c split_low extract the lower half of a SIMD register and convert it - to the appropriate SIMD register type of corresponding cardinal. - - @see split_low, split, slice - @param a0 Value to process - - @return THe lower half of a0 converted to the appropriate SIMD type - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::split_low_, split_low, 1) -} } - -#endif diff --git a/inst/include/boost/simd/swar/functions/split_multiplies.hpp b/inst/include/boost/simd/swar/functions/split_multiplies.hpp deleted file mode 100644 index b2c72fb..0000000 --- a/inst/include/boost/simd/swar/functions/split_multiplies.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef BOOST_SIMD_SWAR_FUNCTIONS_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_FUNCTIONS_SPLIT_MULTIPLIES_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd -{ - namespace tag - { - /// @brief Hierarchy tag for split_multiplies function - struct split_multiplies_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_split_multiplies_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_split_multiplies_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_split_multiplies_; - } - - /*! - @brief SIMD register type-based multiplies and split - - @c split_multiplies multiplies two x-bit SIMD registers and returns two 2x-bit registers - each having half the cardinal of the original inputs. - - @param a0 LHS of multiplication - @param a1 RHS of multiplication - - @return A Fusion Sequence containing the result of @c a0 * @c a1 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::split_multiplies_, split_multiplies, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::split_multiplies_, full_mul, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::split_multiplies_, wide_mul, 2) - - /*! - @brief SIMD register type-based multiplies and split - - @c split_multiplies multiplies two x-bit SIMD registers and returns two 2x-bit registers - each having half the cardinal of the original inputs. - - @param a0 LHS of multiplication - @param a1 RHS of multiplication - @param a2 L-Value that will receive the second sub-part of @c a0 * @c a1 - - @return The first sub-part of @c a0 * @c a1 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::split_multiplies_, split_multiplies - , (A0 const &)(A0 const&)(A1&) - , 2 - ) - - /*! - @brief SIMD register type-based multiplies and split - - @c split_multiplies multiplies two x-bit SIMD registers and returns two 2x-bit registers - each having half the cardinal of the original inputs. - - @param a0 LHS of multiplication - @param a1 RHS of multiplication - @param a2 L-Value that will receive the first sub-part of @c a0 * @c a1 - @param a3 L-Value that will receive the second sub-part of @c a0 * @c a1 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL( tag::split_multiplies_, split_multiplies - , (A0 const &)(A0 const&)(A1&)(A1&) - , 2 - ) -} } - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/all_reduce.hpp b/inst/include/boost/simd/swar/include/functions/all_reduce.hpp deleted file mode 100644 index 916b0c1..0000000 --- a/inst/include/boost/simd/swar/include/functions/all_reduce.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_ALL_REDUCE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/broadcast.hpp b/inst/include/boost/simd/swar/include/functions/broadcast.hpp deleted file mode 100644 index 57c9ec6..0000000 --- a/inst/include/boost/simd/swar/include/functions/broadcast.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_BROADCAST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/combine.hpp b/inst/include/boost/simd/swar/include/functions/combine.hpp deleted file mode 100644 index 02ff5df..0000000 --- a/inst/include/boost/simd/swar/include/functions/combine.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_COMBINE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_COMBINE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/cummax.hpp b/inst/include/boost/simd/swar/include/functions/cummax.hpp deleted file mode 100644 index 7a4e097..0000000 --- a/inst/include/boost/simd/swar/include/functions/cummax.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_CUMMAX_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/cummin.hpp b/inst/include/boost/simd/swar/include/functions/cummin.hpp deleted file mode 100644 index 0e2078b..0000000 --- a/inst/include/boost/simd/swar/include/functions/cummin.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_CUMMIN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/cumprod.hpp b/inst/include/boost/simd/swar/include/functions/cumprod.hpp deleted file mode 100644 index 03b35bd..0000000 --- a/inst/include/boost/simd/swar/include/functions/cumprod.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_CUMPROD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/cumsum.hpp b/inst/include/boost/simd/swar/include/functions/cumsum.hpp deleted file mode 100644 index e2fc172..0000000 --- a/inst/include/boost/simd/swar/include/functions/cumsum.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_CUMSUM_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/deinterleave_first.hpp b/inst/include/boost/simd/swar/include/functions/deinterleave_first.hpp deleted file mode 100644 index 943506e..0000000 --- a/inst/include/boost/simd/swar/include/functions/deinterleave_first.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_DEINTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/deinterleave_second.hpp b/inst/include/boost/simd/swar/include/functions/deinterleave_second.hpp deleted file mode 100644 index 1eb80a1..0000000 --- a/inst/include/boost/simd/swar/include/functions/deinterleave_second.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_DEINTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/enumerate.hpp b/inst/include/boost/simd/swar/include/functions/enumerate.hpp deleted file mode 100644 index 0f01651..0000000 --- a/inst/include/boost/simd/swar/include/functions/enumerate.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_ENUMERATE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/group.hpp b/inst/include/boost/simd/swar/include/functions/group.hpp deleted file mode 100644 index d56178a..0000000 --- a/inst/include/boost/simd/swar/include/functions/group.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_GROUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_GROUP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/groups.hpp b/inst/include/boost/simd/swar/include/functions/groups.hpp deleted file mode 100644 index 04cef6e..0000000 --- a/inst/include/boost/simd/swar/include/functions/groups.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_GROUPS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/interleave_even.hpp b/inst/include/boost/simd/swar/include/functions/interleave_even.hpp deleted file mode 100644 index 98129df..0000000 --- a/inst/include/boost/simd/swar/include/functions/interleave_even.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_INTERLEAVE_EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/interleave_first.hpp b/inst/include/boost/simd/swar/include/functions/interleave_first.hpp deleted file mode 100644 index b319ab2..0000000 --- a/inst/include/boost/simd/swar/include/functions/interleave_first.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_INTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/interleave_odd.hpp b/inst/include/boost/simd/swar/include/functions/interleave_odd.hpp deleted file mode 100644 index b6dcbca..0000000 --- a/inst/include/boost/simd/swar/include/functions/interleave_odd.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_INTERLEAVE_ODD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/interleave_second.hpp b/inst/include/boost/simd/swar/include/functions/interleave_second.hpp deleted file mode 100644 index 56fc8c4..0000000 --- a/inst/include/boost/simd/swar/include/functions/interleave_second.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_INTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/lookup.hpp b/inst/include/boost/simd/swar/include/functions/lookup.hpp deleted file mode 100644 index 3dba279..0000000 --- a/inst/include/boost/simd/swar/include/functions/lookup.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_LOOKUP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/repeat_lower_half.hpp b/inst/include/boost/simd/swar/include/functions/repeat_lower_half.hpp deleted file mode 100644 index 6cd2cf8..0000000 --- a/inst/include/boost/simd/swar/include/functions/repeat_lower_half.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_REPEAT_LOWER_HALF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/repeat_upper_half.hpp b/inst/include/boost/simd/swar/include/functions/repeat_upper_half.hpp deleted file mode 100644 index 47596d3..0000000 --- a/inst/include/boost/simd/swar/include/functions/repeat_upper_half.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_REPEAT_UPPER_HALF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/reverse.hpp b/inst/include/boost/simd/swar/include/functions/reverse.hpp deleted file mode 100644 index 849b0fe..0000000 --- a/inst/include/boost/simd/swar/include/functions/reverse.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_REVERSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/all_reduce.hpp b/inst/include/boost/simd/swar/include/functions/scalar/all_reduce.hpp deleted file mode 100644 index febd13b..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/all_reduce.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_ALL_REDUCE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/broadcast.hpp b/inst/include/boost/simd/swar/include/functions/scalar/broadcast.hpp deleted file mode 100644 index 69cffff..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/broadcast.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_BROADCAST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/combine.hpp b/inst/include/boost/simd/swar/include/functions/scalar/combine.hpp deleted file mode 100644 index 1c1aa27..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/combine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_COMBINE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_COMBINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/cummax.hpp b/inst/include/boost/simd/swar/include/functions/scalar/cummax.hpp deleted file mode 100644 index 58f5ba3..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/cummax.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_CUMMAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/cummin.hpp b/inst/include/boost/simd/swar/include/functions/scalar/cummin.hpp deleted file mode 100644 index ede587b..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/cummin.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_CUMMIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/cumprod.hpp b/inst/include/boost/simd/swar/include/functions/scalar/cumprod.hpp deleted file mode 100644 index 37cea77..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/cumprod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_CUMPROD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/cumsum.hpp b/inst/include/boost/simd/swar/include/functions/scalar/cumsum.hpp deleted file mode 100644 index 7336390..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/cumsum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_CUMSUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/deinterleave_first.hpp b/inst/include/boost/simd/swar/include/functions/scalar/deinterleave_first.hpp deleted file mode 100644 index ecb81e5..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/deinterleave_first.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_DEINTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/deinterleave_second.hpp b/inst/include/boost/simd/swar/include/functions/scalar/deinterleave_second.hpp deleted file mode 100644 index 1464a76..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/deinterleave_second.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_DEINTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/enumerate.hpp b/inst/include/boost/simd/swar/include/functions/scalar/enumerate.hpp deleted file mode 100644 index 268315b..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/enumerate.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_ENUMERATE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/group.hpp b/inst/include/boost/simd/swar/include/functions/scalar/group.hpp deleted file mode 100644 index f57a1b6..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/group.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_GROUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_GROUP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/groups.hpp b/inst/include/boost/simd/swar/include/functions/scalar/groups.hpp deleted file mode 100644 index aacdfda..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/groups.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_GROUPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/interleave_even.hpp b/inst/include/boost/simd/swar/include/functions/scalar/interleave_even.hpp deleted file mode 100644 index 9be7446..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/interleave_even.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_EVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/interleave_first.hpp b/inst/include/boost/simd/swar/include/functions/scalar/interleave_first.hpp deleted file mode 100644 index c67b08a..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/interleave_first.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/interleave_odd.hpp b/inst/include/boost/simd/swar/include/functions/scalar/interleave_odd.hpp deleted file mode 100644 index 226bfef..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/interleave_odd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_ODD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/interleave_second.hpp b/inst/include/boost/simd/swar/include/functions/scalar/interleave_second.hpp deleted file mode 100644 index b973d3b..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/interleave_second.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_INTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/lookup.hpp b/inst/include/boost/simd/swar/include/functions/scalar/lookup.hpp deleted file mode 100644 index be542d9..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/lookup.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_LOOKUP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/repeat_lower_half.hpp b/inst/include/boost/simd/swar/include/functions/scalar/repeat_lower_half.hpp deleted file mode 100644 index 7b2d235..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/repeat_lower_half.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_REPEAT_LOWER_HALF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/repeat_upper_half.hpp b/inst/include/boost/simd/swar/include/functions/scalar/repeat_upper_half.hpp deleted file mode 100644 index 07998df..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/repeat_upper_half.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_REPEAT_UPPER_HALF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/reverse.hpp b/inst/include/boost/simd/swar/include/functions/scalar/reverse.hpp deleted file mode 100644 index 07297b0..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/reverse.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_REVERSE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/shuffle.hpp b/inst/include/boost/simd/swar/include/functions/scalar/shuffle.hpp deleted file mode 100644 index 584a128..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/shuffle.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SHUFFLE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/slice.hpp b/inst/include/boost/simd/swar/include/functions/scalar/slice.hpp deleted file mode 100644 index fed98e8..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/slice.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SLICE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SLICE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/sort.hpp b/inst/include/boost/simd/swar/include/functions/scalar/sort.hpp deleted file mode 100644 index eec0598..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/sort.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SORT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SORT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/splatted_maximum.hpp b/inst/include/boost/simd/swar/include/functions/scalar/splatted_maximum.hpp deleted file mode 100644 index c3aa598..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/splatted_maximum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_MAXIMUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/splatted_minimum.hpp b/inst/include/boost/simd/swar/include/functions/scalar/splatted_minimum.hpp deleted file mode 100644 index 00caa61..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/splatted_minimum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_MINIMUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/splatted_prod.hpp b/inst/include/boost/simd/swar/include/functions/scalar/splatted_prod.hpp deleted file mode 100644 index 14baefb..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/splatted_prod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_PROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_PROD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/splatted_sum.hpp b/inst/include/boost/simd/swar/include/functions/scalar/splatted_sum.hpp deleted file mode 100644 index 9345711..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/splatted_sum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_SUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLATTED_SUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/split.hpp b/inst/include/boost/simd/swar/include/functions/scalar/split.hpp deleted file mode 100644 index 9e1bc59..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/split.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLIT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/split_high.hpp b/inst/include/boost/simd/swar/include/functions/scalar/split_high.hpp deleted file mode 100644 index 2b413da..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/split_high.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLIT_HIGH_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/split_low.hpp b/inst/include/boost/simd/swar/include/functions/scalar/split_low.hpp deleted file mode 100644 index 8a36b6d..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/split_low.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLIT_LOW_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/scalar/split_multiplies.hpp b/inst/include/boost/simd/swar/include/functions/scalar/split_multiplies.hpp deleted file mode 100644 index ac4e31c..0000000 --- a/inst/include/boost/simd/swar/include/functions/scalar/split_multiplies.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SCALAR_SPLIT_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/shuffle.hpp b/inst/include/boost/simd/swar/include/functions/shuffle.hpp deleted file mode 100644 index 72b8efa..0000000 --- a/inst/include/boost/simd/swar/include/functions/shuffle.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SHUFFLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/all_reduce.hpp b/inst/include/boost/simd/swar/include/functions/simd/all_reduce.hpp deleted file mode 100644 index 85459c8..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/all_reduce.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_ALL_REDUCE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_ALL_REDUCE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/broadcast.hpp b/inst/include/boost/simd/swar/include/functions/simd/broadcast.hpp deleted file mode 100644 index e62ab1e..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/broadcast.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_BROADCAST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_BROADCAST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/combine.hpp b/inst/include/boost/simd/swar/include/functions/simd/combine.hpp deleted file mode 100644 index 09c6ef6..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/combine.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_COMBINE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_COMBINE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/cummax.hpp b/inst/include/boost/simd/swar/include/functions/simd/cummax.hpp deleted file mode 100644 index 163c2e8..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/cummax.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_CUMMAX_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_CUMMAX_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/cummin.hpp b/inst/include/boost/simd/swar/include/functions/simd/cummin.hpp deleted file mode 100644 index 582bc46..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/cummin.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_CUMMIN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_CUMMIN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/cumprod.hpp b/inst/include/boost/simd/swar/include/functions/simd/cumprod.hpp deleted file mode 100644 index ec3ac59..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/cumprod.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_CUMPROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_CUMPROD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/cumsum.hpp b/inst/include/boost/simd/swar/include/functions/simd/cumsum.hpp deleted file mode 100644 index 832e4e0..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/cumsum.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_CUMSUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_CUMSUM_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/deinterleave_first.hpp b/inst/include/boost/simd/swar/include/functions/simd/deinterleave_first.hpp deleted file mode 100644 index 4c02984..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/deinterleave_first.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_DEINTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_DEINTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/deinterleave_second.hpp b/inst/include/boost/simd/swar/include/functions/simd/deinterleave_second.hpp deleted file mode 100644 index 38bd7e1..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/deinterleave_second.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_DEINTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_DEINTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/enumerate.hpp b/inst/include/boost/simd/swar/include/functions/simd/enumerate.hpp deleted file mode 100644 index eb78b62..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/enumerate.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_ENUMERATE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_ENUMERATE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/group.hpp b/inst/include/boost/simd/swar/include/functions/simd/group.hpp deleted file mode 100644 index 3d55b58..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/group.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_GROUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_GROUP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/groups.hpp b/inst/include/boost/simd/swar/include/functions/simd/groups.hpp deleted file mode 100644 index fe093e2..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/groups.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_GROUPS_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_GROUPS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/interleave_even.hpp b/inst/include/boost/simd/swar/include/functions/simd/interleave_even.hpp deleted file mode 100644 index f352f38..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/interleave_even.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_EVEN_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/interleave_first.hpp b/inst/include/boost/simd/swar/include/functions/simd/interleave_first.hpp deleted file mode 100644 index 5752323..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/interleave_first.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_FIRST_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_FIRST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/interleave_odd.hpp b/inst/include/boost/simd/swar/include/functions/simd/interleave_odd.hpp deleted file mode 100644 index 085b4a8..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/interleave_odd.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_ODD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_ODD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/interleave_second.hpp b/inst/include/boost/simd/swar/include/functions/simd/interleave_second.hpp deleted file mode 100644 index f23ccb6..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/interleave_second.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_SECOND_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_INTERLEAVE_SECOND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/lookup.hpp b/inst/include/boost/simd/swar/include/functions/simd/lookup.hpp deleted file mode 100644 index fe81a78..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/lookup.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_LOOKUP_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_LOOKUP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/repeat_lower_half.hpp b/inst/include/boost/simd/swar/include/functions/simd/repeat_lower_half.hpp deleted file mode 100644 index 80517f5..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/repeat_lower_half.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_REPEAT_LOWER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_REPEAT_LOWER_HALF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/repeat_upper_half.hpp b/inst/include/boost/simd/swar/include/functions/simd/repeat_upper_half.hpp deleted file mode 100644 index 1009e48..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/repeat_upper_half.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_REPEAT_UPPER_HALF_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_REPEAT_UPPER_HALF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/reverse.hpp b/inst/include/boost/simd/swar/include/functions/simd/reverse.hpp deleted file mode 100644 index befaeb5..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/reverse.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_REVERSE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_REVERSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/shuffle.hpp b/inst/include/boost/simd/swar/include/functions/simd/shuffle.hpp deleted file mode 100644 index 9088a3e..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/shuffle.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SHUFFLE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SHUFFLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/slice.hpp b/inst/include/boost/simd/swar/include/functions/simd/slice.hpp deleted file mode 100644 index 296647d..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/slice.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SLICE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SLICE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/sort.hpp b/inst/include/boost/simd/swar/include/functions/simd/sort.hpp deleted file mode 100644 index 0e9f857..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/sort.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SORT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SORT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/splatted_maximum.hpp b/inst/include/boost/simd/swar/include/functions/simd/splatted_maximum.hpp deleted file mode 100644 index fcba8bd..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/splatted_maximum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLATTED_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLATTED_MAXIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/splatted_minimum.hpp b/inst/include/boost/simd/swar/include/functions/simd/splatted_minimum.hpp deleted file mode 100644 index 8722728..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/splatted_minimum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLATTED_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLATTED_MINIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/splatted_prod.hpp b/inst/include/boost/simd/swar/include/functions/simd/splatted_prod.hpp deleted file mode 100644 index d8b5da9..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/splatted_prod.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLATTED_PROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLATTED_PROD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/splatted_sum.hpp b/inst/include/boost/simd/swar/include/functions/simd/splatted_sum.hpp deleted file mode 100644 index 37f4973..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/splatted_sum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLATTED_SUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLATTED_SUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/split.hpp b/inst/include/boost/simd/swar/include/functions/simd/split.hpp deleted file mode 100644 index 1e261ff..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/split.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLIT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/split_high.hpp b/inst/include/boost/simd/swar/include/functions/simd/split_high.hpp deleted file mode 100644 index 329faa5..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/split_high.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLIT_HIGH_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/split_low.hpp b/inst/include/boost/simd/swar/include/functions/simd/split_low.hpp deleted file mode 100644 index febd525..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/split_low.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLIT_LOW_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/simd/split_multiplies.hpp b/inst/include/boost/simd/swar/include/functions/simd/split_multiplies.hpp deleted file mode 100644 index b746e6b..0000000 --- a/inst/include/boost/simd/swar/include/functions/simd/split_multiplies.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SIMD_SPLIT_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/slice.hpp b/inst/include/boost/simd/swar/include/functions/slice.hpp deleted file mode 100644 index de944c1..0000000 --- a/inst/include/boost/simd/swar/include/functions/slice.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SLICE_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SLICE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/sort.hpp b/inst/include/boost/simd/swar/include/functions/sort.hpp deleted file mode 100644 index b84c877..0000000 --- a/inst/include/boost/simd/swar/include/functions/sort.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SORT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SORT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/splatted_maximum.hpp b/inst/include/boost/simd/swar/include/functions/splatted_maximum.hpp deleted file mode 100644 index 2a55692..0000000 --- a/inst/include/boost/simd/swar/include/functions/splatted_maximum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLATTED_MAXIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLATTED_MAXIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/splatted_minimum.hpp b/inst/include/boost/simd/swar/include/functions/splatted_minimum.hpp deleted file mode 100644 index 403f466..0000000 --- a/inst/include/boost/simd/swar/include/functions/splatted_minimum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLATTED_MINIMUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLATTED_MINIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/splatted_prod.hpp b/inst/include/boost/simd/swar/include/functions/splatted_prod.hpp deleted file mode 100644 index d445526..0000000 --- a/inst/include/boost/simd/swar/include/functions/splatted_prod.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLATTED_PROD_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLATTED_PROD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/splatted_sum.hpp b/inst/include/boost/simd/swar/include/functions/splatted_sum.hpp deleted file mode 100644 index 5fa54e5..0000000 --- a/inst/include/boost/simd/swar/include/functions/splatted_sum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLATTED_SUM_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLATTED_SUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/split.hpp b/inst/include/boost/simd/swar/include/functions/split.hpp deleted file mode 100644 index 6fd9077..0000000 --- a/inst/include/boost/simd/swar/include/functions/split.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLIT_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLIT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/split_high.hpp b/inst/include/boost/simd/swar/include/functions/split_high.hpp deleted file mode 100644 index 98b11ca..0000000 --- a/inst/include/boost/simd/swar/include/functions/split_high.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLIT_HIGH_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLIT_HIGH_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/split_low.hpp b/inst/include/boost/simd/swar/include/functions/split_low.hpp deleted file mode 100644 index b7037c2..0000000 --- a/inst/include/boost/simd/swar/include/functions/split_low.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLIT_LOW_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLIT_LOW_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/include/functions/split_multiplies.hpp b/inst/include/boost/simd/swar/include/functions/split_multiplies.hpp deleted file mode 100644 index 35122e8..0000000 --- a/inst/include/boost/simd/swar/include/functions/split_multiplies.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLIT_MULTIPLIES_HPP_INCLUDED -#define BOOST_SIMD_SWAR_INCLUDE_FUNCTIONS_SPLIT_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/boost/simd/swar/swar.hpp b/inst/include/boost/simd/swar/swar.hpp deleted file mode 100644 index aec244a..0000000 --- a/inst/include/boost/simd/swar/swar.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef BOOST_SIMD_SWAR_SWAR_HPP_INCLUDED -#define BOOST_SIMD_SWAR_SWAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/arithmetic.hpp b/inst/include/nt2/arithmetic/arithmetic.hpp deleted file mode 100644 index 0ed427e..0000000 --- a/inst/include/nt2/arithmetic/arithmetic.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_ARITHMETIC_HPP_INCLUDED -#define NT2_ARITHMETIC_ARITHMETIC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/constants.hpp b/inst/include/nt2/arithmetic/constants.hpp deleted file mode 100644 index 3f4abd5..0000000 --- a/inst/include/nt2/arithmetic/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_ARITHMETIC_CONSTANTS_HPP_INCLUDED -#define NT2_ARITHMETIC_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/arithmetic/functions.hpp b/inst/include/nt2/arithmetic/functions.hpp deleted file mode 100644 index 9efc399..0000000 --- a/inst/include/nt2/arithmetic/functions.hpp +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef NT2_ARITHMETIC_FUNCTIONS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/functions/abs.hpp b/inst/include/nt2/arithmetic/functions/abs.hpp deleted file mode 100644 index ac52087..0000000 --- a/inst/include/nt2/arithmetic/functions/abs.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_ABS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::abs_} **/ - struct abs_ {}; - #endif - using boost::simd::tag::abs_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::abs} **/ - template - details::unspecified abs(Args&&... args); - #endif - using boost::simd::abs; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/abss.hpp b/inst/include/nt2/arithmetic/functions/abss.hpp deleted file mode 100644 index 9ee0614..0000000 --- a/inst/include/nt2/arithmetic/functions/abss.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_ABSS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_ABSS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::abss_} **/ - struct abss_ {}; - #endif - using boost::simd::tag::abss_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::abss} **/ - template - details::unspecified abss(Args&&... args); - #endif - using boost::simd::abss; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/adds.hpp b/inst/include/nt2/arithmetic/functions/adds.hpp deleted file mode 100644 index 650e49d..0000000 --- a/inst/include/nt2/arithmetic/functions/adds.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_ADDS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_ADDS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::adds_} **/ - struct adds_ {}; - #endif - using boost::simd::tag::adds_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::adds} **/ - template - details::unspecified adds(Args&&... args); - #endif - using boost::simd::adds; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/arg.hpp b/inst/include/nt2/arithmetic/functions/arg.hpp deleted file mode 100644 index 170ccc0..0000000 --- a/inst/include/nt2/arithmetic/functions/arg.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_ARG_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_ARG_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::arg_} **/ - struct arg_ {}; - #endif - using boost::simd::tag::arg_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::arg} **/ - template - details::unspecified arg(Args&&... args); - #endif - using boost::simd::arg; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/average.hpp b/inst/include/nt2/arithmetic/functions/average.hpp deleted file mode 100644 index 59016df..0000000 --- a/inst/include/nt2/arithmetic/functions/average.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_AVERAGE_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_AVERAGE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::average_} **/ - struct average_ {}; - #endif - using boost::simd::tag::average_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::average} **/ - template - details::unspecified average(Args&&... args); - #endif - using boost::simd::average; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/ceil.hpp b/inst/include/nt2/arithmetic/functions/ceil.hpp deleted file mode 100644 index a3dd76e..0000000 --- a/inst/include/nt2/arithmetic/functions/ceil.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CEIL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ceil_} **/ - struct ceil_ {}; - #endif - using boost::simd::tag::ceil_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ceil} **/ - template - details::unspecified ceil(Args&&... args); - #endif - using boost::simd::ceil; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/center.hpp b/inst/include/nt2/arithmetic/functions/center.hpp deleted file mode 100644 index 68c31e8..0000000 --- a/inst/include/nt2/arithmetic/functions/center.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CENTER_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CENTER_HPP_INCLUDED - -/*! - @file - @brief Defines the center function - **/ - -#include - -namespace nt2 -{ - namespace tag - { - struct center_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_center_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_center_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_center_; - } - - /*! - @brief - - - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::center_ , center, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::center_ , center, 2) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::center_ , center, 3) -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/abs.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/abs.hpp deleted file mode 100644 index d1ca931..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/abs.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ABS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_, (A0) - , (generic_< complex_< floating_ > >) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(1) - { - return hypot(nt2::real(a0),nt2::imag(a0)); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( abs_, tag::cpu_, (A0) - , (generic_< dry_< floating_ > >) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::abs(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/arg.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/arg.hpp deleted file mode 100644 index c45b651..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/arg.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ARG_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ARG_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( arg_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::atan2(nt2::imag(a0),nt2::real(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( arg_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::arg(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/average.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/average.hpp deleted file mode 100644 index 25768bd..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/average.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Averageributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_AVERAGE_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_AVERAGE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( average_, tag::cpu_, (A0)(A1) - , (generic_< complex_ < arithmetic_ > > ) - (generic_< complex_ < arithmetic_ > > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(average(nt2::real(a0), nt2::real(a1)),average(nt2::imag(a0), nt2::imag(a1))) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( average_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > > ) - (generic_< dry_ < arithmetic_ > > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(average(nt2::real(a0), nt2::real(a1))) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( average_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(average(nt2::real(a0), nt2::real(a1)),nt2::imag(a1)*Half()) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( average_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef typename nt2::meta::as_real::type rtype; - return result_type(average(nt2::real(a0), nt2::real(a1)),nt2::imag(a1)*Half()) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( average_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(average(nt2::real(a0), nt2::real(a1)),nt2::imag(a0)*Half()) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( average_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef typename nt2::meta::as_real::type rtype; - return result_type(average(nt2::real(a0), nt2::real(a1)),nt2::imag(a0)*Half()) ; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/ceil.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/ceil.hpp deleted file mode 100644 index bba4125..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/ceil.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_CEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_CEIL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ceil_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(ceil(nt2::real(a0)),ceil(nt2::imag(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ceil_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(nt2::ceil(nt2::real(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/conj.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/conj.hpp deleted file mode 100644 index 4938022..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/conj.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_CONJ_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_CONJ_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( conj_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(nt2::real(a0),-nt2::imag(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( conj_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return a0; - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/dec.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/dec.hpp deleted file mode 100644 index 2adc5aa..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/dec.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_DEC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_DEC_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( dec_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(nt2::dec(nt2::real(a0)),nt2::imag(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dec_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(nt2::dec(nt2::real(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/dist.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/dist.hpp deleted file mode 100644 index c252ad1..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/dist.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_DIST_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_DIST_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_, (A0)(A1) - , (generic_< complex_ < arithmetic_ > > ) - (generic_< complex_ < arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::abs(nt2::minus(a0, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > > ) - (generic_< dry_ < arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::abs(nt2::minus(nt2::real(a0), nt2::real(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::abs(nt2::minus(a0, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::abs(nt2::minus(a0, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::abs(nt2::minus(a0, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dist_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::abs(nt2::minus(a0, a1)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/floor.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/floor.hpp deleted file mode 100644 index a560e83..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/floor.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FLOOR_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( floor_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(nt2::floor(nt2::real(a0)),nt2::floor(nt2::imag(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( floor_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(nt2::floor(nt2::real(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/fma.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/fma.hpp deleted file mode 100644 index b8a9279..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/fma.hpp +++ /dev/null @@ -1,212 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FMA_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FMA_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// for optimize -#include - -namespace boost { namespace simd { namespace ext -{ - - - //0 ccc - BOOST_DISPATCH_IMPLEMENT ( fma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > > ) - (generic_ > > ) - ) - { - typedef A0 result_type; - typedef typename nt2::meta::as_real::type r_type; - NT2_FUNCTOR_CALL(3) - { - r_type r = fma(-nt2::imag(a1), nt2::imag(a0), fma(nt2::real(a0), nt2::real(a1), nt2::real(a2))); - r_type i = fma(nt2::real(a1), nt2::imag(a0), fma(nt2::real(a0), nt2::imag(a1), nt2::imag(a2))); - return checkr(a0, a1, a2, result_type(r, i)); - } - - static inline result_type checkr(const A0& a0, const A1& a1, const A2& a2, const result_type& res) - { -#ifdef BOOST_SIMD_NO_INVALIDS - return res; -#else - if(nt2::any(is_invalid(res))) - { - result_type z = nt2::multiplies(a0, a1); - z+=a2; - return if_else(is_invalid(res), z, res); - } - return res; -#endif - - } - }; - - - //8 acc - BOOST_DISPATCH_IMPLEMENT ( fma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > > ) - (generic_ > > ) - ) - { - typedef A1 result_type; - typedef typename nt2::meta::as_real::type r_type; - NT2_FUNCTOR_CALL(3) - { - r_type r = fma(a0, nt2::real(a1), nt2::real(a2)); - r_type i = fma(a0, nt2::imag(a1), nt2::imag(a2)); - return checkr(a0, a1, a2, r, i); - } - static inline result_type checkr(const A0& a0, const A1& a1, const A2& a2, r_type& r, r_type& i) - { -#ifdef BOOST_SIMD_NO_INVALIDS - return result_type(r, i); -#else - r = if_else(is_invalid(a0), - if_else(is_real(a1), - r, - if_else(nt2::is_imag(a1), nt2::real(a2),r)), - r - ); - i = if_else(is_invalid(a0), - if_else(is_real(a1), nt2::imag(a2), i), - i); - return result_type(r, i); -#endif - } - }; - - //9 cac - BOOST_DISPATCH_IMPLEMENT ( fma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > ) - (generic_ > > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(3) - { - return fma(a1, a0, a2); - } - }; - - //10 cca - BOOST_DISPATCH_IMPLEMENT ( fma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > > ) - (generic_ > ) - ) - { - typedef A0 result_type; - typedef typename nt2::meta::as_real::type r_type; - NT2_FUNCTOR_CALL(3) - { - r_type r =fma(-nt2::imag(a1), nt2::imag(a0), fma(nt2::real(a1), nt2::real(a0), a2)); - r_type i = fma(nt2::real(a1), nt2::imag(a0), nt2::real(a0)*nt2::imag(a1)); - return checkr(a0, a1, a2, r, i); - - } - static inline result_type checkr(const A0& a0, const A1& a1, const A2& a2, const r_type& r, const r_type& i) - { -#ifdef BOOST_SIMD_NO_INVALIDS - return result_type(r, i); -#else - BOOST_AUTO_TPL(test, nt2::logical_and(nt2::logical_and(nt2::is_real(a1), nt2::is_real(a0)), nt2::is_nez(i))); - BOOST_AUTO_TPL(testr, nt2::logical_and(logical_or(nt2::is_eqz(a1), is_eqz(a0)), - logical_and(logical_and(is_imag(a0), - is_imag(a1)), - nt2::is_invalid(r)))); - return result_type(if_else(testr, a2, r), nt2::if_zero_else(test, i)); -#endif - - } - }; - - //11 caa - BOOST_DISPATCH_IMPLEMENT ( fma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_< arithmetic_ > ) - (generic_< arithmetic_ > ) - ) - { - typedef A0 result_type; - typedef typename nt2::meta::as_real::type r_type; - NT2_FUNCTOR_CALL(3) - { - r_type r = fma(nt2::real(a0), a1, a2); - r_type i = nt2::imag(a0)*a1; - return checkr(a0, r, i); - } - static inline result_type checkr(const A0& a0, const r_type& r, const r_type& i) - { -#ifdef BOOST_SIMD_NO_INVALIDS - return result_type(r, i); -#else - BOOST_AUTO_TPL(test, nt2::logical_and(nt2::is_real(a0), nt2::is_nez(i))); - return result_type(r, nt2::if_zero_else(test, i)); -#endif - } - }; - - //12 aca - BOOST_DISPATCH_IMPLEMENT ( fma_, tag::cpu_, (A0)(A1)(A2) - , (generic_< arithmetic_ > ) - (generic_ > > ) - (generic_< arithmetic_ > ) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(3) - { - return fma(a1, a0, a2); - } - }; - - //13 aac - BOOST_DISPATCH_IMPLEMENT ( fma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > ) - (generic_ > > ) - ) - { - typedef A2 result_type; - NT2_FUNCTOR_CALL(3) - { - return result_type( fma(a0, a1, nt2::real(a2)) - , nt2::imag(a2) - ); - } - }; - - } } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/fms.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/fms.hpp deleted file mode 100644 index d1bda21..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/fms.hpp +++ /dev/null @@ -1,121 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FMS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FMS_HPP_INCLUDED - -#include -#include -#include - -// for optimize -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > > ) - (generic_ > > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > ) - (generic_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > > ) - (generic_ > ) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > ) - (generic_ > > ) - ) - { - typedef A2 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > > ) - (generic_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > > ) - (generic_ > > ) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > ) - (generic_ > > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a0 * a1 - a2; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/fnma.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/fnma.hpp deleted file mode 100644 index e510e94..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/fnma.hpp +++ /dev/null @@ -1,119 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FNMA_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FNMA_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fnma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > > ) - (generic_ > > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return - a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > ) - (generic_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return - a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > > ) - (generic_ > ) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return - a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > ) - (generic_ > > ) - ) - { - typedef A2 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return - a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > > ) - (generic_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return - a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > > ) - (generic_ > > ) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return - a0 * a1 - a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnma_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > ) - (generic_ > > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return - a0 * a1 - a2; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/fnms.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/fnms.hpp deleted file mode 100644 index 3c0f44c..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/fnms.hpp +++ /dev/null @@ -1,118 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FNMS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_FNMS_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fnms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > > ) - (generic_ > > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a2 - a1 * a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > ) - (generic_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a2 - a1 * a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > > ) - (generic_ > ) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a2 - a1 * a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > ) - (generic_ > > ) - ) - { - typedef A2 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a2 - a1 * a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > > ) - (generic_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a2 - a1 * a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > ) - (generic_ > > ) - (generic_ > > ) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a2 - a1 * a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fnms_, tag::cpu_, (A0)(A1)(A2) - , (generic_ > > ) - (generic_ > ) - (generic_ > > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a2 - a1 * a0; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/hypot.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/hypot.hpp deleted file mode 100644 index 966417d..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/hypot.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Hypotributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_HYPOT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_HYPOT_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hypot_, tag::cpu_, (A0)(A1) - , (generic_< complex_ < arithmetic_ > > ) - (generic_< complex_ < arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::hypot(nt2::abs(a0), nt2::abs(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hypot_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > > ) - (generic_< dry_ < arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::hypot(nt2::real(a0), nt2::real(a1)) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hypot_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::hypot(a0, nt2::abs(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hypot_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::hypot(a1, a0); - } - - }; - - BOOST_DISPATCH_IMPLEMENT ( hypot_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::hypot(a1, a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( hypot_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::hypot(a1, a0); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/inc.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/inc.hpp deleted file mode 100644 index 337368f..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/inc.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_INC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_INC_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( inc_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename nt2::meta::as_real::type rA0; - return result_type(nt2::real(a0)+One(),nt2::imag(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( inc_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(inc(nt2::real(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/max.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/max.hpp deleted file mode 100644 index 5b74dda..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/max.hpp +++ /dev/null @@ -1,151 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_MAX_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_MAX_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -// as matlab max for complex is first on magnitudes and if equality on arguments - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_, (A0)(A1) - , (generic_< complex_ < arithmetic_ > > ) - (generic_< complex_ < arithmetic_ > > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef typename nt2::meta::as_real::type rtype; - rtype absa0 = nt2::abs(a0); - rtype absa1 = nt2::abs(a1); - result_type r = select(gt(absa0, absa1), a0, a1); - return select(eq(absa0, absa1), select(gt(arg(a0), arg(a1)), a0, a1), r); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > > ) - (generic_< dry_ < arithmetic_ > > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef typename nt2::meta::as_real::type rtype; - rtype absa0 = nt2::abs(a0); - rtype absa1 = nt2::abs(a1); - result_type r = if_else(gt(absa0, absa1), a0, a1); - return if_else(eq(absa0, absa1), if_else(is_ltz(a0), a0, a1), r); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef A0 rtype; - rtype absa0 = nt2::abs(a0); - rtype absa1 = nt2::abs(a1); - result_type ca0 = result_type(nt2::real(a0)); - result_type r = select(gt(absa0, absa1), ca0, a1); - return select(eq(absa0, absa1), select(gt(arg(a0), arg(a1)), ca0, a1), r); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::max(nt2::real(a0), a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef A1 rtype; - rtype absa0 = nt2::abs(a0); - rtype absa1 = nt2::abs(a1); - result_type ca1 = result_type(a1); - result_type r = select(gt(absa0, absa1), a0, ca1); - return select(eq(absa0, absa1), select(gt(arg(a0), arg(a1)), a0, ca1), r); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::max(a0, nt2::real(a1)); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< arithmetic_ >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return max(a0, bitwise_cast(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return max(bitwise_cast(a0), a1); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/meanof.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/meanof.hpp deleted file mode 100644 index 3bf86b5..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/meanof.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Averageributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_MEANOF_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_MEANOF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( meanof_, tag::cpu_, (A0)(A1) - , (generic_< complex_ < arithmetic_ > > ) - (generic_< complex_ < arithmetic_ > > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(meanof(nt2::real(a0), nt2::real(a1)),meanof(nt2::imag(a0), nt2::imag(a1))) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( meanof_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > > ) - (generic_< dry_ < arithmetic_ > > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(meanof(nt2::real(a0), nt2::real(a1))) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( meanof_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(meanof(nt2::real(a0), nt2::real(a1)),nt2::imag(a1)*Half()) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( meanof_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef typename nt2::meta::as_real::type rtype; - return result_type(meanof(nt2::real(a0), nt2::real(a1)),nt2::imag(a1)*Half()) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( meanof_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(meanof(nt2::real(a0), nt2::real(a1)),nt2::imag(a0)*Half()) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( meanof_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef typename nt2::meta::as_real::type rtype; - return result_type(meanof(nt2::real(a0), nt2::real(a1)),nt2::imag(a0)*Half()) ; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/min.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/min.hpp deleted file mode 100644 index 3d90d81..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/min.hpp +++ /dev/null @@ -1,154 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Disributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_MIN_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_MIN_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -// as matlab min for complex is first on magnitudes and if equality on arguments - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_, (A0)(A1) - , (generic_< complex_ < arithmetic_ > > ) - (generic_< complex_ < arithmetic_ > > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef typename nt2::meta::as_real::type rtype; - rtype absa0 = nt2::abs(a0); - rtype absa1 = nt2::abs(a1); - result_type r = select(lt(absa0, absa1), a0, a1); - return select(eq(absa0, absa1), select(lt(arg(a0), arg(a1)), a0, a1), r); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > > ) - (generic_< dry_ < arithmetic_ > > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef typename nt2::meta::as_real::type rtype; - rtype absa0 = nt2::abs(a0); - rtype absa1 = nt2::abs(a1); - result_type r = if_else(lt(absa0, absa1), a0, a1); - return if_else(eq(absa0, absa1), if_else(is_gtz(a0), a0, a1), r); - } - }; - - - - - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef A0 rtype; - rtype absa0 = nt2::abs(a0); - rtype absa1 = nt2::abs(a1); - result_type ca0 = result_type(a0); - result_type r = select(lt(absa0, absa1), ca0, a1); - return select(eq(absa0, absa1), select(lt(arg(a0), arg(a1)), ca0, a1), r); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_, (A0)(A1) - , (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::min(nt2::real(a0), a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - typedef A1 rtype; - rtype absa0 = nt2::abs(a0); - rtype absa1 = nt2::abs(a1); - result_type ca1 = result_type(a1); - result_type r = select(lt(absa0, absa1), a0, ca1); - return select(eq(absa0, absa1), select(lt(arg(a0), arg(a1)), a0, ca1), r); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - - ) - { - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::min(a0, nt2::real(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< arithmetic_ >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return min(a0, bitwise_cast(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return min(bitwise_cast(a0), a1); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/minusone.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/minusone.hpp deleted file mode 100644 index 05fbff2..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/minusone.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_MINUSONE_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_MINUSONE_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minusone_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(minusone(nt2::real(a0)),nt2::imag(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minusone_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(minusone(nt2::real(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/oneminus.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/oneminus.hpp deleted file mode 100644 index 0151b6a..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/oneminus.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ONEMINUS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ONEMINUS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( oneminus_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(oneminus(nt2::real(a0)),-nt2::imag(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( oneminus_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(oneminus(nt2::real(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/oneplus.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/oneplus.hpp deleted file mode 100644 index 81c8e53..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/oneplus.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ONEPLUS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ONEPLUS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( oneplus_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(oneplus(nt2::real(a0)),nt2::imag(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( oneplus_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename nt2::meta::as_dry::type result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(oneplus(nt2::real(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/rec.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/rec.hpp deleted file mode 100644 index 7f0df91..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/rec.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_REC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rec_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename boost::dispatch::meta::as_integer::type itype; - rtype rr = nt2::abs(nt2::real(a0)); - rtype ii = nt2::abs(nt2::imag(a0)); - itype e = -if_else(lt(rr, ii), exponent(ii), exponent(rr)); - A0 aa0 = nt2::ldexp(a0, e); - rtype denom = sqr_abs(aa0); - A0 num = conj(aa0); - A0 r = ldexp(num/denom, e); - r = if_else(is_eqz(denom), result_type(copysign(Inf(), nt2::real(a0)), Zero()), r); - if (nt2::all(is_finite(a0))) return r; - r = if_else(is_inf(a0), result_type(rec(copysign(denom, nt2::real(a0))), Zero()), r); - r = if_else(is_imag(a0), result_type(Zero(), nt2::imag(r)), r); - r = if_else(is_real(a0), result_type(nt2::real(r)), r); - return r; - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( rec_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(nt2::rec(nt2::real(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/round.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/round.hpp deleted file mode 100644 index 24909d4..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/round.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ROUND_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(round(nt2::real(a0)),round(nt2::imag(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(nt2::round(nt2::real(a0))); - } - }; - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< integer_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(round(nt2::real(a0), a1),round(nt2::imag(a0), a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< integer_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(nt2::round(nt2::real(a0), a1)); - } - }; - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(round(nt2::real(a0), a1),round(nt2::imag(a0), a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( round_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(nt2::round(nt2::real(a0), a1)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/round2even.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/round2even.hpp deleted file mode 100644 index a606cae..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/round2even.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_ROUND2EVEN_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( round2even_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(round2even(nt2::real(a0)),round2even(nt2::imag(a0))); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( round2even_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(nt2::round2even(nt2::real(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/rsqrt.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/rsqrt.hpp deleted file mode 100644 index a8cc802..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/rsqrt.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_RSQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_RSQRT_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rsqrt_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return rec(sqrt(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rsqrt_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(1) - { - const rA0 root = rsqrt(nt2::abs(a0)); - return if_else( is_nltz( nt2::real(a0)) - , result_type(root) - , result_type(Zero(), -root) - ); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/sqr.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/sqr.hpp deleted file mode 100644 index 319dd19..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/sqr.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_SQR_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_SQR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sqr_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type lA0; - rA0 x = sqr(nt2::real(a0)) - sqr(nt2::imag(a0)); - rA0 y = Two()*nt2::real(a0)*nt2::imag(a0); - result_type r = result_type(x, y); - if (nt2::any(logical_or(is_invalid(x), is_invalid(y)))) - { - lA0 test = is_real(a0); - r = if_else(test, result_type(sqr(nt2::real(a0))), r); - test = logical_andnot(is_imag(a0), test); - r = if_else(test, result_type(-sqr(nt2::imag(a0))), r); - } - return r; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqr_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(nt2::sqr(nt2::real(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/sqr_abs.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/sqr_abs.hpp deleted file mode 100644 index 9d414d1..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/sqr_abs.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_SQR_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_SQR_ABS_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( sqr_abs_, tag::cpu_, (A0) - , (generic_< complex_< floating_ > >) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(1) - { - return sqr(nt2::real(a0)) + sqr(nt2::imag(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqr_abs_, tag::cpu_, (A0) - , (generic_< dry_< floating_ > >) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(1) - { - return sqr(nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/sqrt.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/sqrt.hpp deleted file mode 100644 index 60da373..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/sqrt.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_SQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sqrt_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - //always compute the sqroot of the complex with positive nt2::imag part - //then conjugate if necessary - typedef typename nt2::meta::as_real::type rtype; - typedef typename meta::as_logical::type ltype; - rtype ia0 = nt2::imag(a0); - ltype negimag = is_ltz(ia0); - rtype x = nt2::abs(nt2::real(a0)); - rtype y = nt2::abs(ia0); - rtype iaa0 = negif(negimag, ia0); // always >= 0 or -Nan - ltype gtxy = gt(x, y); - ltype gezra0 = is_gez(nt2::real(a0)); - rtype r = if_else(gtxy, y/x, x/y); - rtype rr= nt2::sqrt(oneplus(sqr(r))); - rtype sqrtx = sqrt(x); - rtype w = if_else(gtxy, - sqrtx*sqrt(Half()*oneplus(rr)), - sqrt(y)*sqrt(Half()*(r+rr))); - // A0 z = result_type(w, iaa0*Half()/w); - A0 z = if_else(is_real(a0), - result_type(sqrtx,Zero()), - result_type(w, iaa0*Half()/w) - ); - z = if_else(gezra0, z, result_type(nt2::imag(z), nt2::real(z))); - if (nt2::all(is_finite(z))) return if_else(negimag, conj(z), z); - z = if_else(eq(iaa0, Inf()), - result_type(Inf(), Inf()), - z); - z = if_else(logical_andnot(eq(nt2::real(a0), Minf()), is_nan(iaa0)), - result_type(if_else_zero(eq(iaa0, Inf()), iaa0), - Inf() - ), - z); - z = if_else(logical_and(is_real(a0), is_nan(a0)), a0, z); - z = if_else(logical_or(is_nan(nt2::real(a0)), is_nan(nt2::imag(a0))), result_type(Nan(), Nan()), z); - z = if_else(logical_and(is_real(a0), is_gez(nt2::real(a0))), result_type(nt2::real(z)), z); - return if_else(negimag, conj(z), z); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(1) - { - const rtype root = nt2::sqrt(nt2::abs(nt2::real(a0))); - return if_else(is_ltz(a0), - result_type(Zero(), root), - result_type(root)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/generic/trunc.hpp b/inst/include/nt2/arithmetic/functions/complex/generic/trunc.hpp deleted file mode 100644 index 9f60709..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/generic/trunc.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_TRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_GENERIC_TRUNC_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( trunc_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(trunc(nt2::real(a0)),trunc(nt2::imag(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( trunc_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(nt2::trunc(nt2::real(a0))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/complex/scalar/sqrt.hpp b/inst/include/nt2/arithmetic/functions/complex/scalar/sqrt.hpp deleted file mode 100644 index 3bd5e85..0000000 --- a/inst/include/nt2/arithmetic/functions/complex/scalar/sqrt.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_COMPLEX_SCALAR_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_COMPLEX_SCALAR_SQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include - -namespace boost { namespace simd { namespace ext -{ -// BOOST_DISPATCH_IMPLEMENT ( sqrt_, tag::cpu_, (A0) -// , (scalar_< complex_< arithmetic_ > >) -// ) -// { -// typedef A0 result_type; -// NT2_FUNCTOR_CALL(1) -// { -// return std::sqrt(a0); //erroneous in 4.6 for inf*i -// } -// }; - - - BOOST_DISPATCH_IMPLEMENT ( sqrt_, tag::cpu_, (A0) - , (scalar_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(1) - { - const rA0 root = nt2::sqrt(nt2::abs(nt2::real(a0))); - return if_else(is_ltz(a0), - result_type(Zero(), root), - result_type(root, Zero())); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/conj.hpp b/inst/include/nt2/arithmetic/functions/conj.hpp deleted file mode 100644 index b1e0e56..0000000 --- a/inst/include/nt2/arithmetic/functions/conj.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CONJ_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CONJ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::conj_} **/ - struct conj_ {}; - #endif - using boost::simd::tag::conj_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::conj} **/ - template - details::unspecified conj(Args&&... args); - #endif - using boost::simd::conj; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/container/conj.hpp b/inst/include/nt2/arithmetic/functions/container/conj.hpp deleted file mode 100644 index c895780..0000000 --- a/inst/include/nt2/arithmetic/functions/container/conj.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CONTAINER_CONJ_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CONTAINER_CONJ_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // conj optimizations - BOOST_DISPATCH_IMPLEMENT ( conj_, tag::cpu_ - , (A0) - , ((node_, nt2::container::domain>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), nt2::ctranspose(boost::proto::child_c<0>(a0))) - }; - - BOOST_DISPATCH_IMPLEMENT ( conj_, tag::cpu_ - , (A0) - , ((node_, nt2::container::domain>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), nt2::transpose(boost::proto::child_c<0>(a0))) - }; - - BOOST_DISPATCH_IMPLEMENT ( conj_, tag::cpu_ - , (A0) - , ((node_, nt2::container::domain>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), boost::proto::child_c<0>(a0)) - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/container/max.hpp b/inst/include/nt2/arithmetic/functions/container/max.hpp deleted file mode 100644 index 1489190..0000000 --- a/inst/include/nt2/arithmetic/functions/container/max.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CONTAINER_MAX_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CONTAINER_MAX_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::max_, max, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::max_, max, 3) -} - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename boost::dispatch::meta::call< nt2::tag::maximum_(A0 const&)>::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0) const - { - return nt2::maximum(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_ - , (A0)(A1)(A2) - , (unspecified_) - (unspecified_) - (scalar_< integer_ >) - ) - { - typedef typename boost::dispatch::meta::call< nt2::tag::maximum_(A0 const&, A2 const&)>::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - BOOST_ASSERT_MSG - ( nt2::numel(a1) == 0 - , "??? Error using ==> max\n" - "MAX with two matrices to compare and a working dimension is not supported." - ); - - return nt2::maximum(a0,a2); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/container/min.hpp b/inst/include/nt2/arithmetic/functions/container/min.hpp deleted file mode 100644 index b893953..0000000 --- a/inst/include/nt2/arithmetic/functions/container/min.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CONTAINER_MIN_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CONTAINER_MIN_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::min_, min, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::min_, min, 3) -} - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename boost::dispatch::meta::call< nt2::tag::minimum_(A0 const&)>::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0) const - { - return nt2::minimum(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( min_, tag::cpu_ - , (A0)(A1)(A2) - , (unspecified_) - (unspecified_) - (scalar_< integer_ >) - ) - { - typedef typename boost::dispatch::meta::call< nt2::tag::minimum_(A0 const&, A2 const&)>::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - BOOST_ASSERT_MSG - ( nt2::numel(a1) == 0 - , "??? Error using ==> min\n" - "MIN with two matrices to compare and a working dimension is not supported." - ); - - return nt2::minimum(a0,a2); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/container/remquo.hpp b/inst/include/nt2/arithmetic/functions/container/remquo.hpp deleted file mode 100644 index 8e39668..0000000 --- a/inst/include/nt2/arithmetic/functions/container/remquo.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CONTAINER_REMQUO_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CONTAINER_REMQUO_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( remquo_, tag::cpu_ - , (A0)(A1)(A2)(A3) - , ((ast_)) - ((ast_)) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A1 const& a1,A2 & r0,A3& r1) const - { - nt2::tie(r0,r1) = nt2::remquo(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( remquo_, tag::cpu_ - , (A0)(S0)(A1)(A2) - , ((ast_)) - (scalar_< unspecified_ >) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,S0 const& a1,A1 & r0,A2& r1) const - { - nt2::tie(r0,r1) = nt2::remquo(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( remquo_, tag::cpu_ - , (A0)(S0)(A1)(A2) - , (scalar_< unspecified_ >) - ((ast_)) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - BOOST_FORCEINLINE - result_type operator()(S0 const& a0,A0 const& a1,A1 & r0,A2& r1) const - { - nt2::tie(r0,r1) = nt2::remquo(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( remquo_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - ((ast_)) - (unspecified_) - ) - { - typedef typename boost::dispatch::meta::terminal_of::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,A1 const& a1,A2& r1) const - { - result_type r0; - nt2::tie(r0,r1) = nt2::remquo(a0,a1); - return r0; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/container/two_add.hpp b/inst/include/nt2/arithmetic/functions/container/two_add.hpp deleted file mode 100644 index 6fd6e5a..0000000 --- a/inst/include/nt2/arithmetic/functions/container/two_add.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CONTAINER_TWO_ADD_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CONTAINER_TWO_ADD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( two_add_, tag::cpu_ - , (A0)(A1)(A2)(A3) - , ((ast_)) - ((ast_)) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0,A1 const& a1,A2 & r0,A3& r1) const - { - nt2::tie(r0,r1) = nt2::two_add(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_add_, tag::cpu_ - , (A0)(S0)(A1)(A2) - , ((ast_)) - (scalar_< unspecified_ >) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - BOOST_FORCEINLINE - result_type operator()(A0 const& a0,S0 const& a1,A1 & r0,A2& r1) const - { - nt2::tie(r0,r1) = nt2::two_add(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_add_, tag::cpu_ - , (A0)(S0)(A1)(A2) - , (scalar_< unspecified_ >) - ((ast_)) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(S0 const& a0,A0 const& a1,A1 & r0,A2& r1) const - { - nt2::tie(r0,r1) = nt2::two_add(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_add_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - ((ast_)) - (unspecified_) - ) - { - typedef typename boost::dispatch::meta::terminal_of::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0,A1 const& a1,A2& r1) const - { - result_type r0; - nt2::tie(r0,r1) = nt2::two_add(a0,a1); - return r0; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/container/two_prod.hpp b/inst/include/nt2/arithmetic/functions/container/two_prod.hpp deleted file mode 100644 index b558ebc..0000000 --- a/inst/include/nt2/arithmetic/functions/container/two_prod.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CONTAINER_TWO_PROD_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CONTAINER_TWO_PROD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( two_prod_, tag::cpu_ - , (A0)(A1)(A2)(A3) - , ((ast_)) - ((ast_)) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0,A1 const& a1,A2 & r0,A3& r1) const - { - nt2::tie(r0,r1) = nt2::two_prod(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_prod_, tag::cpu_ - , (A0)(S0)(A1)(A2) - , ((ast_)) - (scalar_< unspecified_ >) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0,S0 const& a1,A1 & r0,A2& r1) const - { - nt2::tie(r0,r1) = nt2::two_prod(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_prod_, tag::cpu_ - , (A0)(S0)(A1)(A2) - , (scalar_< unspecified_ >) - ((ast_)) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(S0 const& a0,A0 const& a1,A1 & r0,A2& r1) const - { - nt2::tie(r0,r1) = nt2::two_prod(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_prod_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - ((ast_)) - (unspecified_) - ) - { - typedef typename boost::dispatch::meta::terminal_of::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0,A1 const& a1,A2& r1) const - { - result_type r0; - nt2::tie(r0,r1) = nt2::two_prod(a0,a1); - return r0; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/container/two_split.hpp b/inst/include/nt2/arithmetic/functions/container/two_split.hpp deleted file mode 100644 index 312ce65..0000000 --- a/inst/include/nt2/arithmetic/functions/container/two_split.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CONTAINER_TWO_SPLIT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CONTAINER_TWO_SPLIT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( two_split_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0,A1 & r0,A2& r1) const - { - nt2::tie(r0,r1) = nt2::two_split(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( two_split_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (unspecified_) - ) - { - typedef typename boost::dispatch::meta::terminal_of::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0,A1& r1) const - { - result_type r0; - nt2::tie(r0,r1) = nt2::two_split(a0); - return r0; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/correct_fma.hpp b/inst/include/nt2/arithmetic/functions/correct_fma.hpp deleted file mode 100644 index 40f1305..0000000 --- a/inst/include/nt2/arithmetic/functions/correct_fma.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::correct_fma_} **/ - struct correct_fma_ {}; - #endif - using boost::simd::tag::correct_fma_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::correct_fma} **/ - template - details::unspecified correct_fma(Args&&... args); - #endif - using boost::simd::correct_fma; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/dec.hpp b/inst/include/nt2/arithmetic/functions/dec.hpp deleted file mode 100644 index 1de12d2..0000000 --- a/inst/include/nt2/arithmetic/functions/dec.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_DEC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_DEC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::dec_} **/ - struct dec_ {}; - #endif - using boost::simd::tag::dec_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::dec} **/ - template - details::unspecified dec(Args&&... args); - #endif - using boost::simd::dec; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/dist.hpp b/inst/include/nt2/arithmetic/functions/dist.hpp deleted file mode 100644 index f1575ed..0000000 --- a/inst/include/nt2/arithmetic/functions/dist.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_DIST_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_DIST_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::dist_} **/ - struct dist_ {}; - #endif - using boost::simd::tag::dist_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::dist} **/ - template - details::unspecified dist(Args&&... args); - #endif - using boost::simd::dist; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/divceil.hpp b/inst/include/nt2/arithmetic/functions/divceil.hpp deleted file mode 100644 index f5d8b8c..0000000 --- a/inst/include/nt2/arithmetic/functions/divceil.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_DIVCEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_DIVCEIL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::divceil_} **/ - struct divceil_ {}; - #endif - using boost::simd::tag::divceil_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::divceil} **/ - template - details::unspecified divceil(Args&&... args); - #endif - using boost::simd::divceil; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/divfix.hpp b/inst/include/nt2/arithmetic/functions/divfix.hpp deleted file mode 100644 index 99e029b..0000000 --- a/inst/include/nt2/arithmetic/functions/divfix.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_DIVFIX_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_DIVFIX_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::divfix_} **/ - struct divfix_ {}; - #endif - using boost::simd::tag::divfix_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::divfix} **/ - template - details::unspecified divfix(Args&&... args); - #endif - using boost::simd::divfix; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/divfloor.hpp b/inst/include/nt2/arithmetic/functions/divfloor.hpp deleted file mode 100644 index d774ea8..0000000 --- a/inst/include/nt2/arithmetic/functions/divfloor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_DIVFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_DIVFLOOR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::divfloor_} **/ - struct divfloor_ {}; - #endif - using boost::simd::tag::divfloor_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::divfloor} **/ - template - details::unspecified divfloor(Args&&... args); - #endif - using boost::simd::divfloor; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/divround.hpp b/inst/include/nt2/arithmetic/functions/divround.hpp deleted file mode 100644 index b8b9bf2..0000000 --- a/inst/include/nt2/arithmetic/functions/divround.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_DIVROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_DIVROUND_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::divround_} **/ - struct divround_ {}; - #endif - using boost::simd::tag::divround_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::divround} **/ - template - details::unspecified divround(Args&&... args); - #endif - using boost::simd::divround; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/divround2even.hpp b/inst/include/nt2/arithmetic/functions/divround2even.hpp deleted file mode 100644 index 87463f5..0000000 --- a/inst/include/nt2/arithmetic/functions/divround2even.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::divround2even_} **/ - struct divround2even_ {}; - #endif - using boost::simd::tag::divround2even_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::divround2even} **/ - template - details::unspecified divround2even(Args&&... args); - #endif - using boost::simd::divround2even; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/divs.hpp b/inst/include/nt2/arithmetic/functions/divs.hpp deleted file mode 100644 index 76dd3df..0000000 --- a/inst/include/nt2/arithmetic/functions/divs.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_DIVS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_DIVS_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::divs_; - } - - using boost::simd::divs; - using boost::simd::saturated_div; - using boost::simd::rdivide; - using boost::simd::ldivide; - using boost::simd::ldiv; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/expr/center.hpp b/inst/include/nt2/arithmetic/functions/expr/center.hpp deleted file mode 100644 index 154fbe8..0000000 --- a/inst/include/nt2/arithmetic/functions/expr/center.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_EXPR_CENTER_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_EXPR_CENTER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( center_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - nt2::bsxfun(nt2::functor(), a0, nt2::mean(a0)) - ) - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( center_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ > ) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, const A1& a1), - nt2::bsxfun(nt2::functor(), a0, nt2::mean(a0, a1)) - ) - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( center_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - nt2::bsxfun(nt2::functor(), a0, nt2::wmean(a0, a1)) - ) - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( center_, tag::cpu_, - (A0)(A1)(A2), - ((ast_))((ast_)) - (scalar_ > ) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, const A1& a1, const A2& a2), - nt2::bsxfun(nt2::functor(), a0, nt2::wmean(a0, a1, a2)) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/expr/linear_interp.hpp b/inst/include/nt2/arithmetic/functions/expr/linear_interp.hpp deleted file mode 100644 index 870a1ef..0000000 --- a/inst/include/nt2/arithmetic/functions/expr/linear_interp.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_EXPR_LINEAR_INTERP_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_EXPR_LINEAR_INTERP_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( linear_interp_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef typename meta::call::type T0; - typedef typename meta::call::type T1; - typedef typename meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& dx, A1 const& a, A2 const& b) const - { - return nt2::sx(nt2::tag::fma_(), dx, b, nt2::sx(nt2::tag::multiplies_(), nt2::oneminus(dx), a)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( linear_interp_, tag::cpu_, - (A0)(A1)(A2), - (generic_ >) - (unspecified_) - (unspecified_) - ) - { - typedef typename meta::call::type T0; - typedef typename meta::call::type T1; - typedef typename meta::call::type T2; - typedef typename meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& dx, A1 const& a, A2 const& b) const - { - return nt2::sx(nt2::tag::plus_(), dx*b, nt2::oneminus(dx)*a); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fast_hypot.hpp b/inst/include/nt2/arithmetic/functions/fast_hypot.hpp deleted file mode 100644 index 523bf15..0000000 --- a/inst/include/nt2/arithmetic/functions/fast_hypot.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fast_hypot_} **/ - struct fast_hypot_ {}; - #endif - using boost::simd::tag::fast_hypot_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fast_hypot} **/ - template - details::unspecified fast_hypot(Args&&... args); - #endif - using boost::simd::fast_hypot; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fast_iround2even.hpp b/inst/include/nt2/arithmetic/functions/fast_iround2even.hpp deleted file mode 100644 index 75c8e21..0000000 --- a/inst/include/nt2/arithmetic/functions/fast_iround2even.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fast_iround2even_} **/ - struct fast_iround2even_ {}; - #endif - using boost::simd::tag::fast_iround2even_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fast_iround2even} **/ - template - details::unspecified fast_iround2even(Args&&... args); - #endif - using boost::simd::fast_iround2even; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fast_rec.hpp b/inst/include/nt2/arithmetic/functions/fast_rec.hpp deleted file mode 100644 index 2e3d752..0000000 --- a/inst/include/nt2/arithmetic/functions/fast_rec.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FAST_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FAST_REC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fast_rec_} **/ - struct fast_rec_ {}; - #endif - using boost::simd::tag::fast_rec_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fast_rec} **/ - template - details::unspecified fast_rec(Args&&... args); - #endif - using boost::simd::fast_rec; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fast_rsqrt.hpp b/inst/include/nt2/arithmetic/functions/fast_rsqrt.hpp deleted file mode 100644 index 2ec7e3c..0000000 --- a/inst/include/nt2/arithmetic/functions/fast_rsqrt.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fast_rsqrt_} **/ - struct fast_rsqrt_ {}; - #endif - using boost::simd::tag::fast_rsqrt_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fast_rsqrt} **/ - template - details::unspecified fast_rsqrt(Args&&... args); - #endif - using boost::simd::fast_rsqrt; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fast_sqrt.hpp b/inst/include/nt2/arithmetic/functions/fast_sqrt.hpp deleted file mode 100644 index 275f497..0000000 --- a/inst/include/nt2/arithmetic/functions/fast_sqrt.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FAST_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FAST_SQRT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fast_sqrt_} **/ - struct fast_sqrt_ {}; - #endif - using boost::simd::tag::fast_sqrt_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fast_sqrt} **/ - template - details::unspecified fast_sqrt(Args&&... args); - #endif - using boost::simd::fast_sqrt; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fast_toint.hpp b/inst/include/nt2/arithmetic/functions/fast_toint.hpp deleted file mode 100644 index c822b6f..0000000 --- a/inst/include/nt2/arithmetic/functions/fast_toint.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FAST_TOINT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FAST_TOINT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fast_toint_} **/ - struct fast_toint_ {}; - #endif - using boost::simd::tag::fast_toint_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fast_toint} **/ - template - details::unspecified fast_toint(Args&&... args); - #endif - using boost::simd::fast_toint; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fast_trunc.hpp b/inst/include/nt2/arithmetic/functions/fast_trunc.hpp deleted file mode 100644 index 8a1c3a1..0000000 --- a/inst/include/nt2/arithmetic/functions/fast_trunc.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fast_trunc_} **/ - struct fast_trunc_ {}; - #endif - using boost::simd::tag::fast_trunc_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fast_trunc} **/ - template - details::unspecified fast_trunc(Args&&... args); - #endif - using boost::simd::fast_trunc; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/floor.hpp b/inst/include/nt2/arithmetic/functions/floor.hpp deleted file mode 100644 index 18473f4..0000000 --- a/inst/include/nt2/arithmetic/functions/floor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FLOOR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::floor_} **/ - struct floor_ {}; - #endif - using boost::simd::tag::floor_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::floor} **/ - template - details::unspecified floor(Args&&... args); - #endif - using boost::simd::floor; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fma.hpp b/inst/include/nt2/arithmetic/functions/fma.hpp deleted file mode 100644 index 3c1cc9d..0000000 --- a/inst/include/nt2/arithmetic/functions/fma.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FMA_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FMA_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::fma_; - } - - using boost::simd::fma; - using boost::simd::fam; - using boost::simd::madd; - using boost::simd::amul; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fms.hpp b/inst/include/nt2/arithmetic/functions/fms.hpp deleted file mode 100644 index 7f2fd50..0000000 --- a/inst/include/nt2/arithmetic/functions/fms.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FMS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FMS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fms_} **/ - struct fms_ {}; - #endif - using boost::simd::tag::fms_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fms} **/ - template - details::unspecified fms(Args&&... args); - #endif - using boost::simd::fms; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fnma.hpp b/inst/include/nt2/arithmetic/functions/fnma.hpp deleted file mode 100644 index 7421b97..0000000 --- a/inst/include/nt2/arithmetic/functions/fnma.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FNMA_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FNMA_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fnma_} **/ - struct fnma_ {}; - #endif - using boost::simd::tag::fnma_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fnma} **/ - template - details::unspecified fnma(Args&&... args); - #endif - using boost::simd::fnma; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/fnms.hpp b/inst/include/nt2/arithmetic/functions/fnms.hpp deleted file mode 100644 index ceb2b12..0000000 --- a/inst/include/nt2/arithmetic/functions/fnms.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_FNMS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_FNMS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::fnms_} **/ - struct fnms_ {}; - #endif - using boost::simd::tag::fnms_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::fnms} **/ - template - details::unspecified fnms(Args&&... args); - #endif - using boost::simd::fnms; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/generic/linear_interp.hpp b/inst/include/nt2/arithmetic/functions/generic/linear_interp.hpp deleted file mode 100644 index ebe311d..0000000 --- a/inst/include/nt2/arithmetic/functions/generic/linear_interp.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_GENERIC_LINEAR_INTERP_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_GENERIC_LINEAR_INTERP_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( linear_interp_, tag::cpu_, - (A0)(A1)(A2), - (generic_ >) - (generic_ >) - (generic_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& dx, A1 const& a, A2 const& b ) const - { - return nt2::fma(dx, a, nt2::oneminus(dx)*b); - } - }; -} } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/hypot.hpp b/inst/include/nt2/arithmetic/functions/hypot.hpp deleted file mode 100644 index 5073bba..0000000 --- a/inst/include/nt2/arithmetic/functions/hypot.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_HYPOT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_HYPOT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::hypot_} **/ - struct hypot_ {}; - #endif - using boost::simd::tag::hypot_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::hypot} **/ - template - details::unspecified hypot(Args&&... args); - #endif - using boost::simd::hypot; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/iceil.hpp b/inst/include/nt2/arithmetic/functions/iceil.hpp deleted file mode 100644 index 1dc1bae..0000000 --- a/inst/include/nt2/arithmetic/functions/iceil.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_ICEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_ICEIL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::iceil_} **/ - struct iceil_ {}; - #endif - using boost::simd::tag::iceil_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::iceil} **/ - template - details::unspecified iceil(Args&&... args); - #endif - using boost::simd::iceil; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/idivceil.hpp b/inst/include/nt2/arithmetic/functions/idivceil.hpp deleted file mode 100644 index 4bb7d28..0000000 --- a/inst/include/nt2/arithmetic/functions/idivceil.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_IDIVCEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_IDIVCEIL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::idivceil_} **/ - struct idivceil_ {}; - #endif - using boost::simd::tag::idivceil_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::idivceil} **/ - template - details::unspecified idivceil(Args&&... args); - #endif - using boost::simd::idivceil; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/idivfix.hpp b/inst/include/nt2/arithmetic/functions/idivfix.hpp deleted file mode 100644 index cb081e1..0000000 --- a/inst/include/nt2/arithmetic/functions/idivfix.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_IDIVFIX_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_IDIVFIX_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::idivfix_} **/ - struct idivfix_ {}; - #endif - using boost::simd::tag::idivfix_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::idivfix} **/ - template - details::unspecified idivfix(Args&&... args); - #endif - using boost::simd::idivfix; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/idivfloor.hpp b/inst/include/nt2/arithmetic/functions/idivfloor.hpp deleted file mode 100644 index 9323002..0000000 --- a/inst/include/nt2/arithmetic/functions/idivfloor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::idivfloor_} **/ - struct idivfloor_ {}; - #endif - using boost::simd::tag::idivfloor_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::idivfloor} **/ - template - details::unspecified idivfloor(Args&&... args); - #endif - using boost::simd::idivfloor; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/idivround.hpp b/inst/include/nt2/arithmetic/functions/idivround.hpp deleted file mode 100644 index 5a7d1a5..0000000 --- a/inst/include/nt2/arithmetic/functions/idivround.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_IDIVROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_IDIVROUND_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::idivround_} **/ - struct idivround_ {}; - #endif - using boost::simd::tag::idivround_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::idivround} **/ - template - details::unspecified idivround(Args&&... args); - #endif - using boost::simd::idivround; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/idivround2even.hpp b/inst/include/nt2/arithmetic/functions/idivround2even.hpp deleted file mode 100644 index b512747..0000000 --- a/inst/include/nt2/arithmetic/functions/idivround2even.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::idivround2even_} **/ - struct idivround2even_ {}; - #endif - using boost::simd::tag::idivround2even_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::idivround2even} **/ - template - details::unspecified idivround2even(Args&&... args); - #endif - using boost::simd::idivround2even; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/ifloor.hpp b/inst/include/nt2/arithmetic/functions/ifloor.hpp deleted file mode 100644 index 6c4cb82..0000000 --- a/inst/include/nt2/arithmetic/functions/ifloor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_IFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_IFLOOR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ifloor_} **/ - struct ifloor_ {}; - #endif - using boost::simd::tag::ifloor_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ifloor} **/ - template - details::unspecified ifloor(Args&&... args); - #endif - using boost::simd::ifloor; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/inc.hpp b/inst/include/nt2/arithmetic/functions/inc.hpp deleted file mode 100644 index 2659f1f..0000000 --- a/inst/include/nt2/arithmetic/functions/inc.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_INC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_INC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::inc_} **/ - struct inc_ {}; - #endif - using boost::simd::tag::inc_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::inc} **/ - template - details::unspecified inc(Args&&... args); - #endif - using boost::simd::inc; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/iround.hpp b/inst/include/nt2/arithmetic/functions/iround.hpp deleted file mode 100644 index 1764d8a..0000000 --- a/inst/include/nt2/arithmetic/functions/iround.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_IROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_IROUND_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::iround_} **/ - struct iround_ {}; - #endif - using boost::simd::tag::iround_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::iround} **/ - template - details::unspecified iround(Args&&... args); - #endif - using boost::simd::iround; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/iround2even.hpp b/inst/include/nt2/arithmetic/functions/iround2even.hpp deleted file mode 100644 index 77483a3..0000000 --- a/inst/include/nt2/arithmetic/functions/iround2even.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::iround2even_} **/ - struct iround2even_ {}; - #endif - using boost::simd::tag::iround2even_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::iround2even} **/ - template - details::unspecified iround2even(Args&&... args); - #endif - using boost::simd::iround2even; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/linear_interp.hpp b/inst/include/nt2/arithmetic/functions/linear_interp.hpp deleted file mode 100644 index 3698bf2..0000000 --- a/inst/include/nt2/arithmetic/functions/linear_interp.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_LINEAR_INTERP_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_LINEAR_INTERP_HPP_INCLUDED - -/*! - @file - @brief Define and implements the linear_interp function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for liner_interp functor - **/ - struct linear_interp_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_linear_interp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_linear_interp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_linear_interp_; - } - - /*! - Returns sx-expansion of (1-dx)*a+dx*b - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::linear_interp_, linear_interp, 3) -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/logical_xor.hpp b/inst/include/nt2/arithmetic/functions/logical_xor.hpp deleted file mode 100644 index d28d985..0000000 --- a/inst/include/nt2/arithmetic/functions/logical_xor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::logical_xor_} **/ - struct logical_xor_ {}; - #endif - using boost::simd::tag::logical_xor_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::logical_xor} **/ - template - details::unspecified logical_xor(Args&&... args); - #endif - using boost::simd::logical_xor; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/max.hpp b/inst/include/nt2/arithmetic/functions/max.hpp deleted file mode 100644 index 269acb8..0000000 --- a/inst/include/nt2/arithmetic/functions/max.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_MAX_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_MAX_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::max_} **/ - struct max_ {}; - #endif - using boost::simd::tag::max_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::max} **/ - template - details::unspecified max(Args&&... args); - #endif - using boost::simd::max; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/meanof.hpp b/inst/include/nt2/arithmetic/functions/meanof.hpp deleted file mode 100644 index 0a40dd5..0000000 --- a/inst/include/nt2/arithmetic/functions/meanof.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_MEANOF_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_MEANOF_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::meanof_} **/ - struct meanof_ {}; - #endif - using boost::simd::tag::meanof_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::meanof} **/ - template - details::unspecified meanof(Args&&... args); - #endif - using boost::simd::meanof; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/min.hpp b/inst/include/nt2/arithmetic/functions/min.hpp deleted file mode 100644 index f4ec79f..0000000 --- a/inst/include/nt2/arithmetic/functions/min.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_MIN_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_MIN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::min_} **/ - struct min_ {}; - #endif - using boost::simd::tag::min_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::min} **/ - template - details::unspecified min(Args&&... args); - #endif - using boost::simd::min; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/minmod.hpp b/inst/include/nt2/arithmetic/functions/minmod.hpp deleted file mode 100644 index e8d966c..0000000 --- a/inst/include/nt2/arithmetic/functions/minmod.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_MINMOD_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_MINMOD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::minmod_} **/ - struct minmod_ {}; - #endif - using boost::simd::tag::minmod_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::minmod} **/ - template - details::unspecified minmod(Args&&... args); - #endif - using boost::simd::minmod; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/minusone.hpp b/inst/include/nt2/arithmetic/functions/minusone.hpp deleted file mode 100644 index 2cf3bf3..0000000 --- a/inst/include/nt2/arithmetic/functions/minusone.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_MINUSONE_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_MINUSONE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::minusone_} **/ - struct minusone_ {}; - #endif - using boost::simd::tag::minusone_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::minusone} **/ - template - details::unspecified minusone(Args&&... args); - #endif - using boost::simd::minusone; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/mod.hpp b/inst/include/nt2/arithmetic/functions/mod.hpp deleted file mode 100644 index 6e5c7ef..0000000 --- a/inst/include/nt2/arithmetic/functions/mod.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_MOD_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_MOD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::mod_} **/ - struct mod_ {}; - #endif - using boost::simd::tag::mod_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::mod} **/ - template - details::unspecified mod(Args&&... args); - #endif - using boost::simd::mod; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/muls.hpp b/inst/include/nt2/arithmetic/functions/muls.hpp deleted file mode 100644 index f921661..0000000 --- a/inst/include/nt2/arithmetic/functions/muls.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_MULS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_MULS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::muls_} **/ - struct muls_ {}; - #endif - using boost::simd::tag::muls_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::muls} **/ - template - details::unspecified muls(Args&&... args); - #endif - using boost::simd::muls; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/negs.hpp b/inst/include/nt2/arithmetic/functions/negs.hpp deleted file mode 100644 index 409f8ce..0000000 --- a/inst/include/nt2/arithmetic/functions/negs.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_NEGS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_NEGS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::negs_} **/ - struct negs_ {}; - #endif - using boost::simd::tag::negs_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::negs} **/ - template - details::unspecified negs(Args&&... args); - #endif - using boost::simd::negs; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/oneminus.hpp b/inst/include/nt2/arithmetic/functions/oneminus.hpp deleted file mode 100644 index 77c6dcb..0000000 --- a/inst/include/nt2/arithmetic/functions/oneminus.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_ONEMINUS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_ONEMINUS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::oneminus_} **/ - struct oneminus_ {}; - #endif - using boost::simd::tag::oneminus_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::oneminus} **/ - template - details::unspecified oneminus(Args&&... args); - #endif - using boost::simd::oneminus; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/oneplus.hpp b/inst/include/nt2/arithmetic/functions/oneplus.hpp deleted file mode 100644 index fb70577..0000000 --- a/inst/include/nt2/arithmetic/functions/oneplus.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_ONEPLUS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_ONEPLUS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::oneplus_} **/ - struct oneplus_ {}; - #endif - using boost::simd::tag::oneplus_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::oneplus} **/ - template - details::unspecified oneplus(Args&&... args); - #endif - using boost::simd::oneplus; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/raw_rec.hpp b/inst/include/nt2/arithmetic/functions/raw_rec.hpp deleted file mode 100644 index 6fd707e..0000000 --- a/inst/include/nt2/arithmetic/functions/raw_rec.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_RAW_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_RAW_REC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::raw_rec_} **/ - struct raw_rec_ {}; - #endif - using boost::simd::tag::raw_rec_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::raw_rec} **/ - template - details::unspecified raw_rec(Args&&... args); - #endif - using boost::simd::raw_rec; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/rec.hpp b/inst/include/nt2/arithmetic/functions/rec.hpp deleted file mode 100644 index f125205..0000000 --- a/inst/include/nt2/arithmetic/functions/rec.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_REC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::rec_} **/ - struct rec_ {}; - #endif - using boost::simd::tag::rec_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::rec} **/ - template - details::unspecified rec(Args&&... args); - #endif - using boost::simd::rec; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/refine_rec.hpp b/inst/include/nt2/arithmetic/functions/refine_rec.hpp deleted file mode 100644 index 03438fe..0000000 --- a/inst/include/nt2/arithmetic/functions/refine_rec.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_REFINE_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_REFINE_REC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::refine_rec_} **/ - struct refine_rec_ {}; - #endif - using boost::simd::tag::refine_rec_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::refine_rec} **/ - template - details::unspecified refine_rec(Args&&... args); - #endif - using boost::simd::refine_rec; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/rem.hpp b/inst/include/nt2/arithmetic/functions/rem.hpp deleted file mode 100644 index 055f6c7..0000000 --- a/inst/include/nt2/arithmetic/functions/rem.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_REM_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_REM_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::rem_} **/ - struct rem_ {}; - #endif - using boost::simd::tag::rem_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::rem} **/ - template - details::unspecified rem(Args&&... args); - #endif - using boost::simd::rem; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/remainder.hpp b/inst/include/nt2/arithmetic/functions/remainder.hpp deleted file mode 100644 index cc2f0ef..0000000 --- a/inst/include/nt2/arithmetic/functions/remainder.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_REMAINDER_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_REMAINDER_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::remainder_} **/ - struct remainder_ {}; - #endif - using boost::simd::tag::remainder_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::remainder} **/ - template - details::unspecified remainder(Args&&... args); - #endif - using boost::simd::remainder; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/remquo.hpp b/inst/include/nt2/arithmetic/functions/remquo.hpp deleted file mode 100644 index 2c81c19..0000000 --- a/inst/include/nt2/arithmetic/functions/remquo.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_REMQUO_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_REMQUO_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::remquo_} **/ - struct remquo_ {}; - #endif - using boost::simd::tag::remquo_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::remquo} **/ - template - details::unspecified remquo(Args&&... args); - #endif - using boost::simd::remquo; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/remround.hpp b/inst/include/nt2/arithmetic/functions/remround.hpp deleted file mode 100644 index 2995846..0000000 --- a/inst/include/nt2/arithmetic/functions/remround.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_REMROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_REMROUND_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::remround_} **/ - struct remround_ {}; - #endif - using boost::simd::tag::remround_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::remround} **/ - template - details::unspecified remround(Args&&... args); - #endif - using boost::simd::remround; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/round.hpp b/inst/include/nt2/arithmetic/functions/round.hpp deleted file mode 100644 index 293c89a..0000000 --- a/inst/include/nt2/arithmetic/functions/round.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_ROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_ROUND_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::round_} **/ - struct round_ {}; - #endif - using boost::simd::tag::round_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::round} **/ - template - details::unspecified round(Args&&... args); - #endif - using boost::simd::round; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/round2even.hpp b/inst/include/nt2/arithmetic/functions/round2even.hpp deleted file mode 100644 index 0159f31..0000000 --- a/inst/include/nt2/arithmetic/functions/round2even.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::round2even_} **/ - struct round2even_ {}; - #endif - using boost::simd::tag::round2even_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::round2even} **/ - template - details::unspecified round2even(Args&&... args); - #endif - using boost::simd::round2even; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/rsqrt.hpp b/inst/include/nt2/arithmetic/functions/rsqrt.hpp deleted file mode 100644 index d1e1251..0000000 --- a/inst/include/nt2/arithmetic/functions/rsqrt.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_RSQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_RSQRT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::rsqrt_} **/ - struct rsqrt_ {}; - #endif - using boost::simd::tag::rsqrt_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::rsqrt} **/ - template - details::unspecified rsqrt(Args&&... args); - #endif - using boost::simd::rsqrt; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/scalar/center.hpp b/inst/include/nt2/arithmetic/functions/scalar/center.hpp deleted file mode 100644 index 3c30fae..0000000 --- a/inst/include/nt2/arithmetic/functions/scalar/center.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_SCALAR_CENTER_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_SCALAR_CENTER_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( center_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return nt2::is_nan(a) ? a : Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( center_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return nt2::is_nan(a) ? a : Zero(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/arithmetic/functions/sqr.hpp b/inst/include/nt2/arithmetic/functions/sqr.hpp deleted file mode 100644 index 109a936..0000000 --- a/inst/include/nt2/arithmetic/functions/sqr.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_SQR_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_SQR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::sqr_} **/ - struct sqr_ {}; - #endif - using boost::simd::tag::sqr_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::sqr} **/ - template - details::unspecified sqr(Args&&... args); - #endif - using boost::simd::sqr; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/sqr_abs.hpp b/inst/include/nt2/arithmetic/functions/sqr_abs.hpp deleted file mode 100644 index a1f78b4..0000000 --- a/inst/include/nt2/arithmetic/functions/sqr_abs.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_SQR_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_SQR_ABS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::sqr_abs_} **/ - struct sqr_abs_ {}; - #endif - using boost::simd::tag::sqr_abs_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::sqr_abs} **/ - template - details::unspecified sqr_abs(Args&&... args); - #endif - using boost::simd::sqr_abs; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/sqrs.hpp b/inst/include/nt2/arithmetic/functions/sqrs.hpp deleted file mode 100644 index d9cd01e..0000000 --- a/inst/include/nt2/arithmetic/functions/sqrs.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_SQRS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_SQRS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::sqrs_} **/ - struct sqrs_ {}; - #endif - using boost::simd::tag::sqrs_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::sqrs} **/ - template - details::unspecified sqrs(Args&&... args); - #endif - using boost::simd::sqrs; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/sqrt.hpp b/inst/include/nt2/arithmetic/functions/sqrt.hpp deleted file mode 100644 index e841040..0000000 --- a/inst/include/nt2/arithmetic/functions/sqrt.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_SQRT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::sqrt_} **/ - struct sqrt_ {}; - #endif - using boost::simd::tag::sqrt_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::sqrt} **/ - template - details::unspecified sqrt(Args&&... args); - #endif - using boost::simd::sqrt; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/subs.hpp b/inst/include/nt2/arithmetic/functions/subs.hpp deleted file mode 100644 index 67f84b6..0000000 --- a/inst/include/nt2/arithmetic/functions/subs.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_SUBS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_SUBS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::subs_} **/ - struct subs_ {}; - #endif - using boost::simd::tag::subs_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::subs} **/ - template - details::unspecified subs(Args&&... args); - #endif - using boost::simd::subs; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/tenpower.hpp b/inst/include/nt2/arithmetic/functions/tenpower.hpp deleted file mode 100644 index e885185..0000000 --- a/inst/include/nt2/arithmetic/functions/tenpower.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TENPOWER_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TENPOWER_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::tenpower_} **/ - struct tenpower_ {}; - #endif - using boost::simd::tag::tenpower_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::tenpower} **/ - template - details::unspecified tenpower(Args&&... args); - #endif - using boost::simd::tenpower; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/tofloat.hpp b/inst/include/nt2/arithmetic/functions/tofloat.hpp deleted file mode 100644 index e560231..0000000 --- a/inst/include/nt2/arithmetic/functions/tofloat.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TOFLOAT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TOFLOAT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::tofloat_} **/ - struct tofloat_ {}; - #endif - using boost::simd::tag::tofloat_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::tofloat} **/ - template - details::unspecified tofloat(Args&&... args); - #endif - using boost::simd::tofloat; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/toint.hpp b/inst/include/nt2/arithmetic/functions/toint.hpp deleted file mode 100644 index d72f2a8..0000000 --- a/inst/include/nt2/arithmetic/functions/toint.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TOINT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TOINT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::toint_} **/ - struct toint_ {}; - #endif - using boost::simd::tag::toint_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::toint} **/ - template - details::unspecified toint(Args&&... args); - #endif - using boost::simd::toint; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/toints.hpp b/inst/include/nt2/arithmetic/functions/toints.hpp deleted file mode 100644 index 624b411..0000000 --- a/inst/include/nt2/arithmetic/functions/toints.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TOINTS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TOINTS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::toints_} **/ - struct toints_ {}; - #endif - using boost::simd::tag::toints_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::toints} **/ - template - details::unspecified toints(Args&&... args); - #endif - using boost::simd::toints; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/touint.hpp b/inst/include/nt2/arithmetic/functions/touint.hpp deleted file mode 100644 index f42be96..0000000 --- a/inst/include/nt2/arithmetic/functions/touint.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TOUINT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TOUINT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::touint_} **/ - struct touint_ {}; - #endif - using boost::simd::tag::touint_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::touint} **/ - template - details::unspecified touint(Args&&... args); - #endif - using boost::simd::touint; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/touints.hpp b/inst/include/nt2/arithmetic/functions/touints.hpp deleted file mode 100644 index c9e6e22..0000000 --- a/inst/include/nt2/arithmetic/functions/touints.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TOUINTS_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TOUINTS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::touints_} **/ - struct touints_ {}; - #endif - using boost::simd::tag::touints_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::touints} **/ - template - details::unspecified touints(Args&&... args); - #endif - using boost::simd::touints; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/trunc.hpp b/inst/include/nt2/arithmetic/functions/trunc.hpp deleted file mode 100644 index c92c13f..0000000 --- a/inst/include/nt2/arithmetic/functions/trunc.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TRUNC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::trunc_} **/ - struct trunc_ {}; - #endif - using boost::simd::tag::trunc_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::trunc} **/ - template - details::unspecified trunc(Args&&... args); - #endif - using boost::simd::trunc; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/two_add.hpp b/inst/include/nt2/arithmetic/functions/two_add.hpp deleted file mode 100644 index 4a4e7eb..0000000 --- a/inst/include/nt2/arithmetic/functions/two_add.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TWO_ADD_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TWO_ADD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::two_add_} **/ - struct two_add_ {}; - #endif - using boost::simd::tag::two_add_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::two_add} **/ - template - details::unspecified two_add(Args&&... args); - #endif - using boost::simd::two_add; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/two_prod.hpp b/inst/include/nt2/arithmetic/functions/two_prod.hpp deleted file mode 100644 index 8889851..0000000 --- a/inst/include/nt2/arithmetic/functions/two_prod.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TWO_PROD_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TWO_PROD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::two_prod_} **/ - struct two_prod_ {}; - #endif - using boost::simd::tag::two_prod_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::two_prod} **/ - template - details::unspecified two_prod(Args&&... args); - #endif - using boost::simd::two_prod; -} - -#endif diff --git a/inst/include/nt2/arithmetic/functions/two_split.hpp b/inst/include/nt2/arithmetic/functions/two_split.hpp deleted file mode 100644 index bf53ce5..0000000 --- a/inst/include/nt2/arithmetic/functions/two_split.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED -#define NT2_ARITHMETIC_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::two_split_} **/ - struct two_split_ {}; - #endif - using boost::simd::tag::two_split_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::two_split} **/ - template - details::unspecified two_split(Args&&... args); - #endif - using boost::simd::two_split; -} - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/abs.hpp b/inst/include/nt2/arithmetic/include/functions/abs.hpp deleted file mode 100644 index 5194c15..0000000 --- a/inst/include/nt2/arithmetic/include/functions/abs.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ABS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/abss.hpp b/inst/include/nt2/arithmetic/include/functions/abss.hpp deleted file mode 100644 index 5294197..0000000 --- a/inst/include/nt2/arithmetic/include/functions/abss.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ABSS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ABSS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/adds.hpp b/inst/include/nt2/arithmetic/include/functions/adds.hpp deleted file mode 100644 index d29e700..0000000 --- a/inst/include/nt2/arithmetic/include/functions/adds.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ADDS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ADDS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/amul.hpp b/inst/include/nt2/arithmetic/include/functions/amul.hpp deleted file mode 100644 index 4b369f8..0000000 --- a/inst/include/nt2/arithmetic/include/functions/amul.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_AMUL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_AMUL_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/arg.hpp b/inst/include/nt2/arithmetic/include/functions/arg.hpp deleted file mode 100644 index c4157b6..0000000 --- a/inst/include/nt2/arithmetic/include/functions/arg.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ARG_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ARG_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/average.hpp b/inst/include/nt2/arithmetic/include/functions/average.hpp deleted file mode 100644 index f340850..0000000 --- a/inst/include/nt2/arithmetic/include/functions/average.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_AVERAGE_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_AVERAGE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/ceil.hpp b/inst/include/nt2/arithmetic/include/functions/ceil.hpp deleted file mode 100644 index f846df5..0000000 --- a/inst/include/nt2/arithmetic/include/functions/ceil.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_CEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_CEIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/center.hpp b/inst/include/nt2/arithmetic/include/functions/center.hpp deleted file mode 100644 index 784a63f..0000000 --- a/inst/include/nt2/arithmetic/include/functions/center.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_CENTER_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_CENTER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/conj.hpp b/inst/include/nt2/arithmetic/include/functions/conj.hpp deleted file mode 100644 index 81d0815..0000000 --- a/inst/include/nt2/arithmetic/include/functions/conj.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_CONJ_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_CONJ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/correct_fma.hpp b/inst/include/nt2/arithmetic/include/functions/correct_fma.hpp deleted file mode 100644 index 439f42e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/correct_fma.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_CORRECT_FMA_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/dec.hpp b/inst/include/nt2/arithmetic/include/functions/dec.hpp deleted file mode 100644 index 2c20c09..0000000 --- a/inst/include/nt2/arithmetic/include/functions/dec.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DEC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DEC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/dist.hpp b/inst/include/nt2/arithmetic/include/functions/dist.hpp deleted file mode 100644 index de74363..0000000 --- a/inst/include/nt2/arithmetic/include/functions/dist.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIST_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIST_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/divceil.hpp b/inst/include/nt2/arithmetic/include/functions/divceil.hpp deleted file mode 100644 index ac4e232..0000000 --- a/inst/include/nt2/arithmetic/include/functions/divceil.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVCEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVCEIL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/divfix.hpp b/inst/include/nt2/arithmetic/include/functions/divfix.hpp deleted file mode 100644 index 60ba2d5..0000000 --- a/inst/include/nt2/arithmetic/include/functions/divfix.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVFIX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVFIX_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/divfloor.hpp b/inst/include/nt2/arithmetic/include/functions/divfloor.hpp deleted file mode 100644 index 99bffd2..0000000 --- a/inst/include/nt2/arithmetic/include/functions/divfloor.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVFLOOR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/divround.hpp b/inst/include/nt2/arithmetic/include/functions/divround.hpp deleted file mode 100644 index abd059a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/divround.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVROUND_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/divround2even.hpp b/inst/include/nt2/arithmetic/include/functions/divround2even.hpp deleted file mode 100644 index c8c1322..0000000 --- a/inst/include/nt2/arithmetic/include/functions/divround2even.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/divs.hpp b/inst/include/nt2/arithmetic/include/functions/divs.hpp deleted file mode 100644 index b5d70d0..0000000 --- a/inst/include/nt2/arithmetic/include/functions/divs.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_DIVS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fam.hpp b/inst/include/nt2/arithmetic/include/functions/fam.hpp deleted file mode 100644 index 78961ee..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fam.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAM_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAM_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fast_hypot.hpp b/inst/include/nt2/arithmetic/include/functions/fast_hypot.hpp deleted file mode 100644 index 85f1d56..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fast_hypot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_HYPOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fast_iround2even.hpp b/inst/include/nt2/arithmetic/include/functions/fast_iround2even.hpp deleted file mode 100644 index e70c30b..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fast_iround2even.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fast_rec.hpp b/inst/include/nt2/arithmetic/include/functions/fast_rec.hpp deleted file mode 100644 index 4bc2d02..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fast_rec.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_REC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fast_rsqrt.hpp b/inst/include/nt2/arithmetic/include/functions/fast_rsqrt.hpp deleted file mode 100644 index f52a970..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fast_rsqrt.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_RSQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fast_sqrt.hpp b/inst/include/nt2/arithmetic/include/functions/fast_sqrt.hpp deleted file mode 100644 index b9cf604..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fast_sqrt.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_SQRT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fast_toint.hpp b/inst/include/nt2/arithmetic/include/functions/fast_toint.hpp deleted file mode 100644 index 4e66a6c..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fast_toint.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_TOINT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_TOINT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fast_trunc.hpp b/inst/include/nt2/arithmetic/include/functions/fast_trunc.hpp deleted file mode 100644 index 4a3ec66..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fast_trunc.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FAST_TRUNC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/floor.hpp b/inst/include/nt2/arithmetic/include/functions/floor.hpp deleted file mode 100644 index 8164356..0000000 --- a/inst/include/nt2/arithmetic/include/functions/floor.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FLOOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fma.hpp b/inst/include/nt2/arithmetic/include/functions/fma.hpp deleted file mode 100644 index 796dbb3..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fma.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FMA_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FMA_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fms.hpp b/inst/include/nt2/arithmetic/include/functions/fms.hpp deleted file mode 100644 index bd68695..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fms.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FMS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FMS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fnam.hpp b/inst/include/nt2/arithmetic/include/functions/fnam.hpp deleted file mode 100644 index 55ad2d7..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fnam.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FNAM_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FNAM_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fnma.hpp b/inst/include/nt2/arithmetic/include/functions/fnma.hpp deleted file mode 100644 index 6a9594e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fnma.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FNMA_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FNMA_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fnms.hpp b/inst/include/nt2/arithmetic/include/functions/fnms.hpp deleted file mode 100644 index ca95d57..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fnms.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FNMS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FNMS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fnsm.hpp b/inst/include/nt2/arithmetic/include/functions/fnsm.hpp deleted file mode 100644 index d783efc..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fnsm.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FNSM_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FNSM_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/fsm.hpp b/inst/include/nt2/arithmetic/include/functions/fsm.hpp deleted file mode 100644 index 6b83090..0000000 --- a/inst/include/nt2/arithmetic/include/functions/fsm.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FSM_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_FSM_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/hypot.hpp b/inst/include/nt2/arithmetic/include/functions/hypot.hpp deleted file mode 100644 index 0562d46..0000000 --- a/inst/include/nt2/arithmetic/include/functions/hypot.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_HYPOT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_HYPOT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/iceil.hpp b/inst/include/nt2/arithmetic/include/functions/iceil.hpp deleted file mode 100644 index 236f5f9..0000000 --- a/inst/include/nt2/arithmetic/include/functions/iceil.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ICEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ICEIL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/idivceil.hpp b/inst/include/nt2/arithmetic/include/functions/idivceil.hpp deleted file mode 100644 index 5f58e51..0000000 --- a/inst/include/nt2/arithmetic/include/functions/idivceil.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVCEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVCEIL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/idivfix.hpp b/inst/include/nt2/arithmetic/include/functions/idivfix.hpp deleted file mode 100644 index 7aa8926..0000000 --- a/inst/include/nt2/arithmetic/include/functions/idivfix.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVFIX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVFIX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/idivfloor.hpp b/inst/include/nt2/arithmetic/include/functions/idivfloor.hpp deleted file mode 100644 index 2f8e2e8..0000000 --- a/inst/include/nt2/arithmetic/include/functions/idivfloor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVFLOOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/idivround.hpp b/inst/include/nt2/arithmetic/include/functions/idivround.hpp deleted file mode 100644 index fa6359d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/idivround.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVROUND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/idivround2even.hpp b/inst/include/nt2/arithmetic/include/functions/idivround2even.hpp deleted file mode 100644 index 4a3b6f1..0000000 --- a/inst/include/nt2/arithmetic/include/functions/idivround2even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IDIVROUND2EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/ifix.hpp b/inst/include/nt2/arithmetic/include/functions/ifix.hpp deleted file mode 100644 index 99d6b9c..0000000 --- a/inst/include/nt2/arithmetic/include/functions/ifix.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IFIX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IFIX_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/ifloor.hpp b/inst/include/nt2/arithmetic/include/functions/ifloor.hpp deleted file mode 100644 index cda52ca..0000000 --- a/inst/include/nt2/arithmetic/include/functions/ifloor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IFLOOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/inc.hpp b/inst/include/nt2/arithmetic/include/functions/inc.hpp deleted file mode 100644 index 8c90323..0000000 --- a/inst/include/nt2/arithmetic/include/functions/inc.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_INC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_INC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/iround.hpp b/inst/include/nt2/arithmetic/include/functions/iround.hpp deleted file mode 100644 index 28caae7..0000000 --- a/inst/include/nt2/arithmetic/include/functions/iround.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IROUND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/iround2even.hpp b/inst/include/nt2/arithmetic/include/functions/iround2even.hpp deleted file mode 100644 index bedd661..0000000 --- a/inst/include/nt2/arithmetic/include/functions/iround2even.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/itrunc.hpp b/inst/include/nt2/arithmetic/include/functions/itrunc.hpp deleted file mode 100644 index 25b0b8c..0000000 --- a/inst/include/nt2/arithmetic/include/functions/itrunc.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ITRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ITRUNC_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/ldiv.hpp b/inst/include/nt2/arithmetic/include/functions/ldiv.hpp deleted file mode 100644 index ed0bf10..0000000 --- a/inst/include/nt2/arithmetic/include/functions/ldiv.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_LDIV_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_LDIV_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/ldivide.hpp b/inst/include/nt2/arithmetic/include/functions/ldivide.hpp deleted file mode 100644 index 88a0606..0000000 --- a/inst/include/nt2/arithmetic/include/functions/ldivide.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_LDIVIDE_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_LDIVIDE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/linear_interp.hpp b/inst/include/nt2/arithmetic/include/functions/linear_interp.hpp deleted file mode 100644 index bd2b794..0000000 --- a/inst/include/nt2/arithmetic/include/functions/linear_interp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_LINEAR_INTERP_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_LINEAR_INTERP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/logical_xor.hpp b/inst/include/nt2/arithmetic/include/functions/logical_xor.hpp deleted file mode 100644 index e28df61..0000000 --- a/inst/include/nt2/arithmetic/include/functions/logical_xor.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_LOGICAL_XOR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/madd.hpp b/inst/include/nt2/arithmetic/include/functions/madd.hpp deleted file mode 100644 index 4d41388..0000000 --- a/inst/include/nt2/arithmetic/include/functions/madd.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MADD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MADD_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/max.hpp b/inst/include/nt2/arithmetic/include/functions/max.hpp deleted file mode 100644 index d6e7295..0000000 --- a/inst/include/nt2/arithmetic/include/functions/max.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MAX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MAX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/meanof.hpp b/inst/include/nt2/arithmetic/include/functions/meanof.hpp deleted file mode 100644 index 73e6ac2..0000000 --- a/inst/include/nt2/arithmetic/include/functions/meanof.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MEANOF_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MEANOF_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/min.hpp b/inst/include/nt2/arithmetic/include/functions/min.hpp deleted file mode 100644 index a10a3e9..0000000 --- a/inst/include/nt2/arithmetic/include/functions/min.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MIN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/minmod.hpp b/inst/include/nt2/arithmetic/include/functions/minmod.hpp deleted file mode 100644 index 493628e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/minmod.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MINMOD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MINMOD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/minusone.hpp b/inst/include/nt2/arithmetic/include/functions/minusone.hpp deleted file mode 100644 index e4aaee1..0000000 --- a/inst/include/nt2/arithmetic/include/functions/minusone.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MINUSONE_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MINUSONE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/mod.hpp b/inst/include/nt2/arithmetic/include/functions/mod.hpp deleted file mode 100644 index c8b2127..0000000 --- a/inst/include/nt2/arithmetic/include/functions/mod.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MOD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MOD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/muls.hpp b/inst/include/nt2/arithmetic/include/functions/muls.hpp deleted file mode 100644 index 1def290..0000000 --- a/inst/include/nt2/arithmetic/include/functions/muls.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MULS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_MULS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/negs.hpp b/inst/include/nt2/arithmetic/include/functions/negs.hpp deleted file mode 100644 index 55aac23..0000000 --- a/inst/include/nt2/arithmetic/include/functions/negs.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_NEGS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_NEGS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/oneminus.hpp b/inst/include/nt2/arithmetic/include/functions/oneminus.hpp deleted file mode 100644 index 098d264..0000000 --- a/inst/include/nt2/arithmetic/include/functions/oneminus.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ONEMINUS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ONEMINUS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/oneplus.hpp b/inst/include/nt2/arithmetic/include/functions/oneplus.hpp deleted file mode 100644 index 5a63950..0000000 --- a/inst/include/nt2/arithmetic/include/functions/oneplus.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ONEPLUS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ONEPLUS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/raw_rec.hpp b/inst/include/nt2/arithmetic/include/functions/raw_rec.hpp deleted file mode 100644 index 7e006d8..0000000 --- a/inst/include/nt2/arithmetic/include/functions/raw_rec.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_RAW_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_RAW_REC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/rdivide.hpp b/inst/include/nt2/arithmetic/include/functions/rdivide.hpp deleted file mode 100644 index 060f8d4..0000000 --- a/inst/include/nt2/arithmetic/include/functions/rdivide.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_RDIVIDE_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_RDIVIDE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/rec.hpp b/inst/include/nt2/arithmetic/include/functions/rec.hpp deleted file mode 100644 index 8fe59ac..0000000 --- a/inst/include/nt2/arithmetic/include/functions/rec.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/refine_rec.hpp b/inst/include/nt2/arithmetic/include/functions/refine_rec.hpp deleted file mode 100644 index 4305c3d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/refine_rec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REFINE_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REFINE_REC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/rem.hpp b/inst/include/nt2/arithmetic/include/functions/rem.hpp deleted file mode 100644 index 316566f..0000000 --- a/inst/include/nt2/arithmetic/include/functions/rem.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REM_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REM_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/remainder.hpp b/inst/include/nt2/arithmetic/include/functions/remainder.hpp deleted file mode 100644 index dac26c6..0000000 --- a/inst/include/nt2/arithmetic/include/functions/remainder.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REMAINDER_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REMAINDER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/remquo.hpp b/inst/include/nt2/arithmetic/include/functions/remquo.hpp deleted file mode 100644 index dd51664..0000000 --- a/inst/include/nt2/arithmetic/include/functions/remquo.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REMQUO_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REMQUO_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/remround.hpp b/inst/include/nt2/arithmetic/include/functions/remround.hpp deleted file mode 100644 index 2a299f1..0000000 --- a/inst/include/nt2/arithmetic/include/functions/remround.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REMROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_REMROUND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/round.hpp b/inst/include/nt2/arithmetic/include/functions/round.hpp deleted file mode 100644 index c36b537..0000000 --- a/inst/include/nt2/arithmetic/include/functions/round.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ROUND_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/round2even.hpp b/inst/include/nt2/arithmetic/include/functions/round2even.hpp deleted file mode 100644 index f2674ee..0000000 --- a/inst/include/nt2/arithmetic/include/functions/round2even.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_ROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/rsqrt.hpp b/inst/include/nt2/arithmetic/include/functions/rsqrt.hpp deleted file mode 100644 index bdf95f4..0000000 --- a/inst/include/nt2/arithmetic/include/functions/rsqrt.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_RSQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_RSQRT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/abs.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/abs.hpp deleted file mode 100644 index dd69c87..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/abs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ABS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/abss.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/abss.hpp deleted file mode 100644 index f2d0da6..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/abss.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ABSS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ABSS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/adds.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/adds.hpp deleted file mode 100644 index 45f1824..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/adds.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ADDS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ADDS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/arg.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/arg.hpp deleted file mode 100644 index b26fd9d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/arg.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ARG_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ARG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/average.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/average.hpp deleted file mode 100644 index 0f685be..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/average.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_AVERAGE_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_AVERAGE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/ceil.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/ceil.hpp deleted file mode 100644 index 1fdf98f..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/ceil.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CEIL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/center.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/center.hpp deleted file mode 100644 index d6b264b..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/center.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CENTER_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CENTER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/conj.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/conj.hpp deleted file mode 100644 index abfe069..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/conj.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CONJ_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CONJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/correct_fma.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/correct_fma.hpp deleted file mode 100644 index 86ea318..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/correct_fma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CORRECT_FMA_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_CORRECT_FMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/dec.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/dec.hpp deleted file mode 100644 index 4dd5d95..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/dec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DEC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DEC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/dist.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/dist.hpp deleted file mode 100644 index dc4735d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/dist.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIST_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/divceil.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/divceil.hpp deleted file mode 100644 index 971273a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/divceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVCEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVCEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/divfix.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/divfix.hpp deleted file mode 100644 index 9abff50..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/divfix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVFIX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVFIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/divfloor.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/divfloor.hpp deleted file mode 100644 index ac00d7e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/divfloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/divround.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/divround.hpp deleted file mode 100644 index 7abc928..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/divround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/divround2even.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/divround2even.hpp deleted file mode 100644 index adbe0e3..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/divround2even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVROUND2EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/divs.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/divs.hpp deleted file mode 100644 index 815caf7..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/divs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_DIVS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fast_hypot.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fast_hypot.hpp deleted file mode 100644 index 75f5b20..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fast_hypot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_HYPOT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_HYPOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fast_iround2even.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fast_iround2even.hpp deleted file mode 100644 index 4b21f7a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fast_iround2even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_IROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fast_rec.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fast_rec.hpp deleted file mode 100644 index 6cb8725..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fast_rec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_REC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fast_rsqrt.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fast_rsqrt.hpp deleted file mode 100644 index 0f0bcf5..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fast_rsqrt.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_RSQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_RSQRT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fast_sqrt.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fast_sqrt.hpp deleted file mode 100644 index 760bff5..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fast_sqrt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_SQRT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fast_toint.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fast_toint.hpp deleted file mode 100644 index 0287033..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fast_toint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_TOINT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_TOINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fast_trunc.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fast_trunc.hpp deleted file mode 100644 index 48c544e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fast_trunc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_TRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FAST_TRUNC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/floor.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/floor.hpp deleted file mode 100644 index aa8246e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/floor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FLOOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fma.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fma.hpp deleted file mode 100644 index 2b0fb2b..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FMA_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fms.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fms.hpp deleted file mode 100644 index e429763..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fms.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FMS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FMS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fnma.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fnma.hpp deleted file mode 100644 index 2bc045a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fnma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FNMA_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FNMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/fnms.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/fnms.hpp deleted file mode 100644 index a566d76..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/fnms.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FNMS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_FNMS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/hypot.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/hypot.hpp deleted file mode 100644 index 2f5dc66..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/hypot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_HYPOT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_HYPOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/iceil.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/iceil.hpp deleted file mode 100644 index 153d695..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/iceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ICEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ICEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/idivceil.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/idivceil.hpp deleted file mode 100644 index 4f337c5..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/idivceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVCEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVCEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/idivfix.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/idivfix.hpp deleted file mode 100644 index c52842f..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/idivfix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVFIX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVFIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/idivfloor.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/idivfloor.hpp deleted file mode 100644 index ff5c065..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/idivfloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/idivround.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/idivround.hpp deleted file mode 100644 index 6bab1e3..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/idivround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/idivround2even.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/idivround2even.hpp deleted file mode 100644 index a23b5a6..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/idivround2even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IDIVROUND2EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/ifloor.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/ifloor.hpp deleted file mode 100644 index 272fec8..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/ifloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/inc.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/inc.hpp deleted file mode 100644 index b3473b6..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/inc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_INC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_INC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/iround.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/iround.hpp deleted file mode 100644 index bbaaae6..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/iround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/iround2even.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/iround2even.hpp deleted file mode 100644 index 0c4b776..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/iround2even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/linear_interp.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/linear_interp.hpp deleted file mode 100644 index 181434e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/linear_interp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_LINEAR_INTERP_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_LINEAR_INTERP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/logical_xor.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/logical_xor.hpp deleted file mode 100644 index f414c91..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/logical_xor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_XOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_XOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/max.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/max.hpp deleted file mode 100644 index dcb8e1e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/max.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MAX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/meanof.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/meanof.hpp deleted file mode 100644 index 258c41d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/meanof.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MEANOF_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MEANOF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/min.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/min.hpp deleted file mode 100644 index f26ac7b..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/min.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MIN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/minmod.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/minmod.hpp deleted file mode 100644 index 38d4494..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/minmod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MINMOD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MINMOD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/minusone.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/minusone.hpp deleted file mode 100644 index debe155..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/minusone.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MINUSONE_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MINUSONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/mod.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/mod.hpp deleted file mode 100644 index 8fb185d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/mod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MOD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MOD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/muls.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/muls.hpp deleted file mode 100644 index 61a437b..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/muls.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MULS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_MULS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/negs.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/negs.hpp deleted file mode 100644 index 3954abf..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/negs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_NEGS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_NEGS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/oneminus.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/oneminus.hpp deleted file mode 100644 index d247f5f..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/oneminus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ONEMINUS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ONEMINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/oneplus.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/oneplus.hpp deleted file mode 100644 index ac04855..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/oneplus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ONEPLUS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ONEPLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/raw_rec.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/raw_rec.hpp deleted file mode 100644 index fcc358d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/raw_rec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_RAW_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_RAW_REC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/rec.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/rec.hpp deleted file mode 100644 index 50b56bf..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/rec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/refine_rec.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/refine_rec.hpp deleted file mode 100644 index c11eabd..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/refine_rec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REFINE_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REFINE_REC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/rem.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/rem.hpp deleted file mode 100644 index e7b2544..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/rem.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REM_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/remainder.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/remainder.hpp deleted file mode 100644 index d919458..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/remainder.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMAINDER_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMAINDER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/remquo.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/remquo.hpp deleted file mode 100644 index 5852fcf..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/remquo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMQUO_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMQUO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/remround.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/remround.hpp deleted file mode 100644 index 1213930..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/remround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_REMROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/round.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/round.hpp deleted file mode 100644 index 5608cfd..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/round.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/round2even.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/round2even.hpp deleted file mode 100644 index ed63757..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/round2even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_ROUND2EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/rsqrt.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/rsqrt.hpp deleted file mode 100644 index 51932ae..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/rsqrt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_RSQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_RSQRT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/sqr.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/sqr.hpp deleted file mode 100644 index 7e7dbb2..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/sqr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/sqr_abs.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/sqr_abs.hpp deleted file mode 100644 index 0b860b6..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/sqr_abs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQR_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQR_ABS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/sqrs.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/sqrs.hpp deleted file mode 100644 index 5e65d4d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/sqrs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQRS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQRS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/sqrt.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/sqrt.hpp deleted file mode 100644 index d90b558..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/sqrt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SQRT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/subs.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/subs.hpp deleted file mode 100644 index c997aba..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/subs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SUBS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_SUBS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/tenpower.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/tenpower.hpp deleted file mode 100644 index 45e06cf..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/tenpower.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TENPOWER_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TENPOWER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/tofloat.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/tofloat.hpp deleted file mode 100644 index 30ea5c4..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/tofloat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOFLOAT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOFLOAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/toint.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/toint.hpp deleted file mode 100644 index 6b00755..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/toint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOINT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/toints.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/toints.hpp deleted file mode 100644 index 32236ce..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/toints.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOINTS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOINTS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/touint.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/touint.hpp deleted file mode 100644 index f0bb13a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/touint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOUINT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOUINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/touints.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/touints.hpp deleted file mode 100644 index 454922b..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/touints.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOUINTS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TOUINTS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/trunc.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/trunc.hpp deleted file mode 100644 index f1eda9d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/trunc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TRUNC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/two_add.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/two_add.hpp deleted file mode 100644 index 5f0aaf3..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/two_add.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_ADD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_ADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/two_prod.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/two_prod.hpp deleted file mode 100644 index cef2518..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/two_prod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_PROD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_PROD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/scalar/two_split.hpp b/inst/include/nt2/arithmetic/include/functions/scalar/two_split.hpp deleted file mode 100644 index e1a2d06..0000000 --- a/inst/include/nt2/arithmetic/include/functions/scalar/two_split.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_SPLIT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SCALAR_TWO_SPLIT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/abs.hpp b/inst/include/nt2/arithmetic/include/functions/simd/abs.hpp deleted file mode 100644 index 1803172..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/abs.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ABS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/abss.hpp b/inst/include/nt2/arithmetic/include/functions/simd/abss.hpp deleted file mode 100644 index e4543a3..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/abss.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ABSS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ABSS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/adds.hpp b/inst/include/nt2/arithmetic/include/functions/simd/adds.hpp deleted file mode 100644 index cf937d2..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/adds.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ADDS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ADDS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/arg.hpp b/inst/include/nt2/arithmetic/include/functions/simd/arg.hpp deleted file mode 100644 index 46686f4..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/arg.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ARG_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ARG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/average.hpp b/inst/include/nt2/arithmetic/include/functions/simd/average.hpp deleted file mode 100644 index 2d8e28c..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/average.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_AVERAGE_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_AVERAGE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/ceil.hpp b/inst/include/nt2/arithmetic/include/functions/simd/ceil.hpp deleted file mode 100644 index c038d48..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/ceil.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CEIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/center.hpp b/inst/include/nt2/arithmetic/include/functions/simd/center.hpp deleted file mode 100644 index a16a92f..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/center.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CENTER_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CENTER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/conj.hpp b/inst/include/nt2/arithmetic/include/functions/simd/conj.hpp deleted file mode 100644 index 74f1768..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/conj.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CONJ_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CONJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/correct_fma.hpp b/inst/include/nt2/arithmetic/include/functions/simd/correct_fma.hpp deleted file mode 100644 index 69c3def..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/correct_fma.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CORRECT_FMA_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_CORRECT_FMA_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/dec.hpp b/inst/include/nt2/arithmetic/include/functions/simd/dec.hpp deleted file mode 100644 index 6964030..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/dec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DEC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DEC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/dist.hpp b/inst/include/nt2/arithmetic/include/functions/simd/dist.hpp deleted file mode 100644 index 0dbd0a9..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/dist.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIST_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIST_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/divceil.hpp b/inst/include/nt2/arithmetic/include/functions/simd/divceil.hpp deleted file mode 100644 index 9733835..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/divceil.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVCEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVCEIL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/divfix.hpp b/inst/include/nt2/arithmetic/include/functions/simd/divfix.hpp deleted file mode 100644 index 3eca24a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/divfix.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVFIX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVFIX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/divfloor.hpp b/inst/include/nt2/arithmetic/include/functions/simd/divfloor.hpp deleted file mode 100644 index 7004c33..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/divfloor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVFLOOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/divround.hpp b/inst/include/nt2/arithmetic/include/functions/simd/divround.hpp deleted file mode 100644 index 3c33609..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/divround.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVROUND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/divround2even.hpp b/inst/include/nt2/arithmetic/include/functions/simd/divround2even.hpp deleted file mode 100644 index 45d8d50..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/divround2even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVROUND2EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/divs.hpp b/inst/include/nt2/arithmetic/include/functions/simd/divs.hpp deleted file mode 100644 index 4c19454..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/divs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_DIVS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fast_hypot.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fast_hypot.hpp deleted file mode 100644 index 0cf60f1..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fast_hypot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_HYPOT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_HYPOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fast_iround2even.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fast_iround2even.hpp deleted file mode 100644 index fc1aa03..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fast_iround2even.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_IROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fast_rec.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fast_rec.hpp deleted file mode 100644 index 72bea2e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fast_rec.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_REC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fast_rsqrt.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fast_rsqrt.hpp deleted file mode 100644 index 4818ab0..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fast_rsqrt.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_RSQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_RSQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fast_sqrt.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fast_sqrt.hpp deleted file mode 100644 index e767eb0..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fast_sqrt.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_SQRT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fast_toint.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fast_toint.hpp deleted file mode 100644 index 54883ec..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fast_toint.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_TOINT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_TOINT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fast_trunc.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fast_trunc.hpp deleted file mode 100644 index 82a7580..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fast_trunc.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_TRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FAST_TRUNC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/floor.hpp b/inst/include/nt2/arithmetic/include/functions/simd/floor.hpp deleted file mode 100644 index 40b24ee..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/floor.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FLOOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fma.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fma.hpp deleted file mode 100644 index 1662ffe..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fma.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FMA_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FMA_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fms.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fms.hpp deleted file mode 100644 index 8bfb148..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fms.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FMS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FMS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fnma.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fnma.hpp deleted file mode 100644 index 75af939..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fnma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FNMA_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FNMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/fnms.hpp b/inst/include/nt2/arithmetic/include/functions/simd/fnms.hpp deleted file mode 100644 index 8a7ff09..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/fnms.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FNMS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_FNMS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/hypot.hpp b/inst/include/nt2/arithmetic/include/functions/simd/hypot.hpp deleted file mode 100644 index 7e7dae2..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/hypot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_HYPOT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_HYPOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/iceil.hpp b/inst/include/nt2/arithmetic/include/functions/simd/iceil.hpp deleted file mode 100644 index 1a2ff31..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/iceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ICEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ICEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/idivceil.hpp b/inst/include/nt2/arithmetic/include/functions/simd/idivceil.hpp deleted file mode 100644 index 190efab..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/idivceil.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVCEIL_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVCEIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/idivfix.hpp b/inst/include/nt2/arithmetic/include/functions/simd/idivfix.hpp deleted file mode 100644 index 7eb1a70..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/idivfix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVFIX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVFIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/idivfloor.hpp b/inst/include/nt2/arithmetic/include/functions/simd/idivfloor.hpp deleted file mode 100644 index ce340ea..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/idivfloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/idivround.hpp b/inst/include/nt2/arithmetic/include/functions/simd/idivround.hpp deleted file mode 100644 index 383e999..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/idivround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/idivround2even.hpp b/inst/include/nt2/arithmetic/include/functions/simd/idivround2even.hpp deleted file mode 100644 index 63af94e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/idivround2even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IDIVROUND2EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/ifloor.hpp b/inst/include/nt2/arithmetic/include/functions/simd/ifloor.hpp deleted file mode 100644 index 1303e50..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/ifloor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IFLOOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IFLOOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/inc.hpp b/inst/include/nt2/arithmetic/include/functions/simd/inc.hpp deleted file mode 100644 index 5494a9e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/inc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_INC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_INC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/iround.hpp b/inst/include/nt2/arithmetic/include/functions/simd/iround.hpp deleted file mode 100644 index 53e8c54..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/iround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/iround2even.hpp b/inst/include/nt2/arithmetic/include/functions/simd/iround2even.hpp deleted file mode 100644 index 3b63c15..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/iround2even.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_IROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/linear_interp.hpp b/inst/include/nt2/arithmetic/include/functions/simd/linear_interp.hpp deleted file mode 100644 index 630bed7..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/linear_interp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_LINEAR_INTERP_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_LINEAR_INTERP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/logical_xor.hpp b/inst/include/nt2/arithmetic/include/functions/simd/logical_xor.hpp deleted file mode 100644 index 3a5855d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/logical_xor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_LOGICAL_XOR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_LOGICAL_XOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/max.hpp b/inst/include/nt2/arithmetic/include/functions/simd/max.hpp deleted file mode 100644 index 121299b..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/max.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MAX_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MAX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/meanof.hpp b/inst/include/nt2/arithmetic/include/functions/simd/meanof.hpp deleted file mode 100644 index 504a39e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/meanof.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MEANOF_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MEANOF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/min.hpp b/inst/include/nt2/arithmetic/include/functions/simd/min.hpp deleted file mode 100644 index fa13090..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/min.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MIN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/minmod.hpp b/inst/include/nt2/arithmetic/include/functions/simd/minmod.hpp deleted file mode 100644 index 0490387..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/minmod.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MINMOD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MINMOD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/minusone.hpp b/inst/include/nt2/arithmetic/include/functions/simd/minusone.hpp deleted file mode 100644 index 7b4d65a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/minusone.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MINUSONE_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MINUSONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/mod.hpp b/inst/include/nt2/arithmetic/include/functions/simd/mod.hpp deleted file mode 100644 index 24a9c8f..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/mod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MOD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MOD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/muls.hpp b/inst/include/nt2/arithmetic/include/functions/simd/muls.hpp deleted file mode 100644 index a81929e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/muls.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MULS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_MULS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/negs.hpp b/inst/include/nt2/arithmetic/include/functions/simd/negs.hpp deleted file mode 100644 index ca3776c..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/negs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_NEGS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_NEGS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/oneminus.hpp b/inst/include/nt2/arithmetic/include/functions/simd/oneminus.hpp deleted file mode 100644 index ac27514..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/oneminus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ONEMINUS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ONEMINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/oneplus.hpp b/inst/include/nt2/arithmetic/include/functions/simd/oneplus.hpp deleted file mode 100644 index 3c62a7b..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/oneplus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ONEPLUS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ONEPLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/raw_rec.hpp b/inst/include/nt2/arithmetic/include/functions/simd/raw_rec.hpp deleted file mode 100644 index 0ed10fd..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/raw_rec.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_RAW_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_RAW_REC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/rec.hpp b/inst/include/nt2/arithmetic/include/functions/simd/rec.hpp deleted file mode 100644 index ee642db..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/rec.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/refine_rec.hpp b/inst/include/nt2/arithmetic/include/functions/simd/refine_rec.hpp deleted file mode 100644 index cd37cb5..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/refine_rec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REFINE_REC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REFINE_REC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/rem.hpp b/inst/include/nt2/arithmetic/include/functions/simd/rem.hpp deleted file mode 100644 index eb86058..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/rem.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REM_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/remainder.hpp b/inst/include/nt2/arithmetic/include/functions/simd/remainder.hpp deleted file mode 100644 index f41ca3a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/remainder.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMAINDER_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMAINDER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/remquo.hpp b/inst/include/nt2/arithmetic/include/functions/simd/remquo.hpp deleted file mode 100644 index 4a36569..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/remquo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMQUO_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMQUO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/remround.hpp b/inst/include/nt2/arithmetic/include/functions/simd/remround.hpp deleted file mode 100644 index 6acb554..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/remround.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_REMROUND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/round.hpp b/inst/include/nt2/arithmetic/include/functions/simd/round.hpp deleted file mode 100644 index a18e7e3..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/round.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ROUND_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ROUND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/round2even.hpp b/inst/include/nt2/arithmetic/include/functions/simd/round2even.hpp deleted file mode 100644 index b0b24a7..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/round2even.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ROUND2EVEN_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_ROUND2EVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/rsqrt.hpp b/inst/include/nt2/arithmetic/include/functions/simd/rsqrt.hpp deleted file mode 100644 index b720b3a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/rsqrt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_RSQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_RSQRT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/sqr.hpp b/inst/include/nt2/arithmetic/include/functions/simd/sqr.hpp deleted file mode 100644 index f92e6c3..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/sqr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/sqr_abs.hpp b/inst/include/nt2/arithmetic/include/functions/simd/sqr_abs.hpp deleted file mode 100644 index 3076572..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/sqr_abs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQR_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQR_ABS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/sqrs.hpp b/inst/include/nt2/arithmetic/include/functions/simd/sqrs.hpp deleted file mode 100644 index b599b03..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/sqrs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQRS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQRS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/sqrt.hpp b/inst/include/nt2/arithmetic/include/functions/simd/sqrt.hpp deleted file mode 100644 index 53e0ece..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/sqrt.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SQRT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/subs.hpp b/inst/include/nt2/arithmetic/include/functions/simd/subs.hpp deleted file mode 100644 index 81fa9c4..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/subs.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SUBS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_SUBS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/tenpower.hpp b/inst/include/nt2/arithmetic/include/functions/simd/tenpower.hpp deleted file mode 100644 index d35209d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/tenpower.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TENPOWER_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TENPOWER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/tofloat.hpp b/inst/include/nt2/arithmetic/include/functions/simd/tofloat.hpp deleted file mode 100644 index 4873f84..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/tofloat.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOFLOAT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOFLOAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/toint.hpp b/inst/include/nt2/arithmetic/include/functions/simd/toint.hpp deleted file mode 100644 index 6ec49fa..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/toint.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOINT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOINT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/toints.hpp b/inst/include/nt2/arithmetic/include/functions/simd/toints.hpp deleted file mode 100644 index 0a6e231..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/toints.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOINTS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOINTS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/touint.hpp b/inst/include/nt2/arithmetic/include/functions/simd/touint.hpp deleted file mode 100644 index c4f5c65..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/touint.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOUINT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOUINT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/touints.hpp b/inst/include/nt2/arithmetic/include/functions/simd/touints.hpp deleted file mode 100644 index 69b2af4..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/touints.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOUINTS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TOUINTS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/trunc.hpp b/inst/include/nt2/arithmetic/include/functions/simd/trunc.hpp deleted file mode 100644 index 4edf315..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/trunc.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TRUNC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/two_add.hpp b/inst/include/nt2/arithmetic/include/functions/simd/two_add.hpp deleted file mode 100644 index e39da42..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/two_add.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_ADD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_ADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/two_prod.hpp b/inst/include/nt2/arithmetic/include/functions/simd/two_prod.hpp deleted file mode 100644 index 97cb1ae..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/two_prod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_PROD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_PROD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/simd/two_split.hpp b/inst/include/nt2/arithmetic/include/functions/simd/two_split.hpp deleted file mode 100644 index 7b54b02..0000000 --- a/inst/include/nt2/arithmetic/include/functions/simd/two_split.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_SPLIT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SIMD_TWO_SPLIT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/sqr.hpp b/inst/include/nt2/arithmetic/include/functions/sqr.hpp deleted file mode 100644 index c9e4b6d..0000000 --- a/inst/include/nt2/arithmetic/include/functions/sqr.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SQR_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SQR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/sqr_abs.hpp b/inst/include/nt2/arithmetic/include/functions/sqr_abs.hpp deleted file mode 100644 index a585d32..0000000 --- a/inst/include/nt2/arithmetic/include/functions/sqr_abs.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SQR_ABS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SQR_ABS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/sqrs.hpp b/inst/include/nt2/arithmetic/include/functions/sqrs.hpp deleted file mode 100644 index ff70043..0000000 --- a/inst/include/nt2/arithmetic/include/functions/sqrs.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SQRS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SQRS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/sqrt.hpp b/inst/include/nt2/arithmetic/include/functions/sqrt.hpp deleted file mode 100644 index c059577..0000000 --- a/inst/include/nt2/arithmetic/include/functions/sqrt.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SQRT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SQRT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/subs.hpp b/inst/include/nt2/arithmetic/include/functions/subs.hpp deleted file mode 100644 index 4802319..0000000 --- a/inst/include/nt2/arithmetic/include/functions/subs.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SUBS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_SUBS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/tenpower.hpp b/inst/include/nt2/arithmetic/include/functions/tenpower.hpp deleted file mode 100644 index af9f9d2..0000000 --- a/inst/include/nt2/arithmetic/include/functions/tenpower.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TENPOWER_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TENPOWER_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/tofloat.hpp b/inst/include/nt2/arithmetic/include/functions/tofloat.hpp deleted file mode 100644 index a10a47e..0000000 --- a/inst/include/nt2/arithmetic/include/functions/tofloat.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOFLOAT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOFLOAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/toint.hpp b/inst/include/nt2/arithmetic/include/functions/toint.hpp deleted file mode 100644 index 897085b..0000000 --- a/inst/include/nt2/arithmetic/include/functions/toint.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOINT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOINT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/toints.hpp b/inst/include/nt2/arithmetic/include/functions/toints.hpp deleted file mode 100644 index 225f66c..0000000 --- a/inst/include/nt2/arithmetic/include/functions/toints.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOINTS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOINTS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/touint.hpp b/inst/include/nt2/arithmetic/include/functions/touint.hpp deleted file mode 100644 index 5f6de6c..0000000 --- a/inst/include/nt2/arithmetic/include/functions/touint.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOUINT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOUINT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/touints.hpp b/inst/include/nt2/arithmetic/include/functions/touints.hpp deleted file mode 100644 index 1ac2db2..0000000 --- a/inst/include/nt2/arithmetic/include/functions/touints.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOUINTS_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TOUINTS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/trunc.hpp b/inst/include/nt2/arithmetic/include/functions/trunc.hpp deleted file mode 100644 index 53f47d3..0000000 --- a/inst/include/nt2/arithmetic/include/functions/trunc.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TRUNC_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TRUNC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/two_add.hpp b/inst/include/nt2/arithmetic/include/functions/two_add.hpp deleted file mode 100644 index d4eb127..0000000 --- a/inst/include/nt2/arithmetic/include/functions/two_add.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_ADD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_ADD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/two_prod.hpp b/inst/include/nt2/arithmetic/include/functions/two_prod.hpp deleted file mode 100644 index 1001ab8..0000000 --- a/inst/include/nt2/arithmetic/include/functions/two_prod.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_PROD_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_PROD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/arithmetic/include/functions/two_split.hpp b/inst/include/nt2/arithmetic/include/functions/two_split.hpp deleted file mode 100644 index d86b09a..0000000 --- a/inst/include/nt2/arithmetic/include/functions/two_split.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED -#define NT2_ARITHMETIC_INCLUDE_FUNCTIONS_TWO_SPLIT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/bessel.hpp b/inst/include/nt2/bessel/bessel.hpp deleted file mode 100644 index 73cfc7a..0000000 --- a/inst/include/nt2/bessel/bessel.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BESSEL_BESSEL_HPP_INCLUDED -#define NT2_BESSEL_BESSEL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/constants.hpp b/inst/include/nt2/bessel/constants.hpp deleted file mode 100644 index 0e00cc9..0000000 --- a/inst/include/nt2/bessel/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_BESSEL_CONSTANTS_HPP_INCLUDED -#define NT2_BESSEL_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/bessel/functions.hpp b/inst/include/nt2/bessel/functions.hpp deleted file mode 100644 index 3ba4f28..0000000 --- a/inst/include/nt2/bessel/functions.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_BESSEL_FUNCTIONS_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/functions/i0.hpp b/inst/include/nt2/bessel/functions/i0.hpp deleted file mode 100644 index 015289e..0000000 --- a/inst/include/nt2/bessel/functions/i0.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_I0_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_I0_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief i0 generic tag - - Represents the i0 function in generic contexts. - - @par Models: - Hierarchy - **/ - struct i0_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_i0_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_i0_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_i0_; - } - /*! - Modified Bessel function of the first kind of order 0. - - @par Semantic: - - For every parameter of floating type T0 - - @code - T0 r = i0(a0); - @endcode - - Computes \f$\displaystyle \sum_0^\infty \frac{(x^2/4)^k}{(k!)^2}\f$ - - @param a0 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::i0_, i0, 1) -} - -#endif - diff --git a/inst/include/nt2/bessel/functions/j0.hpp b/inst/include/nt2/bessel/functions/j0.hpp deleted file mode 100644 index db5cfab..0000000 --- a/inst/include/nt2/bessel/functions/j0.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_J0_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_J0_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief j0 generic tag - - Represents the j0 function in generic contexts. - - @par Models: - Hierarchy - **/ - struct j0_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_j0_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_j0_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_j0_; - } - /*! - Bessel function of the first kind of order 0. - - @par Semantic: - - For every parameter of floating type T0 - - @code - T0 r = j0(x); - @endcode - - Computes \f$\displaystyle \frac1{\pi} \int_0^\pi \cos(x \sin t)\mbox{d}t\f$ - - @param a0 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::j0_, j0, 1) -} - -#endif - diff --git a/inst/include/nt2/bessel/functions/j1.hpp b/inst/include/nt2/bessel/functions/j1.hpp deleted file mode 100644 index 97530ea..0000000 --- a/inst/include/nt2/bessel/functions/j1.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_J1_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_J1_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief j1 generic tag - - Represents the j1 function in generic contexts. - - @par Models: - Hierarchy - **/ - struct j1_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_j1_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_j1_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_j1_; - } - /*! - Bessel function of the first kind of order 1. - - @par Semantic: - - For every parameter of floating type T0 - - @code - T0 r = j1(x); - @endcode - - Computes \f$\displaystyle \frac1{\pi} \int_0^\pi \cos(x \sin t - t)\mbox{d}t\f$ - - - @param a0 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::j1_, j1, 1) -} - -#endif - diff --git a/inst/include/nt2/bessel/functions/jni.hpp b/inst/include/nt2/bessel/functions/jni.hpp deleted file mode 100644 index a9c26eb..0000000 --- a/inst/include/nt2/bessel/functions/jni.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_JNI_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_JNI_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief jni generic tag - - Represents the jni function in generic contexts. - - @par Models: - Hierarchy - **/ - struct jni_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_jni_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_jni_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_jni_; - } - /*! - Bessel function of the first kind of order n. - - @par Semantic: - - For every parameters of floating types respectively T0, T1: - - @code - T0 r = jni(x,n); - @endcode - - Computes \f$\displaystyle \frac1{\pi} \int_0^\pi \cos(x \sin t - n t)\mbox{d}t\f$ - - @param a0 - - @param a1 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::jni_, jni, 2) -} - -#endif - diff --git a/inst/include/nt2/bessel/functions/scalar/i0.hpp b/inst/include/nt2/bessel/functions/scalar/i0.hpp deleted file mode 100644 index edf1020..0000000 --- a/inst/include/nt2/bessel/functions/scalar/i0.hpp +++ /dev/null @@ -1,201 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SCALAR_I0_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SCALAR_I0_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( i0_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(1) - { - return i0(result_type(a0)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is double -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( i0_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(1) - { - static const boost::array A = - {{ - -4.41534164647933937950E-18, - 3.33079451882223809783E-17, - -2.43127984654795469359E-16, - 1.71539128555513303061E-15, - -1.16853328779934516808E-14, - 7.67618549860493561688E-14, - -4.85644678311192946090E-13, - 2.95505266312963983461E-12, - -1.72682629144155570723E-11, - 9.67580903537323691224E-11, - -5.18979560163526290666E-10, - 2.65982372468238665035E-9, - -1.30002500998624804212E-8, - 6.04699502254191894932E-8, - -2.67079385394061173391E-7, - 1.11738753912010371815E-6, - -4.41673835845875056359E-6, - 1.64484480707288970893E-5, - -5.75419501008210370398E-5, - 1.88502885095841655729E-4, - -5.76375574538582365885E-4, - 1.63947561694133579842E-3, - -4.32430999505057594430E-3, - 1.05464603945949983183E-2, - -2.37374148058994688156E-2, - 4.93052842396707084878E-2, - -9.49010970480476444210E-2, - 1.71620901522208775349E-1, - -3.04682672343198398683E-1, - 6.76795274409476084995E-1 - }}; - static const boost::array B = - {{ - -7.23318048787475395456E-18, - -4.83050448594418207126E-18, - 4.46562142029675999901E-17, - 3.46122286769746109310E-17, - -2.82762398051658348494E-16, - -3.42548561967721913462E-16, - 1.77256013305652638360E-15, - 3.81168066935262242075E-15, - -9.55484669882830764870E-15, - -4.15056934728722208663E-14, - 1.54008621752140982691E-14, - 3.85277838274214270114E-13, - 7.18012445138366623367E-13, - -1.79417853150680611778E-12, - -1.32158118404477131188E-11, - -3.14991652796324136454E-11, - 1.18891471078464383424E-11, - 4.94060238822496958910E-10, - 3.39623202570838634515E-9, - 2.26666899049817806459E-8, - 2.04891858946906374183E-7, - 2.89137052083475648297E-6, - 6.88975834691682398426E-5, - 3.36911647825569408990E-3, - 8.04490411014108831608E-1 - }}; - A0 x = nt2::abs(a0); - if (is_inf(x)) return x; - if( x <= 8.0 ) - { - A0 y = x*Half() - Two(); - return( nt2::exp(x) * tchebeval( y, A) ); - } - return( nt2::exp(x) * tchebeval( 32.0/x - 2.0, B) / nt2::sqrt(x) ); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is float -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( i0_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - /* Chebyshev coefficients for exp(-x) I0(x) - * in the interval [0,8]. - * - * lim(x->0){ exp(-x) I0(x) } = 1. - */ - static const boost::array A = - {{ - -1.30002500998624804212E-8f, - 6.04699502254191894932E-8f, - -2.67079385394061173391E-7f, - 1.11738753912010371815E-6f, - -4.41673835845875056359E-6f, - 1.64484480707288970893E-5f, - -5.75419501008210370398E-5f, - 1.88502885095841655729E-4f, - -5.76375574538582365885E-4f, - 1.63947561694133579842E-3f, - -4.32430999505057594430E-3f, - 1.05464603945949983183E-2f, - -2.37374148058994688156E-2f, - 4.93052842396707084878E-2f, - -9.49010970480476444210E-2f, - 1.71620901522208775349E-1f, - -3.04682672343198398683E-1f, - 6.76795274409476084995E-1f - }}; - - - /* Chebyshev coefficients for exp(-x) sqrt(x) I0(x) - * in the inverted interval [8,infinity]. - * - * lim(x->inf){ exp(-x) sqrt(x) I0(x) } = 1/sqrt(2pi). - */ - - static const boost::array B = - {{ - 3.39623202570838634515E-9f, - 2.26666899049817806459E-8f, - 2.04891858946906374183E-7f, - 2.89137052083475648297E-6f, - 6.88975834691682398426E-5f, - 3.36911647825569408990E-3f, - 8.04490411014108831608E-1f - }}; - A0 x = nt2::abs(a0); - if (is_inf(x)) return x; - if( x <= 8.0f ) - { - A0 y = x*Half() - Two(); - return( exp(x) * tchebeval( y, A) ); - } - return( exp(x) * tchebeval( 32.0f/x - 2.0f, B) / sqrt(x) ); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/bessel/functions/scalar/j0.hpp b/inst/include/nt2/bessel/functions/scalar/j0.hpp deleted file mode 100644 index 124033d..0000000 --- a/inst/include/nt2/bessel/functions/scalar/j0.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SCALAR_J0_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SCALAR_J0_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( j0_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename boost::dispatch::meta::as_floating::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::j0(result_type(a0)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is double -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( j0_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(1) - { - if (is_inf(a0)) return Zero(); -#if defined(BOOST_SIMD_HAS__J0) - return ::_j0(a0); -#elif defined(BOOST_SIMD_HAS_J0) - return ::j0(a0); -#else -#error j0 not supported -#endif - } - }; -} } - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is float -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( j0_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type stype; - if (is_inf(a0)) return Zero(); - A0 x = nt2::abs(a0); - // if (x < 1.0e-3f) return oneminus(Quarter()*sqr(x)); - if (x <= Two()) - { - A0 z = sqr(x); - return (z-single_constant ())* - horner< NT2_HORNER_COEFF_T(stype, 5, - (0xb382511c, - 0x36d660a0, - 0xb9d01fb1, - 0x3c5a6271, - 0xbe3110a6 - ) ) > (z); - } - A0 q = rec(x); - const A0 p3 = nt2::sqrt(q) * - horner< NT2_HORNER_COEFF_T(stype, 8, - (0xbd8c100e, - 0x3e3ef887, - 0xbe5ba616, - 0x3df54214, - 0xbb69539e, - 0xbd4b8bc1, - 0xb6612dc2, - 0x3f4c422a - ) ) > (q); - const A0 xn = q* - horner< NT2_HORNER_COEFF_T(stype, 8, - (0x4201aee0, - 0xc2113945, - 0x418c7f6a, - 0xc09f3306, - 0x3f8040aa, - 0xbe46a57f, - 0x3d84ed6e, - 0xbdffff97 - ) ) > (sqr(q))-Pio_4(); - return p3*nt2::cos(xn+x); - } - }; -} } - -#endif diff --git a/inst/include/nt2/bessel/functions/scalar/j1.hpp b/inst/include/nt2/bessel/functions/scalar/j1.hpp deleted file mode 100644 index 444ee5a..0000000 --- a/inst/include/nt2/bessel/functions/scalar/j1.hpp +++ /dev/null @@ -1,148 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SCALAR_J1_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SCALAR_J1_HPP_INCLUDED -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( j1_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(1) - { - return nt2::j1(result_type(a0)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is double -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( j1_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(1) - { - if (is_ltz(a0)) return Nan(); -#ifndef BOOST_SIMD_NO_INVALIDS - if(nt2::is_inf(a0)) return Zero(); -#endif - if (is_eqz(a0)) return Zero(); - #if defined(BOOST_SIMD_HAS__J1) - return ::_j1(a0); - #elif defined(BOOST_SIMD_HAS_J1) - return ::j1(a0); - #else - #error j1 not supported - #endif - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is float -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( j1_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(1) - { - if (is_ltz(a0)) return Nan(); -#ifndef BOOST_SIMD_NO_INVALIDS - if(nt2::is_inf(a0)) return Zero(); -#endif - if (is_eqz(a0)) return Zero(); - A0 x = nt2::abs(a0); - if (lt(x,Two())) - { - A0 z = sqr(x); - return (z-single_constant ())*x* - horner< NT2_HORNER_COEFF_T(A0, 5, - (0xb1a7a246, - 0x35214df5, - 0xb83e7a4f, - 0x3afdefd1, - 0xbd0b7da6 - ) ) > (z); - } - A0 q = rec(x); - A0 w = nt2::sqrt(q); - A0 p3 = w * - horner< NT2_HORNER_COEFF_T(A0, 8, - (0x3d8d98f9, - 0xbe69f6b3, - 0x3ea0ad85, - 0xbe574699, - 0x3bb21b25, - 0x3e18ec50, - 0x36a6f7c5, - 0x3f4c4229 - ) ) > (q); - w = sqr(q); - A0 xn = q* - horner< NT2_HORNER_COEFF_T(A0, 8, - (0xc233e16d, - 0x424af04a, - 0xc1c6dca7, - 0x40e72299, - 0xbfc5bd69, - 0x3eb364d9, - 0xbe27bad7, - 0x3ebfffdd - ) ) > (w)-single_constant (); - return p3*nt2::cos(xn+x); - } - }; -} } - -#endif diff --git a/inst/include/nt2/bessel/functions/scalar/jni.hpp b/inst/include/nt2/bessel/functions/scalar/jni.hpp deleted file mode 100644 index fabe9e8..0000000 --- a/inst/include/nt2/bessel/functions/scalar/jni.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SCALAR_JNI_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SCALAR_JNI_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( jni_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< arithmetic_ >) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return nt2::jni(a0, result_type(a1)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is double -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( jni_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< double_ >) - ) - { - - typedef A1 result_type; - - NT2_FUNCTOR_CALL(2) - { -#ifndef BOOST_SIMD_NO_INVALIDS - if(nt2::is_inf(a1)) return Zero(); -#endif - #if defined(BOOST_SIMD_HAS__JN) - return ::_jn(a0, a1); - #elif defined(BOOST_SIMD_HAS_JN) - return ::jn(a0, a1); - #else - #error jn not supported - #endif - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is float -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( jni_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< single_ >) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - result_type x = a1; - const size_t n1 = nt2::abs(a0); - result_type sign = a0()?cospi(n1):One(); - if( n1 == 0 ) - return( sign * nt2::j0(x) ); - if( n1 == 1 ) - return( sign * nt2::j1(x) ); - if( n1 == 2 ) - return mul(sign, (mul(Two(), nt2::j1(x) / x) - nt2::j0(x)) ); - - /* continued fraction */ - ptrdiff_t k = 24; - result_type pk = Two()*(result_type(n1) + result_type(k)); - result_type ans = pk; - result_type xk = sqr(x); - do { - pk = pk - Two(); - ans = pk - (xk/ans); - } - while( --k > 0 ); - /* backward recurrence */ - - pk = One(); - /*pkm1 = 1.0/ans;*/ - result_type xinv = rec(x); - result_type pkm1 = ans * xinv; - k = n1-1; - result_type r = 2.0f*k; - - do{ - const result_type pkm2 = (pkm1 * r - pk * x) * xinv; - pk = pkm1; - pkm1 = pkm2; - r -= Two(); - } - while( --k > 0 ); - return sign*select(gt(abs(pk), nt2::abs(pkm1)),nt2::j1(x)/pk, nt2::j0(x)/pkm1); - // return ::jnf(a0, a1); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/bessel/functions/scalar/y0.hpp b/inst/include/nt2/bessel/functions/scalar/y0.hpp deleted file mode 100644 index 2781273..0000000 --- a/inst/include/nt2/bessel/functions/scalar/y0.hpp +++ /dev/null @@ -1,145 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SCALAR_Y0_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SCALAR_Y0_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( y0_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(1) - { - return nt2::y0(result_type(a0)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is double -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( y0_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(1) - { - if (is_ltz(a0)) return Nan(); -#ifndef BOOST_SIMD_NO_INVALIDS - if (is_nan(a0)) return Nan(); - if (is_inf(a0)) return Zero(); -#endif - if (is_eqz(a0)) return Minf(); -#if defined(BOOST_SIMD_HAS__Y0) - return ::_y0(a0); -#elif defined(BOOST_SIMD_HAS_Y0) - return ::y0(a0); -#else -#error y0 not supported -#endif - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is float -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( y0_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(1) - { - typedef typename meta::scalar_of::type stype; - if (is_ltz(a0)) return Nan(); -#ifndef BOOST_SIMD_NO_INVALIDS - if (is_nan(a0)) return Nan(); - if (is_inf(a0)) return Zero(); -#endif - if (is_eqz(a0)) return Minf(); - if (a0 <= Two()) - { - A0 z = sqr(a0); - A0 p2 = (z-single_constant())* - horner< NT2_HORNER_COEFF_T(stype, 5, - (0x33cb0920, - 0xb71ded71, - 0x3a0c1a3e, - 0xbc81c8f4, - 0x3e2edb4f - ) ) > (z); - return p2+single_constant()*nt2::log(a0)*nt2::j0(a0); - } - A0 q = rec(a0); - A0 w = nt2::sqrt(q); - A0 p3 = w * - horner< NT2_HORNER_COEFF_T(stype, 8, - (0xbd8c100e, - 0x3e3ef887, - 0xbe5ba616, - 0x3df54214, - 0xbb69539e, - 0xbd4b8bc1, - 0xb6612dc2, - 0x3f4c422a - ) ) > (q); - w = sqr(q); - A0 xn = q* - horner< NT2_HORNER_COEFF_T(stype, 8, - (0x4201aee0, - 0xc2113945, - 0x418c7f6a, - 0xc09f3306, - 0x3f8040aa, - 0xbe46a57f, - 0x3d84ed6e, - 0xbdffff97 - ) ) > (w)-Pio_4(); - return p3*nt2::sin(xn+a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/bessel/functions/scalar/y1.hpp b/inst/include/nt2/bessel/functions/scalar/y1.hpp deleted file mode 100644 index 58403cd..0000000 --- a/inst/include/nt2/bessel/functions/scalar/y1.hpp +++ /dev/null @@ -1,226 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SCALAR_Y1_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SCALAR_Y1_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( y1_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(1) - { - return nt2::y1(result_type(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( y1_, tag::cpu_ - , (A0) - , (scalar_< double_ >) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(1) - { - static boost::array PP = {{ - 7.62125616208173112003E-4, - 7.31397056940917570436E-2, - 1.12719608129684925192E0, - 5.11207951146807644818E0, - 8.42404590141772420927E0, - 5.21451598682361504063E0, - 1.00000000000000000254E0, - }}; - static boost::array PQ = {{ - 5.71323128072548699714E-4, - 6.88455908754495404082E-2, - 1.10514232634061696926E0, - 5.07386386128601488557E0, - 8.39985554327604159757E0, - 5.20982848682361821619E0, - 9.99999999999999997461E-1, - }}; - static boost::array YP = {{ - 1.26320474790178026440E9, - -6.47355876379160291031E11, - 1.14509511541823727583E14, - -8.12770255501325109621E15, - 2.02439475713594898196E17, - -7.78877196265950026825E17, - }}; - static boost::array YQ = {{ - /* 1.00000000000000000000E0,*/ - 5.94301592346128195359E2, - 2.35564092943068577943E5, - 7.34811944459721705660E7, - 1.87601316108706159478E10, - 3.88231277496238566008E12, - 6.20557727146953693363E14, - 6.87141087355300489866E16, - 3.97270608116560655612E18, - }}; - static boost::array QP = {{ - 5.10862594750176621635E-2, - 4.98213872951233449420E0, - 7.58238284132545283818E1, - 3.66779609360150777800E2, - 7.10856304998926107277E2, - 5.97489612400613639965E2, - 2.11688757100572135698E2, - 2.52070205858023719784E1, - }}; - static boost::array QQ = {{ - /* 1.00000000000000000000E0,*/ - 7.42373277035675149943E1, - 1.05644886038262816351E3, - 4.98641058337653607651E3, - 9.56231892404756170795E3, - 7.99704160447350683650E3, - 2.82619278517639096600E3, - 3.36093607810698293419E2, - }}; - typedef result_type rtype; - if (is_ltz(a0)) return Nan(); -#ifndef BOOST_SIMD_NO_INVALIDS - if (is_nan(a0)) return Nan(); - if (is_inf(a0)) return Zero(); -#endif - if (is_eqz(a0)) return Minf(); - rtype x = a0; - if( x <= Five() ) - { - // const A0 TWOOPI = 6.36619772367581343075535E-1; // 2/pi - A0 z = sqr(x); - A0 w = x * (polevl( z, YP) / p1evl( z, YQ)); - w += Twoopi() * ( j1(x) * log(x) - rec(x) ); - return w; - } - // const A0 SQ2OPI = 7.9788456080286535587989E-1; // sqrt( 2/pi ) - // const A0 THPIO4 = 2.35619449019234492885; // 3*pi/4 - A0 w = Five()/x; - A0 z = w * w; - A0 p = polevl( z, PP)/polevl( z, PQ); - A0 q = polevl( z, QP)/p1evl( z, QQ); - A0 xn = x - Threepio_4(); - A0 c, s; - boost::fusion::tie(s, c) = sincos(xn); - p = p * s + w * q * c; - return( p * Sqrt_2opi() / sqrt(x) ); - //return ::y1(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( y1_, tag::cpu_ - , (A0) - , (scalar_< single_ >) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(1) - { - if (is_ltz(a0)) return Nan(); -#ifndef BOOST_SIMD_NO_INVALIDS - if (is_nan(a0)) return Nan(); - if (is_inf(a0)) return Zero(); -#endif - if (is_eqz(a0)) return Minf(); -#ifdef BOOST_SIMD_HAS__Y1F - return ::_y1f(a0); -#elif defined(BOOST_SIMD_HAS_Y1F) - return ::y1f(a0); -#elif 0 // TODO: fix single-precision implementation - typedef typename meta::scalar_of::type stype; - if (is_ltz(a0)) return Nan(); - if (is_eqz(a0)) return Minf(); - A0 x = nt2::abs(a0); - if (lt(x,Two())) - { - A0 z = sqr(x); - return (z-single_constant ())*x* - horner< NT2_HORNER_COEFF_T(stype, 5, - (0xb1a7a246, - 0x35214df5, - 0xb83e7a4f, - 0x3afdefd1, - 0xbd0b7da6 - ) ) > (z); - } - A0 q = rec(x); - A0 w = sqrt(q); - A0 p3 = w * - horner< NT2_HORNER_COEFF_T(stype, 8, - (0x3d8d98f9, - 0xbe69f6b3, - 0x3ea0ad85, - 0xbe574699, - 0x3bb21b25, - 0x3e18ec50, - 0x36a6f7c5, - 0x3f4c4229 - ) ) > (q); - w = sqr(q); - A0 xn = q* - horner< NT2_HORNER_COEFF_T(stype, 8, - (0xc233e16d, - 0x424af04a, - 0xc1c6dca7, - 0x40e72299, - 0xbfc5bd69, - 0x3eb364d9, - 0xbe27bad7, - 0x3ebfffdd - ) ) > (w)-single_constant (); - return p3*nt2::cos(xn+x); -#else - return float(y1(double(a0))); -#endif -} - }; -} } - - -#endif diff --git a/inst/include/nt2/bessel/functions/scalar/yni.hpp b/inst/include/nt2/bessel/functions/scalar/yni.hpp deleted file mode 100644 index 05562ec..0000000 --- a/inst/include/nt2/bessel/functions/scalar/yni.hpp +++ /dev/null @@ -1,131 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SCALAR_YNI_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SCALAR_YNI_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( yni_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< arithmetic_ >) - ) - { - typedef typename boost::dispatch::meta::as_floating::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::yni(a0, result_type(a1)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is double -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( yni_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< double_ >) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { -#ifndef BOOST_SIMD_NO_INVALIDS - if (is_nan(a1)) return Nan(); - if (is_inf(a1)) return Zero(); -#endif - if (is_eqz(a1)) return Minf(); - #ifdef BOOST_SIMD_HAS__YN - return ::_yn(a0, a1); - #elif defined(BOOST_SIMD_HAS_YN) - return ::yn(a0, a1); - #else - #error yn not supported - #endif - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is float -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( yni_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< single_ >) - ) - { - - typedef A1 result_type; - - NT2_FUNCTOR_CALL(2) - { - if (is_ltz(a1)) return Nan(); -#ifndef BOOST_SIMD_NO_INVALIDS - if (is_nan(a1)) return Nan(); - if (is_inf(a1)) return Zero(); -#endif - if (is_eqz(a1)) return Minf(); - result_type x = a1; - const size_t n1 = nt2::abs(a0); - result_type sign = (a0<0)?nt2::cospi(n1):1; - if( n1 == 0u ) return( sign * nt2::y0(x) ); - if( n1 == 1u ) return( sign * nt2::y1(x) ); - // result_type an1 = n1; - /* forward recurrence on n */ - - result_type anm2 = nt2::y0(x); - result_type anm1 = nt2::y1(x); - size_t k = 1; - result_type r = result_type(k << 1); - result_type xinv = rec(x); - result_type an; - do - { - an = r*anm1*xinv-anm2; - anm2 = anm1; - anm1 = an; - r +=Two(); - ++k; - } - while( k < n1 ); - return sign*an; - // return ::ynf(a0, a1); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/bessel/functions/simd/common/i0.hpp b/inst/include/nt2/bessel/functions/simd/common/i0.hpp deleted file mode 100644 index 3660da6..0000000 --- a/inst/include/nt2/bessel/functions/simd/common/i0.hpp +++ /dev/null @@ -1,204 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SIMD_COMMON_I0_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SIMD_COMMON_I0_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_SIMD_NO_INFINITIES -#include -#include -#include -#endif - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( i0_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - const boost::array A = - {{ - -4.41534164647933937950E-18, - 3.33079451882223809783E-17, - -2.43127984654795469359E-16, - 1.71539128555513303061E-15, - -1.16853328779934516808E-14, - 7.67618549860493561688E-14, - -4.85644678311192946090E-13, - 2.95505266312963983461E-12, - -1.72682629144155570723E-11, - 9.67580903537323691224E-11, - -5.18979560163526290666E-10, - 2.65982372468238665035E-9, - -1.30002500998624804212E-8, - 6.04699502254191894932E-8, - -2.67079385394061173391E-7, - 1.11738753912010371815E-6, - -4.41673835845875056359E-6, - 1.64484480707288970893E-5, - -5.75419501008210370398E-5, - 1.88502885095841655729E-4, - -5.76375574538582365885E-4, - 1.63947561694133579842E-3, - -4.32430999505057594430E-3, - 1.05464603945949983183E-2, - -2.37374148058994688156E-2, - 4.93052842396707084878E-2, - -9.49010970480476444210E-2, - 1.71620901522208775349E-1, - -3.04682672343198398683E-1, - 6.76795274409476084995E-1 - }}; - const boost::array B = - {{ - -7.23318048787475395456E-18, - -4.83050448594418207126E-18, - 4.46562142029675999901E-17, - 3.46122286769746109310E-17, - -2.82762398051658348494E-16, - -3.42548561967721913462E-16, - 1.77256013305652638360E-15, - 3.81168066935262242075E-15, - -9.55484669882830764870E-15, - -4.15056934728722208663E-14, - 1.54008621752140982691E-14, - 3.85277838274214270114E-13, - 7.18012445138366623367E-13, - -1.79417853150680611778E-12, - -1.32158118404477131188E-11, - -3.14991652796324136454E-11, - 1.18891471078464383424E-11, - 4.94060238822496958910E-10, - 3.39623202570838634515E-9, - 2.26666899049817806459E-8, - 2.04891858946906374183E-7, - 2.89137052083475648297E-6, - 6.88975834691682398426E-5, - 3.36911647825569408990E-3, - 8.04490411014108831608E-1 - }}; - A0 x = nt2::abs(a0); - A0 r = Nan(); - bA0 test = le(x, Eight()); - std::size_t nb = inbtrue(test); - if( nb > 0) - { - A0 y = x*Half() - Two(); - r = if_else_nan(test,exp(x) * tchebeval( y, A)); - if (nb >= meta::cardinal_of::value) - return r; - } - r &= if_nan_else(test, exp(x) * tchebeval( splat(32.0)/x - Two(), B)*rsqrt(x)); - #ifndef BOOST_SIMD_NO_INFINITIES - r = if_else(eq(x, Inf()), x, r); - #endif - return r; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( i0_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - /* Chebyshev coefficients for exp(-x) I0(x) - * in the interval [0,8]. - * - * lim(x->0){ exp(-x) I0(x) } = 1. - */ - const boost::array A = - {{ - -1.30002500998624804212E-8f, - 6.04699502254191894932E-8f, - -2.67079385394061173391E-7f, - 1.11738753912010371815E-6f, - -4.41673835845875056359E-6f, - 1.64484480707288970893E-5f, - -5.75419501008210370398E-5f, - 1.88502885095841655729E-4f, - -5.76375574538582365885E-4f, - 1.63947561694133579842E-3f, - -4.32430999505057594430E-3f, - 1.05464603945949983183E-2f, - -2.37374148058994688156E-2f, - 4.93052842396707084878E-2f, - -9.49010970480476444210E-2f, - 1.71620901522208775349E-1f, - -3.04682672343198398683E-1f, - 6.76795274409476084995E-1f - }}; - - /* Chebyshev coefficients for exp(-x) sqrt(x) I0(x) - * in the inverted interval [8,infinity]. - * - * lim(x->inf){ exp(-x) sqrt(x) I0(x) } = 1/sqrt(2pi). - */ - - const boost::array B = - {{ - 3.39623202570838634515E-9f, - 2.26666899049817806459E-8f, - 2.04891858946906374183E-7f, - 2.89137052083475648297E-6f, - 6.88975834691682398426E-5f, - 3.36911647825569408990E-3f, - 8.04490411014108831608E-1f - }}; - A0 x = nt2::abs(a0); - A0 r = Nan(); - bA0 test = le(x, Eight()); - std::size_t nb = inbtrue(test); - if(nb > 0) - { - A0 y = x*Half() - Two(); - r = if_else_nan(test,exp(x) * tchebeval( y, A)); - if (nb >= meta::cardinal_of::value) - return r; - } - r &= if_nan_else(test, exp(x) * tchebeval( splat(32.0)/x - Two(), B)*rsqrt(x)); - #ifndef BOOST_SIMD_NO_INFINITIES - r = if_else(eq(x, Inf()), x, r); - #endif - return r; - } - }; -} } - -#endif diff --git a/inst/include/nt2/bessel/functions/simd/common/j0.hpp b/inst/include/nt2/bessel/functions/simd/common/j0.hpp deleted file mode 100644 index f40325d..0000000 --- a/inst/include/nt2/bessel/functions/simd/common/j0.hpp +++ /dev/null @@ -1,131 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SIMD_COMMON_J0_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SIMD_COMMON_J0_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( j0_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(1) - { - return nt2::j0(tofloat(a0)); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A0 is double - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT ( j0_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return map(functor(), a0); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A0 is float - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT (j0_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - A0 x = nt2::abs(a0); - bA0 lt2 = lt(x, Two()); - if (nt2::all(lt2)) - return branch1(x); - else - return if_else (lt2, branch1(x), branch2(x)); - // as branch1 is quick there is no need for an "else if" case - // computing only branch2, this probably due to the double pipeline - } - private : - template < class AA0 > static inline AA0 branch1(const AA0& x) - { - typedef typename meta::scalar_of::type stype; - const AA0 z = sqr(x); - return (z-single_constant ())* - horner< NT2_HORNER_COEFF_T(stype, 5, - (0xb382511c, - 0x36d660a0, - 0xb9d01fb1, - 0x3c5a6271, - 0xbe3110a6 - ) ) > (z); - } - template < class AA0 > static inline AA0 branch2(const AA0& x) - { - typedef typename meta::scalar_of::type stype; - AA0 q = rec(x); - AA0 w = sqrt(q); - AA0 p3 = w * - horner< NT2_HORNER_COEFF_T(stype, 8, - (0xbd8c100e, - 0x3e3ef887, - 0xbe5ba616, - 0x3df54214, - 0xbb69539e, - 0xbd4b8bc1, - 0xb6612dc2, - 0x3f4c422a - ) ) > (q); - w = sqr(q); - AA0 xn = q* - horner< NT2_HORNER_COEFF_T(stype, 8, - (0x4201aee0, - 0xc2113945, - 0x418c7f6a, - 0xc09f3306, - 0x3f8040aa, - 0xbe46a57f, - 0x3d84ed6e, - 0xbdffff97 - ) ) > (w)-Pio_4(); - return if_zero_else(eq(x, Inf()), p3*cos(xn+x)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/bessel/functions/simd/common/j1.hpp b/inst/include/nt2/bessel/functions/simd/common/j1.hpp deleted file mode 100644 index ab83557..0000000 --- a/inst/include/nt2/bessel/functions/simd/common/j1.hpp +++ /dev/null @@ -1,124 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SIMD_COMMON_J1_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SIMD_COMMON_J1_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( j1_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_floating::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::j1(tofloat(a0)); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A0 is double - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT ( j1_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return map(functor(), a0); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A0 is float - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT (j1_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - A0 x = nt2::abs(a0); - bA0 lt2 = lt(x, Two < A0>()); - if (nt2::all(lt2)) - return branch1(x); - else - return select (lt2, branch1(x), branch2(x)); - // as branch1 is quick there is no need for an "else if" case - // computing only branch2, this probably due to the double pipeline - } - private: - template < class AA0 > static inline AA0 branch1(const AA0 & x) - { - typedef typename meta::scalar_of::type stype; - const AA0 z = sqr(x); - return (z-single_constant ())*x* - horner< NT2_HORNER_COEFF_T(stype, 5, - (0xb1a7a246, - 0x35214df5, - 0xb83e7a4f, - 0x3afdefd1, - 0xbd0b7da6 - ) ) > (z); - } - template < class AA0 > static inline AA0 branch2(const AA0 & x) - { - typedef typename meta::scalar_of::type stype; - AA0 q = rec(x); - AA0 w = sqrt(q); - AA0 p3 = w * - horner< NT2_HORNER_COEFF_T(stype, 8, - (0x3d8d98f9, - 0xbe69f6b3, - 0x3ea0ad85, - 0xbe574699, - 0x3bb21b25, - 0x3e18ec50, - 0x36a6f7c5, - 0x3f4c4229 - ) ) > (q); - w = sqr(q); - AA0 xn = q* - horner< NT2_HORNER_COEFF_T(stype, 8, - (0xc233e16d, - 0x424af04a, - 0xc1c6dca7, - 0x40e72299, - 0xbfc5bd69, - 0x3eb364d9, - 0xbe27bad7, - 0x3ebfffdd - ) ) > (w)-single_constant (); - return if_zero_else(eq(x, Inf()), p3*cos(xn+x)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/bessel/functions/simd/common/jni.hpp b/inst/include/nt2/bessel/functions/simd/common/jni.hpp deleted file mode 100644 index 3ee753a..0000000 --- a/inst/include/nt2/bessel/functions/simd/common/jni.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SIMD_COMMON_JNI_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SIMD_COMMON_JNI_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( jni_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< integer_ >)((simd_,X>)) - ) - { - - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return nt2::jni(a0, tofloat(a1)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is float -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( jni_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< integer_ >)((simd_,X>)) - ) - { - typedef A1 result_type; - - NT2_FUNCTOR_CALL(2) - { - typedef A1 type; - type x = a1; - const int32_t n1 = nt2::abs(a0); - type sign = splat(a0<0?nt2::cospi(n1):1); - if( n1 == 0 ) - return( sign * j0(x) ); - if( n1 == 1 ) - return( sign * j1(x) ); - if( n1 == 2 ) - return mul(sign, (mul(Two(), j1(x) / x) - j0(x)) ); - - /* continued fraction */ - int k = 24; - type pk = splat(2*(n1 + k)); - type ans = pk; - type xk = sqr(x); - do { - pk = pk - Two(); - ans = pk - (xk/ans); - } - while( --k > 0 ); - /* backward recurrence */ - - pk = One(); - /*pkm1 = 1.0/ans;*/ - type xinv = rec(x); - type pkm1 = ans * xinv; - k = n1-1; - type r = splat(2.0f*k); - - do{ - const type pkm2 = (pkm1 * r - pk * x) * xinv; - pk = pkm1; - pkm1 = pkm2; - r = r-Two(); - } - while( --k > 0 ); - return sign*sel(is_greater(nt2::abs(pk), nt2::abs(pkm1)),j1(x)/pk, j0(x)/pkm1); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/bessel/functions/simd/common/y0.hpp b/inst/include/nt2/bessel/functions/simd/common/y0.hpp deleted file mode 100644 index a539a2c..0000000 --- a/inst/include/nt2/bessel/functions/simd/common/y0.hpp +++ /dev/null @@ -1,132 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SIMD_COMMON_Y0_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SIMD_COMMON_Y0_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( y0_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(1) - { - return nt2::y0(tofloat(a0)); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A0 is double - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT ( y0_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return map(functor(), a0); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A0 is float - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT (y0_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - A0 x = nt2::abs(a0); - bA0 lt2 = lt(x, Two()); - if (nt2::all(lt2)) - { - return branch1(x); - } - else - { - return select (lt2, branch1(x), branch2(x)); - } - // as branch1 is quick there is no need for an "else if" case - // computing only branch2, this probably due to the double pipeline - } - private: - template < class AA0 > static inline AA0 branch1(const AA0 & a0) - { - typedef typename meta::scalar_of::type sAA0; - AA0 z = sqr(a0); - AA0 p2 = (z-single_constant ())* - horner< NT2_HORNER_COEFF_T(sAA0, 5, - (0x33cb0920, - 0xb71ded71, - 0x3a0c1a3e, - 0xbc81c8f4, - 0x3e2edb4f - ) ) > (z); - return p2+single_constant()*nt2::log(a0)*j0(a0); - } - template < class AA0 > static inline AA0 branch2(const AA0 & a0) - { - typedef typename meta::scalar_of::type sAA0; - AA0 q = rec(a0); - AA0 w = sqrt(q); - AA0 p3 = w * - horner< NT2_HORNER_COEFF_T(sAA0, 8, - (0xbd8c100e, - 0x3e3ef887, - 0xbe5ba616, - 0x3df54214, - 0xbb69539e, - 0xbd4b8bc1, - 0xb6612dc2, - 0x3f4c422a - ) ) > (q); - w = sqr(q); - AA0 xn = q* - horner< NT2_HORNER_COEFF_T(sAA0, 8, - (0x4201aee0, - 0xc2113945, - 0x418c7f6a, - 0xc09f3306, - 0x3f8040aa, - 0xbe46a57f, - 0x3d84ed6e, - 0xbdffff97 - ) ) > (w)-Pio_4(); - return if_zero_else(eq(a0, Inf()), p3*nt2::sin(xn+a0)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/bessel/functions/simd/common/y1.hpp b/inst/include/nt2/bessel/functions/simd/common/y1.hpp deleted file mode 100644 index a0136b3..0000000 --- a/inst/include/nt2/bessel/functions/simd/common/y1.hpp +++ /dev/null @@ -1,125 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SIMD_COMMON_Y1_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SIMD_COMMON_Y1_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( y1_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef typename meta::as_floating::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::y1(tofloat(a0)); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A0 is double - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT ( y1_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return map(functor(), a0); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A0 is float - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT ( y1_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - typedef typename meta::scalar_of::type sA0; - bA0 a0lt2 = lt(a0, Two()); - A0 q = rec(a0); - A0 p2 = Zero(); - if (nt2::any(a0lt2)) - { - A0 z = sqr(a0); - p2 = (z-single_constant ())*a0* - horner< NT2_HORNER_COEFF_T(sA0, 5, - (0x320a80f5, - 0xb57eeb2e, - 0x388ceb47, - 0xbb2d21cf, - 0x3d2c210b - ) ) > (z); - p2 = p2+single_constant()*(j1(a0)*log(a0)-q); - p2 = sel(is_eqz(a0), Minf(), p2); - if (nt2::all(a0lt2)) return p2; - } - A0 w = sqrt(q); - A0 p3 = w * - horner< NT2_HORNER_COEFF_T(sA0, 8, - (0x3d8d98f9, - 0xbe69f6b3, - 0x3ea0ad85, - 0xbe574699, - 0x3bb21b25, - 0x3e18ec50, - 0x36a6f7c5, - 0x3f4c4229 - ) ) > (q); - w = sqr(q); - A0 xn = q* - horner< NT2_HORNER_COEFF_T(sA0, 8, - (0xc233e16d, - 0x424af04a, - 0xc1c6dca7, - 0x40e72299, - 0xbfc5bd69, - 0x3eb364d9, - 0xbe27bad7, - 0x3ebfffdd - ) ) > (w)-single_constant (); - p3 = p3*sin(xn+a0); - return if_zero_else(is_inf(a0), select(a0lt2, p2, p3)); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/bessel/functions/simd/common/yni.hpp b/inst/include/nt2/bessel/functions/simd/common/yni.hpp deleted file mode 100644 index 18a937e..0000000 --- a/inst/include/nt2/bessel/functions/simd/common/yni.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_SIMD_COMMON_YNI_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_SIMD_COMMON_YNI_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( yni_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< integer_ >)((simd_,X> )) - ) - { - typedef typename meta::as_floating::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::yni(a0, tofloat(a1)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is float -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( yni_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< integer_ >) - ((simd_,X>)) - ) - { - - typedef A1 result_type; - - NT2_FUNCTOR_CALL(2) - { - result_type x = a1; - const int32_t n1 = nt2::abs(a0); - result_type sign = splat((a0<0)?cospi(n1):1); - if( n1 == 0 ) return( sign * y0(x) ); - if( n1 == 1 ) return( sign * y1(x) ); - /* forward recurrence on n */ - - result_type anm2 = y0(x); - result_type anm1 = y1(x); - int32_t k = 1; - result_type r = splat(k << 1); - result_type xinv = rec(x); - result_type an; - do - { - an = r*anm1*xinv-anm2; - anm2 = anm1; - anm1 = an; - r +=Two(); - ++k; - } - while( k < n1 ); - return if_nan_else(is_ltz(a1),sign*an); - } - }; -} } - -#endif diff --git a/inst/include/nt2/bessel/functions/y0.hpp b/inst/include/nt2/bessel/functions/y0.hpp deleted file mode 100644 index d6fb3a5..0000000 --- a/inst/include/nt2/bessel/functions/y0.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_Y0_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_Y0_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief y0 generic tag - - Represents the y0 function in generic contexts. - - @par Models: - Hierarchy - **/ - struct y0_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_y0_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_y0_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_y0_; - } - /*! - Bessel function of the second kind of order 0. - - @par Semantic: - - For every parameter of floating type T0 - - @code - T0 r = y0(a0); - @endcode - - Computes \f$\displaystyle \lim_{\nu \rightarrow 0} \frac{\cos(\nu\pi)J_{\nu}(x)-J_{-\nu}(x)}{\cos(\nu\pi)}\f$ - - @param a0 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::y0_, y0, 1) -} - -#endif - diff --git a/inst/include/nt2/bessel/functions/y1.hpp b/inst/include/nt2/bessel/functions/y1.hpp deleted file mode 100644 index 8e32f53..0000000 --- a/inst/include/nt2/bessel/functions/y1.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_Y1_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_Y1_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief y1 generic tag - - Represents the y1 function in generic contexts. - - @par Models: - Hierarchy - **/ - struct y1_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_y1_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_y1_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_y1_; - } - /*! - Bessel function of the second kind of order 1. - - @par Semantic: - - For every parameter of floating type T0 - - @code - T0 r = y1(a0); - @endcode - - Computes \f$\displaystyle \lim_{\nu \rightarrow 1} \frac{\cos(\nu\pi)J_{\nu}(x)-J_{-\nu}(x)}{\cos(\nu\pi)}\f$ - - @param a0 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::y1_, y1, 1) -} - -#endif - diff --git a/inst/include/nt2/bessel/functions/yni.hpp b/inst/include/nt2/bessel/functions/yni.hpp deleted file mode 100644 index 6954622..0000000 --- a/inst/include/nt2/bessel/functions/yni.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BESSEL_FUNCTIONS_YNI_HPP_INCLUDED -#define NT2_BESSEL_FUNCTIONS_YNI_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief yni generic tag - - Represents the yni function in generic contexts. - - @par Models: - Hierarchy - **/ - struct yni_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_yni_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_yni_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_yni_; - } - /*! - Modified Bessel function of the first kind of order n. - - @par Semantic: - - For every parameters of floating types respectively T0, T1: - - @code - T0 r = yni(a0,a1); - @endcode - - Computes \f$\displaystyle \lim_{\nu \rightarrow n} \frac{\cos(\nu\pi)J_{\nu}(x)-J_{-\nu}(x)}{\cos(\nu\pi)}\f$ - - @param a0 - - @param a1 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::yni_, yni, 2) -} - -#endif - diff --git a/inst/include/nt2/bessel/include/functions/i0.hpp b/inst/include/nt2/bessel/include/functions/i0.hpp deleted file mode 100644 index 29caba3..0000000 --- a/inst/include/nt2/bessel/include/functions/i0.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_I0_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_I0_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/j0.hpp b/inst/include/nt2/bessel/include/functions/j0.hpp deleted file mode 100644 index 50adc2f..0000000 --- a/inst/include/nt2/bessel/include/functions/j0.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_J0_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_J0_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/j1.hpp b/inst/include/nt2/bessel/include/functions/j1.hpp deleted file mode 100644 index cfb6e61..0000000 --- a/inst/include/nt2/bessel/include/functions/j1.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_J1_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_J1_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/jni.hpp b/inst/include/nt2/bessel/include/functions/jni.hpp deleted file mode 100644 index 9bee676..0000000 --- a/inst/include/nt2/bessel/include/functions/jni.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_JNI_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_JNI_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/scalar/i0.hpp b/inst/include/nt2/bessel/include/functions/scalar/i0.hpp deleted file mode 100644 index efcd446..0000000 --- a/inst/include/nt2/bessel/include/functions/scalar/i0.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_I0_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_I0_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/scalar/j0.hpp b/inst/include/nt2/bessel/include/functions/scalar/j0.hpp deleted file mode 100644 index aadba28..0000000 --- a/inst/include/nt2/bessel/include/functions/scalar/j0.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_J0_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_J0_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/scalar/j1.hpp b/inst/include/nt2/bessel/include/functions/scalar/j1.hpp deleted file mode 100644 index 2c315f9..0000000 --- a/inst/include/nt2/bessel/include/functions/scalar/j1.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_J1_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_J1_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/scalar/jni.hpp b/inst/include/nt2/bessel/include/functions/scalar/jni.hpp deleted file mode 100644 index 668a12d..0000000 --- a/inst/include/nt2/bessel/include/functions/scalar/jni.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_JNI_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_JNI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/scalar/y0.hpp b/inst/include/nt2/bessel/include/functions/scalar/y0.hpp deleted file mode 100644 index e7eb202..0000000 --- a/inst/include/nt2/bessel/include/functions/scalar/y0.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_Y0_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_Y0_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/scalar/y1.hpp b/inst/include/nt2/bessel/include/functions/scalar/y1.hpp deleted file mode 100644 index 15d2806..0000000 --- a/inst/include/nt2/bessel/include/functions/scalar/y1.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_Y1_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_Y1_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/scalar/yni.hpp b/inst/include/nt2/bessel/include/functions/scalar/yni.hpp deleted file mode 100644 index 2a84daf..0000000 --- a/inst/include/nt2/bessel/include/functions/scalar/yni.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_YNI_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SCALAR_YNI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/simd/i0.hpp b/inst/include/nt2/bessel/include/functions/simd/i0.hpp deleted file mode 100644 index 0ca7f33..0000000 --- a/inst/include/nt2/bessel/include/functions/simd/i0.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_I0_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_I0_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/simd/j0.hpp b/inst/include/nt2/bessel/include/functions/simd/j0.hpp deleted file mode 100644 index 1c8f6b1..0000000 --- a/inst/include/nt2/bessel/include/functions/simd/j0.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_J0_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_J0_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/simd/j1.hpp b/inst/include/nt2/bessel/include/functions/simd/j1.hpp deleted file mode 100644 index 36fc05a..0000000 --- a/inst/include/nt2/bessel/include/functions/simd/j1.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_J1_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_J1_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/simd/jni.hpp b/inst/include/nt2/bessel/include/functions/simd/jni.hpp deleted file mode 100644 index ab130c7..0000000 --- a/inst/include/nt2/bessel/include/functions/simd/jni.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_JNI_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_JNI_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/simd/y0.hpp b/inst/include/nt2/bessel/include/functions/simd/y0.hpp deleted file mode 100644 index e3a4c16..0000000 --- a/inst/include/nt2/bessel/include/functions/simd/y0.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_Y0_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_Y0_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/simd/y1.hpp b/inst/include/nt2/bessel/include/functions/simd/y1.hpp deleted file mode 100644 index bb7d65c..0000000 --- a/inst/include/nt2/bessel/include/functions/simd/y1.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_Y1_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_Y1_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/simd/yni.hpp b/inst/include/nt2/bessel/include/functions/simd/yni.hpp deleted file mode 100644 index ff57608..0000000 --- a/inst/include/nt2/bessel/include/functions/simd/yni.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_YNI_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_SIMD_YNI_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/y0.hpp b/inst/include/nt2/bessel/include/functions/y0.hpp deleted file mode 100644 index 4add671..0000000 --- a/inst/include/nt2/bessel/include/functions/y0.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_Y0_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_Y0_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/y1.hpp b/inst/include/nt2/bessel/include/functions/y1.hpp deleted file mode 100644 index 46f7f84..0000000 --- a/inst/include/nt2/bessel/include/functions/y1.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_Y1_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_Y1_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bessel/include/functions/yni.hpp b/inst/include/nt2/bessel/include/functions/yni.hpp deleted file mode 100644 index 0a33991..0000000 --- a/inst/include/nt2/bessel/include/functions/yni.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BESSEL_INCLUDE_FUNCTIONS_YNI_HPP_INCLUDED -#define NT2_BESSEL_INCLUDE_FUNCTIONS_YNI_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/bitwise.hpp b/inst/include/nt2/bitwise/bitwise.hpp deleted file mode 100644 index b1d3d7b..0000000 --- a/inst/include/nt2/bitwise/bitwise.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_BITWISE_HPP_INCLUDED -#define NT2_BITWISE_BITWISE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/constants.hpp b/inst/include/nt2/bitwise/constants.hpp deleted file mode 100644 index 6d4fac4..0000000 --- a/inst/include/nt2/bitwise/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_BITWISE_CONSTANTS_HPP_INCLUDED -#define NT2_BITWISE_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/bitwise/functions.hpp b/inst/include/nt2/bitwise/functions.hpp deleted file mode 100644 index ad8f80b..0000000 --- a/inst/include/nt2/bitwise/functions.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef NT2_BITWISE_FUNCTIONS_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/functions/bitget.hpp b/inst/include/nt2/bitwise/functions/bitget.hpp deleted file mode 100644 index a3a2e53..0000000 --- a/inst/include/nt2/bitwise/functions/bitget.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_BITGET_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_BITGET_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::bitget_} **/ - struct bitget_ {}; - #endif - using boost::simd::tag::bitget_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::bitget} **/ - template - details::unspecified bitget(Args&&... args); - #endif - using boost::simd::bitget; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/bits.hpp b/inst/include/nt2/bitwise/functions/bits.hpp deleted file mode 100644 index f292c57..0000000 --- a/inst/include/nt2/bitwise/functions/bits.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_BITS_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_BITS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::bits_} **/ - struct bits_ {}; - #endif - using boost::simd::tag::bits_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::bits} **/ - template - details::unspecified bits(Args&&... args); - #endif - using boost::simd::bits; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/bitset.hpp b/inst/include/nt2/bitwise/functions/bitset.hpp deleted file mode 100644 index 9950bb1..0000000 --- a/inst/include/nt2/bitwise/functions/bitset.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_BITSET_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_BITSET_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::bitset_} **/ - struct bitset_ {}; - #endif - using boost::simd::tag::bitset_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::bitset} **/ - template - details::unspecified bitset(Args&&... args); - #endif - using boost::simd::bitset; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/bitwise_andnot.hpp b/inst/include/nt2/bitwise/functions/bitwise_andnot.hpp deleted file mode 100644 index 3619978..0000000 --- a/inst/include/nt2/bitwise/functions/bitwise_andnot.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::bitwise_andnot_} **/ - struct bitwise_andnot_ {}; - #endif - using boost::simd::tag::bitwise_andnot_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::bitwise_andnot} **/ - template - details::unspecified bitwise_andnot(Args&&... args); - #endif - using boost::simd::bitwise_andnot; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/bitwise_notand.hpp b/inst/include/nt2/bitwise/functions/bitwise_notand.hpp deleted file mode 100644 index f010c11..0000000 --- a/inst/include/nt2/bitwise/functions/bitwise_notand.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::bitwise_notand_} **/ - struct bitwise_notand_ {}; - #endif - using boost::simd::tag::bitwise_notand_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::bitwise_notand} **/ - template - details::unspecified bitwise_notand(Args&&... args); - #endif - using boost::simd::bitwise_notand; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/bitwise_notor.hpp b/inst/include/nt2/bitwise/functions/bitwise_notor.hpp deleted file mode 100644 index 490e24c..0000000 --- a/inst/include/nt2/bitwise/functions/bitwise_notor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::bitwise_notor_} **/ - struct bitwise_notor_ {}; - #endif - using boost::simd::tag::bitwise_notor_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::bitwise_notor} **/ - template - details::unspecified bitwise_notor(Args&&... args); - #endif - using boost::simd::bitwise_notor; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/bitwise_ornot.hpp b/inst/include/nt2/bitwise/functions/bitwise_ornot.hpp deleted file mode 100644 index 8387d43..0000000 --- a/inst/include/nt2/bitwise/functions/bitwise_ornot.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::bitwise_ornot_} **/ - struct bitwise_ornot_ {}; - #endif - using boost::simd::tag::bitwise_ornot_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::bitwise_ornot} **/ - template - details::unspecified bitwise_ornot(Args&&... args); - #endif - using boost::simd::bitwise_ornot; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/bitwise_select.hpp b/inst/include/nt2/bitwise/functions/bitwise_select.hpp deleted file mode 100644 index d3bed1b..0000000 --- a/inst/include/nt2/bitwise/functions/bitwise_select.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::bitwise_select_} **/ - struct bitwise_select_ {}; - #endif - using boost::simd::tag::bitwise_select_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::bitwise_select} **/ - template - details::unspecified bitwise_select(Args&&... args); - #endif - using boost::simd::bitwise_select; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/clz.hpp b/inst/include/nt2/bitwise/functions/clz.hpp deleted file mode 100644 index 14205d8..0000000 --- a/inst/include/nt2/bitwise/functions/clz.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_CLZ_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_CLZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::clz_} **/ - struct clz_ {}; - #endif - using boost::simd::tag::clz_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::clz} **/ - template - details::unspecified clz(Args&&... args); - #endif - using boost::simd::clz; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/ctz.hpp b/inst/include/nt2/bitwise/functions/ctz.hpp deleted file mode 100644 index 4b57b12..0000000 --- a/inst/include/nt2/bitwise/functions/ctz.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_CTZ_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_CTZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ctz_} **/ - struct ctz_ {}; - #endif - using boost::simd::tag::ctz_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ctz} **/ - template - details::unspecified ctz(Args&&... args); - #endif - using boost::simd::ctz; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/ffs.hpp b/inst/include/nt2/bitwise/functions/ffs.hpp deleted file mode 100644 index 388ffc1..0000000 --- a/inst/include/nt2/bitwise/functions/ffs.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_FFS_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_FFS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ffs_} **/ - struct ffs_ {}; - #endif - using boost::simd::tag::ffs_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ffs} **/ - template - details::unspecified ffs(Args&&... args); - #endif - using boost::simd::ffs; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/firstbitset.hpp b/inst/include/nt2/bitwise/functions/firstbitset.hpp deleted file mode 100644 index ed5118b..0000000 --- a/inst/include/nt2/bitwise/functions/firstbitset.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::firstbitset_} **/ - struct firstbitset_ {}; - #endif - using boost::simd::tag::firstbitset_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::firstbitset} **/ - template - details::unspecified firstbitset(Args&&... args); - #endif - using boost::simd::firstbitset; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/firstbitunset.hpp b/inst/include/nt2/bitwise/functions/firstbitunset.hpp deleted file mode 100644 index fbffdb1..0000000 --- a/inst/include/nt2/bitwise/functions/firstbitunset.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::firstbitunset_} **/ - struct firstbitunset_ {}; - #endif - using boost::simd::tag::firstbitunset_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::firstbitunset} **/ - template - details::unspecified firstbitunset(Args&&... args); - #endif - using boost::simd::firstbitunset; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/genmask.hpp b/inst/include/nt2/bitwise/functions/genmask.hpp deleted file mode 100644 index 008987a..0000000 --- a/inst/include/nt2/bitwise/functions/genmask.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_GENMASK_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_GENMASK_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::genmask_} **/ - struct genmask_ {}; - #endif - using boost::simd::tag::genmask_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::genmask} **/ - template - details::unspecified genmask(Args&&... args); - #endif - using boost::simd::genmask; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/genmaskc.hpp b/inst/include/nt2/bitwise/functions/genmaskc.hpp deleted file mode 100644 index 3c11cde..0000000 --- a/inst/include/nt2/bitwise/functions/genmaskc.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_GENMASKC_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_GENMASKC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::genmaskc_} **/ - struct genmaskc_ {}; - #endif - using boost::simd::tag::genmaskc_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::genmaskc} **/ - template - details::unspecified genmaskc(Args&&... args); - #endif - using boost::simd::genmaskc; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/hi.hpp b/inst/include/nt2/bitwise/functions/hi.hpp deleted file mode 100644 index f7a08dd..0000000 --- a/inst/include/nt2/bitwise/functions/hi.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_HI_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_HI_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::hi_} **/ - struct hi_ {}; - #endif - using boost::simd::tag::hi_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::hi} **/ - template - details::unspecified hi(Args&&... args); - #endif - using boost::simd::hi; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/ilog2.hpp b/inst/include/nt2/bitwise/functions/ilog2.hpp deleted file mode 100644 index 31966d4..0000000 --- a/inst/include/nt2/bitwise/functions/ilog2.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_ILOG2_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_ILOG2_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ilog2_} **/ - struct ilog2_ {}; - #endif - using boost::simd::tag::ilog2_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ilog2} **/ - template - details::unspecified ilog2(Args&&... args); - #endif - using boost::simd::ilog2; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/lo.hpp b/inst/include/nt2/bitwise/functions/lo.hpp deleted file mode 100644 index 025590e..0000000 --- a/inst/include/nt2/bitwise/functions/lo.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_LO_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_LO_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::lo_} **/ - struct lo_ {}; - #endif - using boost::simd::tag::lo_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::lo} **/ - template - details::unspecified lo(Args&&... args); - #endif - using boost::simd::lo; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/popcnt.hpp b/inst/include/nt2/bitwise/functions/popcnt.hpp deleted file mode 100644 index 2d0b886..0000000 --- a/inst/include/nt2/bitwise/functions/popcnt.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_POPCNT_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_POPCNT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::popcnt_} **/ - struct popcnt_ {}; - #endif - using boost::simd::tag::popcnt_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::popcnt} **/ - template - details::unspecified popcnt(Args&&... args); - #endif - using boost::simd::popcnt; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/reversebits.hpp b/inst/include/nt2/bitwise/functions/reversebits.hpp deleted file mode 100644 index 5aef804..0000000 --- a/inst/include/nt2/bitwise/functions/reversebits.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::reversebits_} **/ - struct reversebits_ {}; - #endif - using boost::simd::tag::reversebits_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::reversebits} **/ - template - details::unspecified reversebits(Args&&... args); - #endif - using boost::simd::reversebits; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/rol.hpp b/inst/include/nt2/bitwise/functions/rol.hpp deleted file mode 100644 index c1128a9..0000000 --- a/inst/include/nt2/bitwise/functions/rol.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_ROL_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_ROL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::rol_} **/ - struct rol_ {}; - #endif - using boost::simd::tag::rol_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::rol} **/ - template - details::unspecified rol(Args&&... args); - #endif - using boost::simd::rol; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/ror.hpp b/inst/include/nt2/bitwise/functions/ror.hpp deleted file mode 100644 index 1f178be..0000000 --- a/inst/include/nt2/bitwise/functions/ror.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_ROR_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_ROR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ror_} **/ - struct ror_ {}; - #endif - using boost::simd::tag::ror_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ror} **/ - template - details::unspecified ror(Args&&... args); - #endif - using boost::simd::ror; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/rrol.hpp b/inst/include/nt2/bitwise/functions/rrol.hpp deleted file mode 100644 index bbcc70c..0000000 --- a/inst/include/nt2/bitwise/functions/rrol.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_RROL_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_RROL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::rrol_} **/ - struct rrol_ {}; - #endif - using boost::simd::tag::rrol_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::rrol} **/ - template - details::unspecified rrol(Args&&... args); - #endif - using boost::simd::rrol; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/rror.hpp b/inst/include/nt2/bitwise/functions/rror.hpp deleted file mode 100644 index 96fced0..0000000 --- a/inst/include/nt2/bitwise/functions/rror.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_RROR_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_RROR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::rror_} **/ - struct rror_ {}; - #endif - using boost::simd::tag::rror_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::rror} **/ - template - details::unspecified rror(Args&&... args); - #endif - using boost::simd::rror; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/rshl.hpp b/inst/include/nt2/bitwise/functions/rshl.hpp deleted file mode 100644 index 18b93b7..0000000 --- a/inst/include/nt2/bitwise/functions/rshl.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_RSHL_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_RSHL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::rshl_} **/ - struct rshl_ {}; - #endif - using boost::simd::tag::rshl_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::rshl} **/ - template - details::unspecified rshl(Args&&... args); - #endif - using boost::simd::rshl; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/rshr.hpp b/inst/include/nt2/bitwise/functions/rshr.hpp deleted file mode 100644 index aff45b5..0000000 --- a/inst/include/nt2/bitwise/functions/rshr.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_RSHR_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_RSHR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::rshr_} **/ - struct rshr_ {}; - #endif - using boost::simd::tag::rshr_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::rshr} **/ - template - details::unspecified rshr(Args&&... args); - #endif - using boost::simd::rshr; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/shr.hpp b/inst/include/nt2/bitwise/functions/shr.hpp deleted file mode 100644 index 54cf3f5..0000000 --- a/inst/include/nt2/bitwise/functions/shr.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_SHR_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_SHR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::shr_} **/ - struct shr_ {}; - #endif - using boost::simd::tag::shr_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::shr} **/ - template - details::unspecified shr(Args&&... args); - #endif - using boost::simd::shr; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/swapbytes.hpp b/inst/include/nt2/bitwise/functions/swapbytes.hpp deleted file mode 100644 index 4f789a6..0000000 --- a/inst/include/nt2/bitwise/functions/swapbytes.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::swapbytes_} **/ - struct swapbytes_ {}; - #endif - using boost::simd::tag::swapbytes_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::swapbytes} **/ - template - details::unspecified swapbytes(Args&&... args); - #endif - using boost::simd::swapbytes; -} - -#endif diff --git a/inst/include/nt2/bitwise/functions/twopower.hpp b/inst/include/nt2/bitwise/functions/twopower.hpp deleted file mode 100644 index 3f5d084..0000000 --- a/inst/include/nt2/bitwise/functions/twopower.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BITWISE_FUNCTIONS_TWOPOWER_HPP_INCLUDED -#define NT2_BITWISE_FUNCTIONS_TWOPOWER_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::twopower_} **/ - struct twopower_ {}; - #endif - using boost::simd::tag::twopower_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::twopower} **/ - template - details::unspecified twopower(Args&&... args); - #endif - using boost::simd::twopower; -} - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/bitget.hpp b/inst/include/nt2/bitwise/include/functions/bitget.hpp deleted file mode 100644 index 8f6b804..0000000 --- a/inst/include/nt2/bitwise/include/functions/bitget.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_BITGET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_BITGET_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/bits.hpp b/inst/include/nt2/bitwise/include/functions/bits.hpp deleted file mode 100644 index 5b00326..0000000 --- a/inst/include/nt2/bitwise/include/functions/bits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_BITS_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_BITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/bitset.hpp b/inst/include/nt2/bitwise/include/functions/bitset.hpp deleted file mode 100644 index 1e2f2ed..0000000 --- a/inst/include/nt2/bitwise/include/functions/bitset.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_BITSET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_BITSET_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/bitwise_andnot.hpp b/inst/include/nt2/bitwise/include/functions/bitwise_andnot.hpp deleted file mode 100644 index 8730836..0000000 --- a/inst/include/nt2/bitwise/include/functions/bitwise_andnot.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_ANDNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/bitwise_notand.hpp b/inst/include/nt2/bitwise/include/functions/bitwise_notand.hpp deleted file mode 100644 index c19126d..0000000 --- a/inst/include/nt2/bitwise/include/functions/bitwise_notand.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_NOTAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/bitwise_notor.hpp b/inst/include/nt2/bitwise/include/functions/bitwise_notor.hpp deleted file mode 100644 index fd847d6..0000000 --- a/inst/include/nt2/bitwise/include/functions/bitwise_notor.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_NOTOR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/bitwise_ornot.hpp b/inst/include/nt2/bitwise/include/functions/bitwise_ornot.hpp deleted file mode 100644 index 8bb5ced..0000000 --- a/inst/include/nt2/bitwise/include/functions/bitwise_ornot.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_ORNOT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/bitwise_select.hpp b/inst/include/nt2/bitwise/include/functions/bitwise_select.hpp deleted file mode 100644 index d41754b..0000000 --- a/inst/include/nt2/bitwise/include/functions/bitwise_select.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_BITWISE_SELECT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/clz.hpp b/inst/include/nt2/bitwise/include/functions/clz.hpp deleted file mode 100644 index 8779e51..0000000 --- a/inst/include/nt2/bitwise/include/functions/clz.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_CLZ_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_CLZ_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/ctz.hpp b/inst/include/nt2/bitwise/include/functions/ctz.hpp deleted file mode 100644 index 0c19a1a..0000000 --- a/inst/include/nt2/bitwise/include/functions/ctz.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_CTZ_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_CTZ_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/ffs.hpp b/inst/include/nt2/bitwise/include/functions/ffs.hpp deleted file mode 100644 index 777643d..0000000 --- a/inst/include/nt2/bitwise/include/functions/ffs.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_FFS_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_FFS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/firstbitset.hpp b/inst/include/nt2/bitwise/include/functions/firstbitset.hpp deleted file mode 100644 index 55d3b0f..0000000 --- a/inst/include/nt2/bitwise/include/functions/firstbitset.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_FIRSTBITSET_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/firstbitunset.hpp b/inst/include/nt2/bitwise/include/functions/firstbitunset.hpp deleted file mode 100644 index 6f851ac..0000000 --- a/inst/include/nt2/bitwise/include/functions/firstbitunset.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_FIRSTBITUNSET_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/genmask.hpp b/inst/include/nt2/bitwise/include/functions/genmask.hpp deleted file mode 100644 index baec818..0000000 --- a/inst/include/nt2/bitwise/include/functions/genmask.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_GENMASK_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_GENMASK_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/genmaskc.hpp b/inst/include/nt2/bitwise/include/functions/genmaskc.hpp deleted file mode 100644 index af34786..0000000 --- a/inst/include/nt2/bitwise/include/functions/genmaskc.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_GENMASKC_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_GENMASKC_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/hi.hpp b/inst/include/nt2/bitwise/include/functions/hi.hpp deleted file mode 100644 index 7a9dab2..0000000 --- a/inst/include/nt2/bitwise/include/functions/hi.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_HI_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_HI_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/ilog2.hpp b/inst/include/nt2/bitwise/include/functions/ilog2.hpp deleted file mode 100644 index 8e72f05..0000000 --- a/inst/include/nt2/bitwise/include/functions/ilog2.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_ILOG2_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_ILOG2_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/lo.hpp b/inst/include/nt2/bitwise/include/functions/lo.hpp deleted file mode 100644 index 97833d8..0000000 --- a/inst/include/nt2/bitwise/include/functions/lo.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_LO_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_LO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/popcnt.hpp b/inst/include/nt2/bitwise/include/functions/popcnt.hpp deleted file mode 100644 index 11f2334..0000000 --- a/inst/include/nt2/bitwise/include/functions/popcnt.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_POPCNT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_POPCNT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/reversebits.hpp b/inst/include/nt2/bitwise/include/functions/reversebits.hpp deleted file mode 100644 index 8308606..0000000 --- a/inst/include/nt2/bitwise/include/functions/reversebits.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_REVERSEBITS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/rol.hpp b/inst/include/nt2/bitwise/include/functions/rol.hpp deleted file mode 100644 index 2bf2450..0000000 --- a/inst/include/nt2/bitwise/include/functions/rol.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_ROL_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_ROL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/ror.hpp b/inst/include/nt2/bitwise/include/functions/ror.hpp deleted file mode 100644 index 8acd4e9..0000000 --- a/inst/include/nt2/bitwise/include/functions/ror.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_ROR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_ROR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/rrol.hpp b/inst/include/nt2/bitwise/include/functions/rrol.hpp deleted file mode 100644 index 298b447..0000000 --- a/inst/include/nt2/bitwise/include/functions/rrol.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_RROL_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_RROL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/rror.hpp b/inst/include/nt2/bitwise/include/functions/rror.hpp deleted file mode 100644 index a73b0e7..0000000 --- a/inst/include/nt2/bitwise/include/functions/rror.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_RROR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_RROR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/rshl.hpp b/inst/include/nt2/bitwise/include/functions/rshl.hpp deleted file mode 100644 index 69a567e..0000000 --- a/inst/include/nt2/bitwise/include/functions/rshl.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_RSHL_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_RSHL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/rshr.hpp b/inst/include/nt2/bitwise/include/functions/rshr.hpp deleted file mode 100644 index 21ae8dc..0000000 --- a/inst/include/nt2/bitwise/include/functions/rshr.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_RSHR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_RSHR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/bitget.hpp b/inst/include/nt2/bitwise/include/functions/scalar/bitget.hpp deleted file mode 100644 index 8eeec19..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/bitget.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITGET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITGET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/bits.hpp b/inst/include/nt2/bitwise/include/functions/scalar/bits.hpp deleted file mode 100644 index 81b1ed3..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/bits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITS_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/bitset.hpp b/inst/include/nt2/bitwise/include/functions/scalar/bitset.hpp deleted file mode 100644 index 016b98d..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/bitset.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITSET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITSET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_andnot.hpp b/inst/include/nt2/bitwise/include/functions/scalar/bitwise_andnot.hpp deleted file mode 100644 index 2e75dc1..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_andnot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ANDNOT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ANDNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_notand.hpp b/inst/include/nt2/bitwise/include/functions/scalar/bitwise_notand.hpp deleted file mode 100644 index 3c21ced..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_notand.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTAND_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTAND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_notor.hpp b/inst/include/nt2/bitwise/include/functions/scalar/bitwise_notor.hpp deleted file mode 100644 index fadd9c9..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_notor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTOR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_NOTOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_ornot.hpp b/inst/include/nt2/bitwise/include/functions/scalar/bitwise_ornot.hpp deleted file mode 100644 index 3271bca..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_ornot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ORNOT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_ORNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_select.hpp b/inst/include/nt2/bitwise/include/functions/scalar/bitwise_select.hpp deleted file mode 100644 index 771b8b1..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/bitwise_select.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_SELECT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_BITWISE_SELECT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/clz.hpp b/inst/include/nt2/bitwise/include/functions/scalar/clz.hpp deleted file mode 100644 index 10cad96..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/clz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_CLZ_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_CLZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/ctz.hpp b/inst/include/nt2/bitwise/include/functions/scalar/ctz.hpp deleted file mode 100644 index 234c15a..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/ctz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_CTZ_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_CTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/ffs.hpp b/inst/include/nt2/bitwise/include/functions/scalar/ffs.hpp deleted file mode 100644 index de67103..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/ffs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FFS_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FFS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/firstbitset.hpp b/inst/include/nt2/bitwise/include/functions/scalar/firstbitset.hpp deleted file mode 100644 index 4df0d6b..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/firstbitset.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITSET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITSET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/firstbitunset.hpp b/inst/include/nt2/bitwise/include/functions/scalar/firstbitunset.hpp deleted file mode 100644 index d765868..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/firstbitunset.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITUNSET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_FIRSTBITUNSET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/genmask.hpp b/inst/include/nt2/bitwise/include/functions/scalar/genmask.hpp deleted file mode 100644 index 095fa61..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/genmask.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_GENMASK_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_GENMASK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/genmaskc.hpp b/inst/include/nt2/bitwise/include/functions/scalar/genmaskc.hpp deleted file mode 100644 index 1e8df3d..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/genmaskc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_GENMASKC_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_GENMASKC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/hi.hpp b/inst/include/nt2/bitwise/include/functions/scalar/hi.hpp deleted file mode 100644 index 584841d..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/hi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_HI_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_HI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/ilog2.hpp b/inst/include/nt2/bitwise/include/functions/scalar/ilog2.hpp deleted file mode 100644 index 94915e3..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/ilog2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ILOG2_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ILOG2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/lo.hpp b/inst/include/nt2/bitwise/include/functions/scalar/lo.hpp deleted file mode 100644 index a7092cb..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/lo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_LO_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_LO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/popcnt.hpp b/inst/include/nt2/bitwise/include/functions/scalar/popcnt.hpp deleted file mode 100644 index 8b99e7e..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/popcnt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_POPCNT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_POPCNT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/reversebits.hpp b/inst/include/nt2/bitwise/include/functions/scalar/reversebits.hpp deleted file mode 100644 index b7ae6d2..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/reversebits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_REVERSEBITS_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_REVERSEBITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/rol.hpp b/inst/include/nt2/bitwise/include/functions/scalar/rol.hpp deleted file mode 100644 index 2bc980b..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/rol.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ROL_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ROL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/ror.hpp b/inst/include/nt2/bitwise/include/functions/scalar/ror.hpp deleted file mode 100644 index 1f66d9e..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/ror.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ROR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_ROR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/rrol.hpp b/inst/include/nt2/bitwise/include/functions/scalar/rrol.hpp deleted file mode 100644 index e35b074..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/rrol.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RROL_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RROL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/rror.hpp b/inst/include/nt2/bitwise/include/functions/scalar/rror.hpp deleted file mode 100644 index efb5341..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/rror.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RROR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RROR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/rshl.hpp b/inst/include/nt2/bitwise/include/functions/scalar/rshl.hpp deleted file mode 100644 index 5d47d53..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/rshl.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RSHL_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RSHL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/rshr.hpp b/inst/include/nt2/bitwise/include/functions/scalar/rshr.hpp deleted file mode 100644 index 386df8f..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/rshr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RSHR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_RSHR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/shr.hpp b/inst/include/nt2/bitwise/include/functions/scalar/shr.hpp deleted file mode 100644 index f91a75e..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/shr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_SHR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_SHR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/swapbytes.hpp b/inst/include/nt2/bitwise/include/functions/scalar/swapbytes.hpp deleted file mode 100644 index b64fb42..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/swapbytes.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_SWAPBYTES_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_SWAPBYTES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/scalar/twopower.hpp b/inst/include/nt2/bitwise/include/functions/scalar/twopower.hpp deleted file mode 100644 index 26dc7b3..0000000 --- a/inst/include/nt2/bitwise/include/functions/scalar/twopower.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_TWOPOWER_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SCALAR_TWOPOWER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/shr.hpp b/inst/include/nt2/bitwise/include/functions/shr.hpp deleted file mode 100644 index f2c9707..0000000 --- a/inst/include/nt2/bitwise/include/functions/shr.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SHR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SHR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/bitget.hpp b/inst/include/nt2/bitwise/include/functions/simd/bitget.hpp deleted file mode 100644 index e464a30..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/bitget.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITGET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITGET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/bits.hpp b/inst/include/nt2/bitwise/include/functions/simd/bits.hpp deleted file mode 100644 index 0bb498f..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/bits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITS_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/bitset.hpp b/inst/include/nt2/bitwise/include/functions/simd/bitset.hpp deleted file mode 100644 index 9cdac02..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/bitset.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITSET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITSET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/bitwise_andnot.hpp b/inst/include/nt2/bitwise/include/functions/simd/bitwise_andnot.hpp deleted file mode 100644 index c2bf436..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/bitwise_andnot.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_ANDNOT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_ANDNOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/bitwise_notand.hpp b/inst/include/nt2/bitwise/include/functions/simd/bitwise_notand.hpp deleted file mode 100644 index 24fb3fa..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/bitwise_notand.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTAND_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/bitwise_notor.hpp b/inst/include/nt2/bitwise/include/functions/simd/bitwise_notor.hpp deleted file mode 100644 index 095b34f..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/bitwise_notor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTOR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_NOTOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/bitwise_ornot.hpp b/inst/include/nt2/bitwise/include/functions/simd/bitwise_ornot.hpp deleted file mode 100644 index 28cac59..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/bitwise_ornot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_ORNOT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_ORNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/bitwise_select.hpp b/inst/include/nt2/bitwise/include/functions/simd/bitwise_select.hpp deleted file mode 100644 index 7e39777..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/bitwise_select.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_SELECT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_BITWISE_SELECT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/clz.hpp b/inst/include/nt2/bitwise/include/functions/simd/clz.hpp deleted file mode 100644 index 7d51a50..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/clz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_CLZ_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_CLZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/ctz.hpp b/inst/include/nt2/bitwise/include/functions/simd/ctz.hpp deleted file mode 100644 index b83733d..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/ctz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_CTZ_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_CTZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/ffs.hpp b/inst/include/nt2/bitwise/include/functions/simd/ffs.hpp deleted file mode 100644 index 9d38590..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/ffs.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_FFS_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_FFS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/firstbitset.hpp b/inst/include/nt2/bitwise/include/functions/simd/firstbitset.hpp deleted file mode 100644 index 5746840..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/firstbitset.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_FIRSTBITSET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_FIRSTBITSET_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/firstbitunset.hpp b/inst/include/nt2/bitwise/include/functions/simd/firstbitunset.hpp deleted file mode 100644 index 3c03f9c..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/firstbitunset.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_FIRSTBITUNSET_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_FIRSTBITUNSET_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/genmask.hpp b/inst/include/nt2/bitwise/include/functions/simd/genmask.hpp deleted file mode 100644 index c908606..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/genmask.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_GENMASK_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_GENMASK_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/genmaskc.hpp b/inst/include/nt2/bitwise/include/functions/simd/genmaskc.hpp deleted file mode 100644 index 03e3cfb..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/genmaskc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_GENMASKC_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_GENMASKC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/hi.hpp b/inst/include/nt2/bitwise/include/functions/simd/hi.hpp deleted file mode 100644 index 5461992..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/hi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_HI_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_HI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/ilog2.hpp b/inst/include/nt2/bitwise/include/functions/simd/ilog2.hpp deleted file mode 100644 index 7e4b6fb..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/ilog2.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_ILOG2_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_ILOG2_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/lo.hpp b/inst/include/nt2/bitwise/include/functions/simd/lo.hpp deleted file mode 100644 index 86c62ba..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/lo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_LO_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_LO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/popcnt.hpp b/inst/include/nt2/bitwise/include/functions/simd/popcnt.hpp deleted file mode 100644 index 8649def..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/popcnt.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_POPCNT_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_POPCNT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/reversebits.hpp b/inst/include/nt2/bitwise/include/functions/simd/reversebits.hpp deleted file mode 100644 index eee6948..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/reversebits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_REVERSEBITS_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_REVERSEBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/rol.hpp b/inst/include/nt2/bitwise/include/functions/simd/rol.hpp deleted file mode 100644 index 341e1cb..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/rol.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_ROL_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_ROL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/ror.hpp b/inst/include/nt2/bitwise/include/functions/simd/ror.hpp deleted file mode 100644 index 132bd17..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/ror.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_ROR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_ROR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/rrol.hpp b/inst/include/nt2/bitwise/include/functions/simd/rrol.hpp deleted file mode 100644 index a1facaf..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/rrol.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_RROL_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_RROL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/rror.hpp b/inst/include/nt2/bitwise/include/functions/simd/rror.hpp deleted file mode 100644 index 4d1fc6d..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/rror.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_RROR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_RROR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/rshl.hpp b/inst/include/nt2/bitwise/include/functions/simd/rshl.hpp deleted file mode 100644 index de26067..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/rshl.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_RSHL_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_RSHL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/rshr.hpp b/inst/include/nt2/bitwise/include/functions/simd/rshr.hpp deleted file mode 100644 index 0d4f3ba..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/rshr.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_RSHR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_RSHR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/shr.hpp b/inst/include/nt2/bitwise/include/functions/simd/shr.hpp deleted file mode 100644 index d3defd5..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/shr.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_SHR_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_SHR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/swapbytes.hpp b/inst/include/nt2/bitwise/include/functions/simd/swapbytes.hpp deleted file mode 100644 index 8330877..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/swapbytes.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_SWAPBYTES_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_SWAPBYTES_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/simd/twopower.hpp b/inst/include/nt2/bitwise/include/functions/simd/twopower.hpp deleted file mode 100644 index f876624..0000000 --- a/inst/include/nt2/bitwise/include/functions/simd/twopower.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_TWOPOWER_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SIMD_TWOPOWER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/swapbytes.hpp b/inst/include/nt2/bitwise/include/functions/swapbytes.hpp deleted file mode 100644 index 75e4d6a..0000000 --- a/inst/include/nt2/bitwise/include/functions/swapbytes.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_SWAPBYTES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/bitwise/include/functions/twopower.hpp b/inst/include/nt2/bitwise/include/functions/twopower.hpp deleted file mode 100644 index 0a9a472..0000000 --- a/inst/include/nt2/bitwise/include/functions/twopower.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BITWISE_INCLUDE_FUNCTIONS_TWOPOWER_HPP_INCLUDED -#define NT2_BITWISE_INCLUDE_FUNCTIONS_TWOPOWER_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/boolean.hpp b/inst/include/nt2/boolean/boolean.hpp deleted file mode 100644 index db329cf..0000000 --- a/inst/include/nt2/boolean/boolean.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_BOOLEAN_HPP_INCLUDED -#define NT2_BOOLEAN_BOOLEAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/constants.hpp b/inst/include/nt2/boolean/constants.hpp deleted file mode 100644 index a89f795..0000000 --- a/inst/include/nt2/boolean/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_BOOLEAN_CONSTANTS_HPP_INCLUDED -#define NT2_BOOLEAN_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/boolean/functions.hpp b/inst/include/nt2/boolean/functions.hpp deleted file mode 100644 index d8512d0..0000000 --- a/inst/include/nt2/boolean/functions.hpp +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef NT2_BOOLEAN_FUNCTIONS_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/if_allbits_else.hpp b/inst/include/nt2/boolean/functions/complex/generic/if_allbits_else.hpp deleted file mode 100644 index b07ef08..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/if_allbits_else.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ALLBITS_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_allbits_else_, tag::cpu_, (A0)(A1) - , (generic_< logical_ >) - (generic_< complex_ > >) - ) - { - typedef A1 result_type; - result_type operator()(A0 const& a0, A1 const& a1) const - { - return result_type(if_allbits_else(a0, nt2::real(a1)), if_allbits_else(a0, nt2::imag(a1))); - } - }; - BOOST_DISPATCH_IMPLEMENT ( if_allbits_else_, tag::cpu_, (A0)(A1) - , (generic_< complex_ > > ) - (generic_< complex_ > > ) - ) - { - typedef A1 result_type; - result_type operator()(A0 const& a0, A1 const& a1) const - { - return result_type(if_allbits_else(is_nez(a0), nt2::real(a1)), if_allbits_else(is_nez(a0), nt2::imag(a1))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/if_else_allbits.hpp b/inst/include/nt2/boolean/functions/complex/generic/if_else_allbits.hpp deleted file mode 100644 index d0017fd..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/if_else_allbits.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ELSE_ALLBITS_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_else_allbits_, tag::cpu_, (A0)(A1) - , (generic_< logical_ >) - (generic_< complex_ > >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return result_type(if_else_allbits(a0, nt2::real(a1)), if_else_allbits(a0, nt2::imag(a1))); - } - }; - BOOST_DISPATCH_IMPLEMENT ( if_else_allbits_, tag::cpu_, (A0)(A1) - , (generic_< complex_ > >) - (generic_< complex_ > >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return result_type(if_else_allbits(is_nez(a0), nt2::real(a1)), if_else_allbits(is_nez(a0), nt2::imag(a1))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/if_else_zero.hpp b/inst/include/nt2/boolean/functions/complex/generic/if_else_zero.hpp deleted file mode 100644 index 79df056..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/if_else_zero.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_else_zero_, tag::cpu_, (A0)(A1) - , (generic_< fundamental_ >) - (generic_< complex_ > >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return result_type(if_else_zero(a0, nt2::real(a1)), if_else_zero(a0, nt2::imag(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( if_else_zero_, tag::cpu_, (A0)(A1) - , (generic_< complex_ > >) - (generic_< unspecified_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return if_else_zero(is_nez(a0), a1); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/if_one_else_zero.hpp b/inst/include/nt2/boolean/functions/complex/generic/if_one_else_zero.hpp deleted file mode 100644 index ec5497a..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/if_one_else_zero.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_one_else_zero_, tag::cpu_, (A0) - , (generic_< complex_ > >) - ) - { - typedef A0 result_type; - result_type operator()(A0 const& a0) const - { - return nt2::if_one_else_zero(nt2::is_nez(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/if_zero_else.hpp b/inst/include/nt2/boolean/functions/complex/generic/if_zero_else.hpp deleted file mode 100644 index 04d313f..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/if_zero_else.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ZERO_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ZERO_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_zero_else_, tag::cpu_, (A0)(A1) - , (generic_< fundamental_ >) - (generic_< complex_ > >) - ) - { - typedef A1 result_type; - result_type operator()(A0 const& a0, A1 const& a1) const - { - return result_type(if_zero_else(a0, nt2::real(a1)), if_zero_else(a0, nt2::imag(a1))); - } - }; - BOOST_DISPATCH_IMPLEMENT ( if_zero_else_, tag::cpu_, (A0)(A1) - , (generic_< complex_ > >) - (generic_< unspecified_ >) - ) - { - typedef A1 result_type; - result_type operator()(A0 const& a0, A1 const& a1) const - { - return if_zero_else(is_nez(a0), a1); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/if_zero_else_one.hpp b/inst/include/nt2/boolean/functions/complex/generic/if_zero_else_one.hpp deleted file mode 100644 index 10c9c90..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/if_zero_else_one.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( if_zero_else_one_, tag::cpu_, (A0) - , (generic_< complex_ > >) - ) - { - typedef A0 result_type; - result_type operator()(A0 const& a0) const - { - return nt2::if_zero_else_one(nt2::is_nez(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/ifnotadd.hpp b/inst/include/nt2/boolean/functions/complex/generic/ifnotadd.hpp deleted file mode 100644 index 1508208..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/ifnotadd.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IFNOTADD_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IFNOTADD_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotadd_, tag::cpu_, (A0)(A1)(A2) - , (generic_< unspecified_ >) - (generic_< unspecified_ >) - (generic_< unspecified_ >) - ) - { - typedef typename boost::common_type::type result_type; - result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a1+nt2::if_zero_else(a0, a2); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/ifnotdec.hpp b/inst/include/nt2/boolean/functions/complex/generic/ifnotdec.hpp deleted file mode 100644 index 98496cf..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/ifnotdec.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IFNOTDEC_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IFNOTDEC_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotdec_, tag::cpu_, (A0)(A1) - , (generic_< unspecified_ >) - (generic_< complex_ > >) - ) - { - typedef A1 result_type; - result_type operator()(A0 const& a0, A1 const& a1) const - { - return a1-nt2::if_zero_else_one(a0); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/ifnotinc.hpp b/inst/include/nt2/boolean/functions/complex/generic/ifnotinc.hpp deleted file mode 100644 index d488a96..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/ifnotinc.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IFNOTINC_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IFNOTINC_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotinc_, tag::cpu_, (A0)(A1) - , (generic_< unspecified_ >) - (generic_< complex_ > >) - ) - { - typedef A1 result_type; - result_type operator()(A0 const& a0, A1 const& a1) const - { - return a1+nt2::if_zero_else_one(a0); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/ifnotsub.hpp b/inst/include/nt2/boolean/functions/complex/generic/ifnotsub.hpp deleted file mode 100644 index b31da16..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/ifnotsub.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IFNOTSUB_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_IFNOTSUB_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ifnotsub_, tag::cpu_, (A0)(A1)(A2) - , (generic_< unspecified_ >) - (generic_< unspecified_ >) - (generic_< unspecified_ >) - ) - { - typedef typename boost::common_type::type result_type; - result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a1-nt2::if_zero_else(a0, a2); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/seladd.hpp b/inst/include/nt2/boolean/functions/complex/generic/seladd.hpp deleted file mode 100644 index 9bc5ff3..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/seladd.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_SELADD_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_SELADD_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( seladd_, tag::cpu_, (A0)(A1)(A2) - , (generic_< unspecified_ >) - (generic_< unspecified_ >) - (generic_< unspecified_ >) - ) - { - typedef typename boost::common_type::type result_type; - result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a1+nt2::if_else_zero(a0, a2); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/seldec.hpp b/inst/include/nt2/boolean/functions/complex/generic/seldec.hpp deleted file mode 100644 index 8e5b55c..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/seldec.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_SELDEC_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_SELDEC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( seldec_, tag::cpu_, (A0)(A1) - , (generic_< unspecified_ >) - (generic_< complex_ > >) - ) - { - typedef A1 result_type; - result_type operator()(A0 const& a0, A1 const& a1) const - { - return a1-nt2::if_one_else_zero(a0); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/selinc.hpp b/inst/include/nt2/boolean/functions/complex/generic/selinc.hpp deleted file mode 100644 index 250a0d2..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/selinc.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_SELINC_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_SELINC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( selinc_, tag::cpu_, (A0)(A1) - , (generic_< unspecified_ >) - (generic_< complex_ > >) - ) - { - typedef A1 result_type; - result_type operator()(A0 const& a0, A1 const& a1) const - { - return a1+nt2::if_one_else_zero(a0); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/complex/generic/selsub.hpp b/inst/include/nt2/boolean/functions/complex/generic/selsub.hpp deleted file mode 100644 index d6f324f..0000000 --- a/inst/include/nt2/boolean/functions/complex/generic/selsub.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_SELSUB_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_COMPLEX_GENERIC_SELSUB_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( selsub_, tag::cpu_, (A0)(A1)(A2) - , (generic_< unspecified_ >) - (generic_< unspecified_ >) - (generic_< unspecified_ >) - ) - { - typedef typename boost::common_type::type result_type; - result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a1+nt2::if_else_zero(a0, -a2); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/boolean/functions/if_allbits_else.hpp b/inst/include/nt2/boolean/functions/if_allbits_else.hpp deleted file mode 100644 index 57eab33..0000000 --- a/inst/include/nt2/boolean/functions/if_allbits_else.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_BOOLEAN_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Bring the tag if_allbits_else_ of functor if_allbits_else - * in namespace nt2::tag for toolbox nt2.boolean - **/ - using boost::simd::tag::if_allbits_else_; - } - - using boost::simd::if_allbits_else; - using boost::simd::ifnot_else_allbits; - using boost::simd::ifnotelseallbits; - using boost::simd::if_nan_else; - using boost::simd::ifnanelse; - using boost::simd::ifnot_else_nan; - using boost::simd::ifnotelsenan; -} -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/boolean/functions/if_else_allbits.hpp b/inst/include/nt2/boolean/functions/if_else_allbits.hpp deleted file mode 100644 index 08d9e33..0000000 --- a/inst/include/nt2/boolean/functions/if_else_allbits.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_BOOLEAN_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Bring the tag if_else_allbits_ of functor if_else_allbits - * in namespace nt2::tag for toolbox nt2.boolean - **/ - using boost::simd::tag::if_else_allbits_; - } - - using boost::simd::if_else_allbits; - using boost::simd::ifelsenan; - using boost::simd::if_else_nan; - using boost::simd::ifnot_nan_else; - using boost::simd::ifnotallbitselse; - using boost::simd::ifelseallbits; - using boost::simd::ifnot_allbits_else; - using boost::simd::ifnotallbitselse; - -} -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/boolean/functions/if_else_zero.hpp b/inst/include/nt2/boolean/functions/if_else_zero.hpp deleted file mode 100644 index 716fc51..0000000 --- a/inst/include/nt2/boolean/functions/if_else_zero.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_BOOLEAN_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Bring the tag if_else_zero_ of functor if_else_zero - * in namespace nt2::tag for toolbox nt2.boolean - **/ - using boost::simd::tag::if_else_zero_; - } - - using boost::simd::if_else_zero; - using boost::simd::ifelsezero; - using boost::simd::ifnot_zero_else; - using boost::simd::ifnotzeroelse; -} -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/boolean/functions/if_one_else_zero.hpp b/inst/include/nt2/boolean/functions/if_one_else_zero.hpp deleted file mode 100644 index 00090a2..0000000 --- a/inst/include/nt2/boolean/functions/if_one_else_zero.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_BOOLEAN_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Bring the tag if_one_else_zero_ of functor if_one_else_zero - * in namespace nt2::tag for toolbox nt2.boolean - **/ - using boost::simd::tag::if_one_else_zero_; - } - - using boost::simd::if_one_else_zero; - using boost::simd::ifoneelsezero; - using boost::simd::sb2b; -} -#endif - diff --git a/inst/include/nt2/boolean/functions/if_zero_else.hpp b/inst/include/nt2/boolean/functions/if_zero_else.hpp deleted file mode 100644 index 4fe63f5..0000000 --- a/inst/include/nt2/boolean/functions/if_zero_else.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_BOOLEAN_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Bring the tag if_zero_else_ of functor if_zero_else - * in namespace nt2::tag for toolbox nt2.boolean - **/ - using boost::simd::tag::if_zero_else_; - } - - using boost::simd::if_zero_else; - using boost::simd::ifzeroelse; - using boost::simd::ifnot_else_zero; - using boost::simd::ifnotelsezero; -} -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/boolean/functions/if_zero_else_one.hpp b/inst/include/nt2/boolean/functions/if_zero_else_one.hpp deleted file mode 100644 index d8484e0..0000000 --- a/inst/include/nt2/boolean/functions/if_zero_else_one.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_BOOLEAN_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Bring the tag if_zero_else_one_ of functor if_zero_else_one - * in namespace nt2::tag for toolbox nt2.boolean - **/ - using boost::simd::tag::if_zero_else_one_; - } - - using boost::simd::if_zero_else_one; - using boost::simd::ifzeroelseone; -} -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/boolean/functions/ifnotadd.hpp b/inst/include/nt2/boolean/functions/ifnotadd.hpp deleted file mode 100644 index a0a0c61..0000000 --- a/inst/include/nt2/boolean/functions/ifnotadd.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_IFNOTADD_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IFNOTADD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ifnotadd_} **/ - struct ifnotadd_ {}; - #endif - using boost::simd::tag::ifnotadd_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ifnotadd} **/ - template - details::unspecified ifnotadd(Args&&... args); - #endif - using boost::simd::ifnotadd; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/ifnotdec.hpp b/inst/include/nt2/boolean/functions/ifnotdec.hpp deleted file mode 100644 index d66029e..0000000 --- a/inst/include/nt2/boolean/functions/ifnotdec.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_IFNOTDEC_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IFNOTDEC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ifnotdec_} **/ - struct ifnotdec_ {}; - #endif - using boost::simd::tag::ifnotdec_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ifnotdec} **/ - template - details::unspecified ifnotdec(Args&&... args); - #endif - using boost::simd::ifnotdec; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/ifnotinc.hpp b/inst/include/nt2/boolean/functions/ifnotinc.hpp deleted file mode 100644 index 4072343..0000000 --- a/inst/include/nt2/boolean/functions/ifnotinc.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_IFNOTINC_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IFNOTINC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ifnotinc_} **/ - struct ifnotinc_ {}; - #endif - using boost::simd::tag::ifnotinc_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ifnotinc} **/ - template - details::unspecified ifnotinc(Args&&... args); - #endif - using boost::simd::ifnotinc; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/ifnotsub.hpp b/inst/include/nt2/boolean/functions/ifnotsub.hpp deleted file mode 100644 index 06d8618..0000000 --- a/inst/include/nt2/boolean/functions/ifnotsub.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_IFNOTSUB_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_IFNOTSUB_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::ifnotsub_} **/ - struct ifnotsub_ {}; - #endif - using boost::simd::tag::ifnotsub_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::ifnotsub} **/ - template - details::unspecified ifnotsub(Args&&... args); - #endif - using boost::simd::ifnotsub; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/logical_andnot.hpp b/inst/include/nt2/boolean/functions/logical_andnot.hpp deleted file mode 100644 index a570f5a..0000000 --- a/inst/include/nt2/boolean/functions/logical_andnot.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::logical_andnot_} **/ - struct logical_andnot_ {}; - #endif - using boost::simd::tag::logical_andnot_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::logical_andnot} **/ - template - details::unspecified logical_andnot(Args&&... args); - #endif - using boost::simd::logical_andnot; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/logical_notand.hpp b/inst/include/nt2/boolean/functions/logical_notand.hpp deleted file mode 100644 index 445cccd..0000000 --- a/inst/include/nt2/boolean/functions/logical_notand.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::logical_notand_} **/ - struct logical_notand_ {}; - #endif - using boost::simd::tag::logical_notand_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::logical_notand} **/ - template - details::unspecified logical_notand(Args&&... args); - #endif - using boost::simd::logical_notand; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/logical_notor.hpp b/inst/include/nt2/boolean/functions/logical_notor.hpp deleted file mode 100644 index 92df28d..0000000 --- a/inst/include/nt2/boolean/functions/logical_notor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::logical_notor_} **/ - struct logical_notor_ {}; - #endif - using boost::simd::tag::logical_notor_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::logical_notor} **/ - template - details::unspecified logical_notor(Args&&... args); - #endif - using boost::simd::logical_notor; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/logical_ornot.hpp b/inst/include/nt2/boolean/functions/logical_ornot.hpp deleted file mode 100644 index a7d8777..0000000 --- a/inst/include/nt2/boolean/functions/logical_ornot.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::logical_ornot_} **/ - struct logical_ornot_ {}; - #endif - using boost::simd::tag::logical_ornot_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::logical_ornot} **/ - template - details::unspecified logical_ornot(Args&&... args); - #endif - using boost::simd::logical_ornot; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/mask2logical.hpp b/inst/include/nt2/boolean/functions/mask2logical.hpp deleted file mode 100644 index cf6df85..0000000 --- a/inst/include/nt2/boolean/functions/mask2logical.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::mask2logical_} **/ - struct mask2logical_ {}; - #endif - using boost::simd::tag::mask2logical_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::mask2logical} **/ - template - details::unspecified mask2logical(Args&&... args); - #endif - using boost::simd::mask2logical; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/negif.hpp b/inst/include/nt2/boolean/functions/negif.hpp deleted file mode 100644 index fb84cb5..0000000 --- a/inst/include/nt2/boolean/functions/negif.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_BOOLEAN_FUNCTIONS_NEGIF_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_NEGIF_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Bring the tag negif_ of functor negif - * in namespace nt2::tag for toolbox nt2.boolean - **/ - using boost::simd::tag::negif_; - } - - using boost::simd::negif; -} -#endif diff --git a/inst/include/nt2/boolean/functions/negifnot.hpp b/inst/include/nt2/boolean/functions/negifnot.hpp deleted file mode 100644 index 5c5145d..0000000 --- a/inst/include/nt2/boolean/functions/negifnot.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_NEGIFNOT_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_NEGIFNOT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::negifnot_} **/ - struct negifnot_ {}; - #endif - using boost::simd::tag::negifnot_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::negifnot} **/ - template - details::unspecified negifnot(Args&&... args); - #endif - using boost::simd::negifnot; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/seladd.hpp b/inst/include/nt2/boolean/functions/seladd.hpp deleted file mode 100644 index b9cd27a..0000000 --- a/inst/include/nt2/boolean/functions/seladd.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_SELADD_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_SELADD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::seladd_} **/ - struct seladd_ {}; - #endif - using boost::simd::tag::seladd_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::seladd} **/ - template - details::unspecified seladd(Args&&... args); - #endif - using boost::simd::seladd; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/seldec.hpp b/inst/include/nt2/boolean/functions/seldec.hpp deleted file mode 100644 index ad7185a..0000000 --- a/inst/include/nt2/boolean/functions/seldec.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_SELDEC_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_SELDEC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::seldec_} **/ - struct seldec_ {}; - #endif - using boost::simd::tag::seldec_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::seldec} **/ - template - details::unspecified seldec(Args&&... args); - #endif - using boost::simd::seldec; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/selinc.hpp b/inst/include/nt2/boolean/functions/selinc.hpp deleted file mode 100644 index 8d45c61..0000000 --- a/inst/include/nt2/boolean/functions/selinc.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_SELINC_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_SELINC_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::selinc_} **/ - struct selinc_ {}; - #endif - using boost::simd::tag::selinc_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::selinc} **/ - template - details::unspecified selinc(Args&&... args); - #endif - using boost::simd::selinc; -} - -#endif diff --git a/inst/include/nt2/boolean/functions/selsub.hpp b/inst/include/nt2/boolean/functions/selsub.hpp deleted file mode 100644 index 3cd7dec..0000000 --- a/inst/include/nt2/boolean/functions/selsub.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_BOOLEAN_FUNCTIONS_SELSUB_HPP_INCLUDED -#define NT2_BOOLEAN_FUNCTIONS_SELSUB_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::selsub_} **/ - struct selsub_ {}; - #endif - using boost::simd::tag::selsub_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::selsub} **/ - template - details::unspecified selsub(Args&&... args); - #endif - using boost::simd::selsub; -} - -#endif diff --git a/inst/include/nt2/boolean/include/functions/if_allbits_else.hpp b/inst/include/nt2/boolean/include/functions/if_allbits_else.hpp deleted file mode 100644 index 6042323..0000000 --- a/inst/include/nt2/boolean/include/functions/if_allbits_else.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/if_else_allbits.hpp b/inst/include/nt2/boolean/include/functions/if_else_allbits.hpp deleted file mode 100644 index f517452..0000000 --- a/inst/include/nt2/boolean/include/functions/if_else_allbits.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/if_else_zero.hpp b/inst/include/nt2/boolean/include/functions/if_else_zero.hpp deleted file mode 100644 index c5d97d2..0000000 --- a/inst/include/nt2/boolean/include/functions/if_else_zero.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/if_one_else_zero.hpp b/inst/include/nt2/boolean/include/functions/if_one_else_zero.hpp deleted file mode 100644 index 61f97e1..0000000 --- a/inst/include/nt2/boolean/include/functions/if_one_else_zero.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/if_zero_else.hpp b/inst/include/nt2/boolean/include/functions/if_zero_else.hpp deleted file mode 100644 index 8c42103..0000000 --- a/inst/include/nt2/boolean/include/functions/if_zero_else.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/if_zero_else_one.hpp b/inst/include/nt2/boolean/include/functions/if_zero_else_one.hpp deleted file mode 100644 index 4fe59e6..0000000 --- a/inst/include/nt2/boolean/include/functions/if_zero_else_one.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/ifnotadd.hpp b/inst/include/nt2/boolean/include/functions/ifnotadd.hpp deleted file mode 100644 index 7f05117..0000000 --- a/inst/include/nt2/boolean/include/functions/ifnotadd.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTADD_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTADD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/ifnotdec.hpp b/inst/include/nt2/boolean/include/functions/ifnotdec.hpp deleted file mode 100644 index 4b971a1..0000000 --- a/inst/include/nt2/boolean/include/functions/ifnotdec.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTDEC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTDEC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/ifnotinc.hpp b/inst/include/nt2/boolean/include/functions/ifnotinc.hpp deleted file mode 100644 index 53efc83..0000000 --- a/inst/include/nt2/boolean/include/functions/ifnotinc.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTINC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTINC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/ifnotsub.hpp b/inst/include/nt2/boolean/include/functions/ifnotsub.hpp deleted file mode 100644 index 397f38b..0000000 --- a/inst/include/nt2/boolean/include/functions/ifnotsub.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTSUB_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_IFNOTSUB_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/logical_andnot.hpp b/inst/include/nt2/boolean/include/functions/logical_andnot.hpp deleted file mode 100644 index 1780ad6..0000000 --- a/inst/include/nt2/boolean/include/functions/logical_andnot.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_ANDNOT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/logical_notand.hpp b/inst/include/nt2/boolean/include/functions/logical_notand.hpp deleted file mode 100644 index 8ba07de..0000000 --- a/inst/include/nt2/boolean/include/functions/logical_notand.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_NOTAND_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/logical_notor.hpp b/inst/include/nt2/boolean/include/functions/logical_notor.hpp deleted file mode 100644 index bd85500..0000000 --- a/inst/include/nt2/boolean/include/functions/logical_notor.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_NOTOR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/logical_ornot.hpp b/inst/include/nt2/boolean/include/functions/logical_ornot.hpp deleted file mode 100644 index 12e9ac3..0000000 --- a/inst/include/nt2/boolean/include/functions/logical_ornot.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_LOGICAL_ORNOT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/mask2logical.hpp b/inst/include/nt2/boolean/include/functions/mask2logical.hpp deleted file mode 100644 index e25f8d4..0000000 --- a/inst/include/nt2/boolean/include/functions/mask2logical.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_MASK2LOGICAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/negif.hpp b/inst/include/nt2/boolean/include/functions/negif.hpp deleted file mode 100644 index 585adcf..0000000 --- a/inst/include/nt2/boolean/include/functions/negif.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_NEGIF_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_NEGIF_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/negifnot.hpp b/inst/include/nt2/boolean/include/functions/negifnot.hpp deleted file mode 100644 index f832da5..0000000 --- a/inst/include/nt2/boolean/include/functions/negifnot.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_NEGIFNOT_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_NEGIFNOT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/if_allbits_else.hpp b/inst/include/nt2/boolean/include/functions/scalar/if_allbits_else.hpp deleted file mode 100644 index 80e1ddd..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/if_allbits_else.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ALLBITS_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/if_else_allbits.hpp b/inst/include/nt2/boolean/include/functions/scalar/if_else_allbits.hpp deleted file mode 100644 index 4ba2ea8..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/if_else_allbits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ALLBITS_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/if_else_zero.hpp b/inst/include/nt2/boolean/include/functions/scalar/if_else_zero.hpp deleted file mode 100644 index df18f19..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/if_else_zero.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_ZERO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/if_one_else_zero.hpp b/inst/include/nt2/boolean/include/functions/scalar/if_one_else_zero.hpp deleted file mode 100644 index b0fdb85..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/if_one_else_zero.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/if_zero_else.hpp b/inst/include/nt2/boolean/include/functions/scalar/if_zero_else.hpp deleted file mode 100644 index d3b56a3..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/if_zero_else.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/if_zero_else_one.hpp b/inst/include/nt2/boolean/include/functions/scalar/if_zero_else_one.hpp deleted file mode 100644 index 9e94de1..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/if_zero_else_one.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/ifnotadd.hpp b/inst/include/nt2/boolean/include/functions/scalar/ifnotadd.hpp deleted file mode 100644 index 70ffb40..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/ifnotadd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTADD_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/ifnotdec.hpp b/inst/include/nt2/boolean/include/functions/scalar/ifnotdec.hpp deleted file mode 100644 index df38870..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/ifnotdec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTDEC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTDEC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/ifnotinc.hpp b/inst/include/nt2/boolean/include/functions/scalar/ifnotinc.hpp deleted file mode 100644 index 6d4ec98..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/ifnotinc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTINC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTINC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/ifnotsub.hpp b/inst/include/nt2/boolean/include/functions/scalar/ifnotsub.hpp deleted file mode 100644 index c867a7d..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/ifnotsub.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTSUB_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_IFNOTSUB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/logical_andnot.hpp b/inst/include/nt2/boolean/include/functions/scalar/logical_andnot.hpp deleted file mode 100644 index 077fab9..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/logical_andnot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ANDNOT_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ANDNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/logical_notand.hpp b/inst/include/nt2/boolean/include/functions/scalar/logical_notand.hpp deleted file mode 100644 index 5bdc990..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/logical_notand.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTAND_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTAND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/logical_notor.hpp b/inst/include/nt2/boolean/include/functions/scalar/logical_notor.hpp deleted file mode 100644 index 9bd2b3d..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/logical_notor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTOR_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOTOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/logical_ornot.hpp b/inst/include/nt2/boolean/include/functions/scalar/logical_ornot.hpp deleted file mode 100644 index 28d5ec3..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/logical_ornot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ORNOT_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_ORNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/mask2logical.hpp b/inst/include/nt2/boolean/include/functions/scalar/mask2logical.hpp deleted file mode 100644 index d2587bb..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/mask2logical.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_MASK2LOGICAL_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_MASK2LOGICAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/negif.hpp b/inst/include/nt2/boolean/include/functions/scalar/negif.hpp deleted file mode 100644 index 9da3009..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/negif.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_NEGIF_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_NEGIF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/negifnot.hpp b/inst/include/nt2/boolean/include/functions/scalar/negifnot.hpp deleted file mode 100644 index f6b6951..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/negifnot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_NEGIFNOT_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_NEGIFNOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/seladd.hpp b/inst/include/nt2/boolean/include/functions/scalar/seladd.hpp deleted file mode 100644 index 3890b0a..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/seladd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELADD_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/seldec.hpp b/inst/include/nt2/boolean/include/functions/scalar/seldec.hpp deleted file mode 100644 index b1ea46a..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/seldec.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELDEC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELDEC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/selinc.hpp b/inst/include/nt2/boolean/include/functions/scalar/selinc.hpp deleted file mode 100644 index 823d8fe..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/selinc.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELINC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELINC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/scalar/selsub.hpp b/inst/include/nt2/boolean/include/functions/scalar/selsub.hpp deleted file mode 100644 index ddfc680..0000000 --- a/inst/include/nt2/boolean/include/functions/scalar/selsub.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELSUB_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SCALAR_SELSUB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/seladd.hpp b/inst/include/nt2/boolean/include/functions/seladd.hpp deleted file mode 100644 index 58fe91e..0000000 --- a/inst/include/nt2/boolean/include/functions/seladd.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SELADD_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SELADD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/seldec.hpp b/inst/include/nt2/boolean/include/functions/seldec.hpp deleted file mode 100644 index c4b6c21..0000000 --- a/inst/include/nt2/boolean/include/functions/seldec.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SELDEC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SELDEC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/selinc.hpp b/inst/include/nt2/boolean/include/functions/selinc.hpp deleted file mode 100644 index b58c952..0000000 --- a/inst/include/nt2/boolean/include/functions/selinc.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SELINC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SELINC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/selsub.hpp b/inst/include/nt2/boolean/include/functions/selsub.hpp deleted file mode 100644 index e9e4303..0000000 --- a/inst/include/nt2/boolean/include/functions/selsub.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SELSUB_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SELSUB_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/if_allbits_else.hpp b/inst/include/nt2/boolean/include/functions/simd/if_allbits_else.hpp deleted file mode 100644 index cfd04af..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/if_allbits_else.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ALLBITS_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ALLBITS_ELSE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/if_else_allbits.hpp b/inst/include/nt2/boolean/include/functions/simd/if_else_allbits.hpp deleted file mode 100644 index d78fede..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/if_else_allbits.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ALLBITS_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ALLBITS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/if_else_zero.hpp b/inst/include/nt2/boolean/include/functions/simd/if_else_zero.hpp deleted file mode 100644 index fdf7dc0..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/if_else_zero.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/if_one_else_zero.hpp b/inst/include/nt2/boolean/include/functions/simd/if_one_else_zero.hpp deleted file mode 100644 index 3be4301..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/if_one_else_zero.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ONE_ELSE_ZERO_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ONE_ELSE_ZERO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/if_zero_else.hpp b/inst/include/nt2/boolean/include/functions/simd/if_zero_else.hpp deleted file mode 100644 index 94dd4ff..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/if_zero_else.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/if_zero_else_one.hpp b/inst/include/nt2/boolean/include/functions/simd/if_zero_else_one.hpp deleted file mode 100644 index 7a11eaa..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/if_zero_else_one.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_ONE_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IF_ZERO_ELSE_ONE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/ifnotadd.hpp b/inst/include/nt2/boolean/include/functions/simd/ifnotadd.hpp deleted file mode 100644 index 5b77be0..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/ifnotadd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTADD_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTADD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/ifnotdec.hpp b/inst/include/nt2/boolean/include/functions/simd/ifnotdec.hpp deleted file mode 100644 index 831b13f..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/ifnotdec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTDEC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTDEC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/ifnotinc.hpp b/inst/include/nt2/boolean/include/functions/simd/ifnotinc.hpp deleted file mode 100644 index 09b6b55..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/ifnotinc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTINC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTINC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/ifnotsub.hpp b/inst/include/nt2/boolean/include/functions/simd/ifnotsub.hpp deleted file mode 100644 index 638a0b5..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/ifnotsub.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTSUB_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_IFNOTSUB_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/logical_andnot.hpp b/inst/include/nt2/boolean/include/functions/simd/logical_andnot.hpp deleted file mode 100644 index cb6b4fb..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/logical_andnot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ANDNOT_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ANDNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/logical_notand.hpp b/inst/include/nt2/boolean/include/functions/simd/logical_notand.hpp deleted file mode 100644 index add7575..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/logical_notand.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTAND_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTAND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/logical_notor.hpp b/inst/include/nt2/boolean/include/functions/simd/logical_notor.hpp deleted file mode 100644 index 4b5c3d1..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/logical_notor.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTOR_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOTOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/logical_ornot.hpp b/inst/include/nt2/boolean/include/functions/simd/logical_ornot.hpp deleted file mode 100644 index dc5a7ee..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/logical_ornot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ORNOT_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_LOGICAL_ORNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/mask2logical.hpp b/inst/include/nt2/boolean/include/functions/simd/mask2logical.hpp deleted file mode 100644 index 1bd9435..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/mask2logical.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_MASK2LOGICAL_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_MASK2LOGICAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/negif.hpp b/inst/include/nt2/boolean/include/functions/simd/negif.hpp deleted file mode 100644 index e656d1a..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/negif.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_NEGIF_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_NEGIF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/negifnot.hpp b/inst/include/nt2/boolean/include/functions/simd/negifnot.hpp deleted file mode 100644 index 3f9b48f..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/negifnot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_NEGIFNOT_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_NEGIFNOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/seladd.hpp b/inst/include/nt2/boolean/include/functions/simd/seladd.hpp deleted file mode 100644 index f86e0eb..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/seladd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELADD_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELADD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/seldec.hpp b/inst/include/nt2/boolean/include/functions/simd/seldec.hpp deleted file mode 100644 index 72a53a2..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/seldec.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELDEC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELDEC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/selinc.hpp b/inst/include/nt2/boolean/include/functions/simd/selinc.hpp deleted file mode 100644 index 3cac9ab..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/selinc.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELINC_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELINC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/boolean/include/functions/simd/selsub.hpp b/inst/include/nt2/boolean/include/functions/simd/selsub.hpp deleted file mode 100644 index 1861b6f..0000000 --- a/inst/include/nt2/boolean/include/functions/simd/selsub.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELSUB_HPP_INCLUDED -#define NT2_BOOLEAN_INCLUDE_FUNCTIONS_SIMD_SELSUB_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/combinatorial.hpp b/inst/include/nt2/combinatorial/combinatorial.hpp deleted file mode 100644 index a4a4264..0000000 --- a/inst/include/nt2/combinatorial/combinatorial.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_COMBINATORIAL_HPP_INCLUDED -#define NT2_COMBINATORIAL_COMBINATORIAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/constants.hpp b/inst/include/nt2/combinatorial/constants.hpp deleted file mode 100644 index a8ce635..0000000 --- a/inst/include/nt2/combinatorial/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_COMBINATORIAL_CONSTANTS_HPP_INCLUDED -#define NT2_COMBINATORIAL_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/combinatorial/functions.hpp b/inst/include/nt2/combinatorial/functions.hpp deleted file mode 100644 index 4a352cd..0000000 --- a/inst/include/nt2/combinatorial/functions.hpp +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef NT2_COMBINATORIAL_FUNCTIONS_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/functions/anp.hpp b/inst/include/nt2/combinatorial/functions/anp.hpp deleted file mode 100644 index b88bb9c..0000000 --- a/inst/include/nt2/combinatorial/functions/anp.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_ANP_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_ANP_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief anp generic tag - - Represents the anp function in generic contexts. - - @par Models: - Hierarchy - **/ - struct anp_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_anp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_anp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_anp_; - } - /*! - Computes the number of arrangement of p elements among n - If a0 (n) and a1 (p) are not of integer type - they are rounded to nearest integer before computation. - \par Formula - \f[A_n^p = \frac{n!}{(n-p)!}\f] - - @par Semantic: - - For every table expressions n and p - - @code - auto r = anp(n, p); - @endcode - - is similar to: - - @code - auto r = exp(gammaln(n+1)-gammaln(n-p+1)); - @endcode - - @see @funcref{exp}, @funcref{gammaln}, @funcref{cnp} - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::anp_, anp, 2) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/cnp.hpp b/inst/include/nt2/combinatorial/functions/cnp.hpp deleted file mode 100644 index 45ee5b0..0000000 --- a/inst/include/nt2/combinatorial/functions/cnp.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_CNP_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_CNP_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief cnp generic tag - - Represents the cnp function in generic contexts. - - @par Models: - Hierarchy - **/ - struct cnp_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cnp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cnp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cnp_; - } - /*! - Computes the number of combination of p elements among n - If a0 (n) and a1 (p) are not of integer type - they are rounded to nearest integer before computation. - \par Formula - \f[C_n^p = \frac{n!}{p!(n-p)!}\f] - - @par Semantic: - - For every table expressions - - @code - auto r = cnp(n, p); - @endcode - - is similar to: - - @code - auto r = exp(gammaln(n+1)-gammaln(p+1)-gammaln(n-p+1)); - @endcode - - @see @funcref{exp}, @funcref{gammaln}, @funcref{anp} - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::cnp_, cnp, 2) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/combs.hpp b/inst/include/nt2/combinatorial/functions/combs.hpp deleted file mode 100644 index d636745..0000000 --- a/inst/include/nt2/combinatorial/functions/combs.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_COMBS_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_COMBS_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief combs generic tag - - Represents the combs function in generic contexts. - - @par Models: - Hierarchy - **/ - struct combs_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_combs_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_combs_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_combs_; - } - /*! - Computes combination number of combined subvectors. - - @par Semantic: - - @code - auto r = combs(a0, k); - @endcode - - - when a0 (n) and k are non-negative integers the number of - combinations of k elements among n. If n or k are large a - warning will be produced indicating possible inexact results. in - such cases, the result is only accurate to 15 digits for - double-precision inputs, or 8 digits for single-precision - inputs. - - - when a0 is a vector of length n, and k is an integer - produces a matrix with n!/k!(n-k)! rows and k columns. each row - of the result has k of the elements in the vector v. this syntax - is only practical for situations where n is less than about 15. - - @see @funcref{cnp} - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::combs_, combs, 2) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/expr/combs.hpp b/inst/include/nt2/combinatorial/functions/expr/combs.hpp deleted file mode 100644 index fb515d1..0000000 --- a/inst/include/nt2/combinatorial/functions/expr/combs.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_EXPR_COMBS_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_EXPR_COMBS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (combs_, tag::cpu_, - (A0)(A1), - (unspecified_) - (scalar_ < integer_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef nt2::container::table result_type; - inline result_type operator()(A0 const& v0, const A1 & m0) const - { - result_type p; - size_t m = m0; - size_t n = nt2::length(v0); - if (n == m || n == 0) - { - return nt2::rowvect(v0); - } - else if (m == 1u) - { - return nt2::colvect(v0); - } - else - { - result_type v = nt2::rowvect(v0); - - p = nt2::zeros(0, 0, meta::as_()); - if ((m < n) && (m > 1u)) - { - for (size_t k = 1; k <= n-m+1; ++k) - { - result_type q = nt2::combs(v(nt2::_(k+1, n)),m-1); - result_type tmp = nt2::cath(v(nt2::ones(size(q,1),1, meta::as_()),k), q); - if (isempty(p)) - p = tmp; - else - { - result_type tmp1 = nt2::catv(p,tmp);//ALIASING - p = tmp1; - } - } - } - return p; - } - } - }; -} } -#endif diff --git a/inst/include/nt2/combinatorial/functions/expr/factor.hpp b/inst/include/nt2/combinatorial/functions/expr/factor.hpp deleted file mode 100644 index 802160e..0000000 --- a/inst/include/nt2/combinatorial/functions/expr/factor.hpp +++ /dev/null @@ -1,119 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_EXPR_FACTOR_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_EXPR_FACTOR_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (factor_, tag::cpu_, - (A0), - (scalar_ < integer_ > ) - ) - { - typedef nt2::container::table result_type; - inline result_type operator()(A0 n) const - { - check(n, typename meta::is_signed::type()); - typedef nt2::container::table itab_t; - result_type f, f1; - if (n < 4) - { - f = n; - return f; - } - else - f = nt2::zeros(1, 0, nt2::meta::as_()); - result_type p = nt2::primes(nt2::sqrt(n)); - while (n>1) - { - itab_t d = nt2::find(nt2::is_eqz(nt2::rem(n,p))); - if (nt2::isempty(d)) - { - f1 = nt2::cath(f, n); - f = f1; //ALIASING ! - break; - } - result_type p1 = rowvect(p(d)); - p = p1; - f1 = nt2::cath(f, p); - f = f1; //ALIASING ! - n = n/nt2::prod(p); - } - return nt2::sort(f, 2); - } - private : - inline void check(A0 const&, boost::mpl::false_ const &) const {} - inline void check(A0 const& n, boost::mpl::true_ const &) const - { - BOOST_ASSERT_MSG(n > 0, "primes : input must be greater than zero"); - } - }; - - BOOST_DISPATCH_IMPLEMENT (factor_, tag::cpu_, - (A0), - (scalar_ < floating_ > ) - ) - { - typedef nt2::container::table result_type; - inline result_type operator()(A0 n) const - { - check(n); - typedef nt2::container::table itab_t; - result_type f, f1; - if (n < Four()) - { - f = n; - return f; - } - else - f = nt2::zeros(1, 0, nt2::meta::as_()); - result_type p = nt2::primes(nt2::sqrt(n)); - while (n>1) - { - itab_t d = nt2::find(nt2::is_eqz(nt2::rem(n,p))); - if (nt2::isempty(d)) - { - f1 = nt2::cath(f, n); - f = f1; //ALIASING ! - break; - } - result_type p1 = rowvect(p(d)); - p = p1; - f1 = nt2::cath(f, p); - f = f1; //ALIASING ! - n = n/nt2::prod(p); - } - return nt2::sort(f, 2); - } - private : - inline void check(A0 const& n) const - { - BOOST_ASSERT_MSG(n <= Maxflint(), "primes : When input is floating, its maximum allowed value is Maxflint"); - BOOST_ASSERT_MSG(n > 0, "primes : input must be greater than zero"); - } - }; -} } -#endif - diff --git a/inst/include/nt2/combinatorial/functions/expr/fibonacci.hpp b/inst/include/nt2/combinatorial/functions/expr/fibonacci.hpp deleted file mode 100644 index 5bdb7af..0000000 --- a/inst/include/nt2/combinatorial/functions/expr/fibonacci.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_EXPR_FIBONACCI_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_EXPR_FIBONACCI_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fibonacci_, tag::cpu_, - (A0)(A1), - (scalar_ >) - (scalar_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A0 const& a1, A1 const& a2), - (boost::proto:: - make_expr - (a0, a1, boost::cref(a2)) - ) - ) - }; - - - - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_)) - ) - { - typedef A0& result_type; - typedef typename A0::value_type v_type; - result_type operator()(A0& out, const A1& in) const - { - BOOST_AUTO_TPL(n, boost::proto::child_c<2>(in)); - v_type a = boost::proto::child_c<0>(in); - v_type b = boost::proto::child_c<1>(in); - out.resize(nt2::extent(n)); - const v_type gold1 = -rec(nt2::Gold()); - nt2::container::table m - = nt2::cons(of_size(2, 2), - nt2::One(), nt2::Gold(), - nt2::One(),gold1 - ); - BOOST_AUTO_TPL(nm1, nt2::cast(nt2::minusone(n))); - nt2::container::table c = nt2::linsolve(m, catv(a, b)); - BOOST_AUTO_TPL(f, c(1)*nt2::pow(nt2::Gold(), nm1)+c(2)*nt2::pow(gold1, nm1)); - if (nt2::is_flint(a) && nt2::is_flint(b)) - out = nt2::round(f); - else - out = f; - return out; - } - }; - -} } - - -#endif diff --git a/inst/include/nt2/combinatorial/functions/expr/is_prime.hpp b/inst/include/nt2/combinatorial/functions/expr/is_prime.hpp deleted file mode 100644 index fd0d20b..0000000 --- a/inst/include/nt2/combinatorial/functions/expr/is_prime.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_EXPR_IS_PRIME_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_EXPR_IS_PRIME_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (is_prime_, tag::cpu_, - (A0), - (unspecified_) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_logical::type bvalue_type; - typedef nt2::container::table result_type; - typedef typename nt2::meta::as_integer::type ivalue_type; - typedef typename boost::mpl::if_, - uint32_t, ivalue_type>::type itype; - NT2_FUNCTOR_CALL(1) - { - itype m = nt2::oneplus(nt2::sqrt(nt2::globalmax(a0))); - nt2::container::table p = nt2::primes(m); - result_type r(nt2::of_size(1, nt2::numel(a0))); - - for(size_t i=1; i <= numel(a0) ; i++) - { - r(i) = is_prime(a0(i), p); - } - return r; - } - }; -} } -#endif diff --git a/inst/include/nt2/combinatorial/functions/expr/perms.hpp b/inst/include/nt2/combinatorial/functions/expr/perms.hpp deleted file mode 100644 index 84a3a06..0000000 --- a/inst/include/nt2/combinatorial/functions/expr/perms.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_EXPR_PERMS_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_EXPR_PERMS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( perms_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - (boost::proto:: - make_expr - (boost::cref(a0), size_t(a1)) - ) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( perms_, tag::cpu_, - (A0), - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - (nt2::perms(a0, nt2::prod(nt2::_(size_t(1), nt2::numel(a0))))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_)) - ) - { - typedef A0& result_type; - typedef typename nt2::container::table ts_t; - result_type operator()(A0& out, const A1& in) const - { - BOOST_AUTO_TPL(v, boost::proto::child_c<0>(in)); - size_t k = boost::proto::child_c<1>(in); - size_t n = nt2::numel(v); - out.resize(nt2::of_size(n, k)); - out = v(nt2::permsn(n, k)); - return out; - } - }; - -} } - - -#endif diff --git a/inst/include/nt2/combinatorial/functions/expr/permsn.hpp b/inst/include/nt2/combinatorial/functions/expr/permsn.hpp deleted file mode 100644 index f42a870..0000000 --- a/inst/include/nt2/combinatorial/functions/expr/permsn.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_EXPR_PERMSN_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_EXPR_PERMSN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( permsn_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& n, A1 const& k), - ( boost::proto::make_expr - (size_t(n), size_t(k), _2D(nt2::of_size(n, k))) - )) - }; - - BOOST_DISPATCH_IMPLEMENT ( permsn_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& n), - (nt2::permsn(n, nt2::prod(nt2::_(size_t(1), n)))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_)) - ) - { - typedef A0& result_type; - typedef typename nt2::container::table ts_t; - result_type operator()(A0& out, const A1& in) const - { - size_t n = boost::proto::child_c<0>(in); - size_t k = boost::proto::child_c<1>(in); - k = nt2::min(k, nt2::prod(nt2::_(size_t(1), n))); - out.resize(nt2::of_size(n, k)); - ts_t cur = nt2::colvect(nt2::_(size_t(1), size_t(n))); - out(nt2::_, 1) = cur; - for (size_t i = 2; i <= k; ++i) - { - std::next_permutation(cur.begin(), cur.end()); - out(nt2::_, i) = cur; - } - return out; - } - }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/expr/primes.hpp b/inst/include/nt2/combinatorial/functions/expr/primes.hpp deleted file mode 100644 index 8b1b856..0000000 --- a/inst/include/nt2/combinatorial/functions/expr/primes.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_EXPR_PRIMES_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_EXPR_PRIMES_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (primes_, tag::cpu_, - (A0), - (scalar_ < arithmetic_ > ) - ) - { - typedef nt2::container::table result_type; - inline result_type operator()(A0 const& n) const - { - if (n < 2) return zeros(1,0,meta::as_()); - result_type p = _(One(), Two(), n); - size_t q = length(p); - size_t l = nt2::sqrt(n); - p(1) = Two(); - for (size_t k = 3; k <= l; k+= 2) - { - if (p((k+1) >> 1)) - p(_((sqr(k)+1) >> 1, k, q)) = Zero(); - } - return p(is_gtz(p)) ; - } - }; - - BOOST_DISPATCH_IMPLEMENT (primes_, tag::cpu_, - (A0), - (scalar_ < floating_ > ) - ) - { - typedef nt2::container::table result_type; - inline result_type operator()(A0 const& n) const - { - if (n < 2) return zeros(1,0,meta::as_()); - result_type p = _(One(), Two(), n); - size_t q = length(p); - size_t l = nt2::sqrt(n); - p(1) = Two(); - for (size_t k = 3; k <= l; k+= 2) - { - if (p((k+1) >> 1)) - p(_((sqr(k)+1) >> 1, k, q)) = Zero(); - } - return p(is_gtz(p)) ; - } - }; -} } -#endif diff --git a/inst/include/nt2/combinatorial/functions/factor.hpp b/inst/include/nt2/combinatorial/functions/factor.hpp deleted file mode 100644 index 649c25c..0000000 --- a/inst/include/nt2/combinatorial/functions/factor.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_FACTOR_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_FACTOR_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief factor generic tag - - Represents the factor function in generic contexts. - - @par Models: - Hierarchy - **/ - struct factor_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_factor_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_factor_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_factor_; - } - /*! - returns the table of prime numbers in non decreasing order - the product of which is equal to the input - - @par Semantic: - - For every table expression - - @code - auto r = factor(a0); - @endcode - - @param a0 - - @return a table containing the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::factor_,factor, 1) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/factorial.hpp b/inst/include/nt2/combinatorial/functions/factorial.hpp deleted file mode 100644 index a9d3bc2..0000000 --- a/inst/include/nt2/combinatorial/functions/factorial.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_FACTORIAL_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_FACTORIAL_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief factorial generic tag - - Represents the factorial function in generic contexts. - - @par Models: - Hierarchy - **/ - struct factorial_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_factorial_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_factorial_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_factorial_; - } - /*! - Computes saturated factorial in the input type - - be aware that the result is never exact if n>12 - and that the result is saturated in the input type! - - @par Semantic: - - For every table expression of elements of type T0 - - @code - auto r = factorial(n); - @endcode - - is similar to: - - @code - auto r = saturate(prod(_(1, n)); - @endcode - - @see @funcref{saturate} - @param a0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::factorial_,factorial, 1) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/fibonacci.hpp b/inst/include/nt2/combinatorial/functions/fibonacci.hpp deleted file mode 100644 index 42b5b1f..0000000 --- a/inst/include/nt2/combinatorial/functions/fibonacci.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_FIBONACCI_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_FIBONACCI_HPP_INCLUDED -#include -#include -#include -#include -#include - - -namespace nt2 { namespace tag - { - /*! - @brief fibonacci generic tag - - Represents the fibonacci function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fibonacci_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fibonacci_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fibonacci_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fibonacci_; - } - /*! - returns the values selected by n of a fibonacci sequence starting by a and b - the values are computed by the Binet formula and rounded if a and b are flint. - - @par Semantic: - - For every floating expressions a and b and integer expression n - - @code - auto r = fibonacci(a, b, n); - @endcode - - The recurrence formula defining the fibonacci sequence is: - - - r(1) = a - - r(2) = b - - r(i+2) = r(i+1)+r(i), i > 2 - - @param a0 - @param a1 - @param a2 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::fibonacci_,fibonacci, 3) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee = nt2::extent(boost::proto::child_c<2>(e)); - return sizee; - } - }; - - /// INTERNAL ONLY - template - struct value_type < tag::fibonacci_, Domain,N,Expr> - : meta::value_as - { }; -} } - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/gcd.hpp b/inst/include/nt2/combinatorial/functions/gcd.hpp deleted file mode 100644 index 4748c23..0000000 --- a/inst/include/nt2/combinatorial/functions/gcd.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_GCD_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_GCD_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief gcd generic tag - - Represents the gcd function in generic contexts. - - @par Models: - Hierarchy - **/ - struct gcd_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_gcd_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_gcd_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_gcd_; - } - /*! - Computes the greatest common divisor - - @par Semantic: - - For every table expressions - - @code - auto r = gcd(a0,a1); - @endcode - - is the greater positive integer which exactly divides a0 and a1 - - - If any input is zero 0 is returned - - If parameters are floating point and not flint, - nan is returned. - - @see @funcref{lcm}, @funcref{is_flint} - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::gcd_, gcd, 2) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/is_prime.hpp b/inst/include/nt2/combinatorial/functions/is_prime.hpp deleted file mode 100644 index e5050f0..0000000 --- a/inst/include/nt2/combinatorial/functions/is_prime.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_IS_PRIME_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_IS_PRIME_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief is_prime generic tag - - Represents the is_prime function in generic contexts. - - @par Models: - Hierarchy - **/ - // struct is_prime_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_is_prime_( ext::adl_helper(), static_cast(args)... ) ) }; - struct is_prime_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_is_prime_(ext::adl_helper(), static_cast(args)...) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_is_prime_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_is_prime_; - } - /*! - computes if each element of the table is prime or not in an expression table of logical. - - @par Semantic: - - For every table expression - - @code - auto r = is_prime(a0); - @endcode - - an integer is prime if it is positive and has exactly 2 distinct exact divisors. - - @see @funcref{primes}, @funcref{factor} - @param a0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::is_prime_,is_prime, 1) - NT2_FUNCTION_IMPLEMENTATION(tag::is_prime_,is_prime, 2) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/lcm.hpp b/inst/include/nt2/combinatorial/functions/lcm.hpp deleted file mode 100644 index ffdb317..0000000 --- a/inst/include/nt2/combinatorial/functions/lcm.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_LCM_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_LCM_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief lcm generic tag - - Represents the lcm function in generic contexts. - - @par Models: - Hierarchy - **/ - struct lcm_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_lcm_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_lcm_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_lcm_; - } - /*! - Computes the least common multiple - - If parameters are floating point and not flint, - nan is returned. - - @par Semantic: - - For every table expressions - - @code - auto r = lcm(a0,a1); - @endcode - - - If any input is zero 0 is returned - - If parameters are floating point and not flint, - nan is returned. - - @see @funcref{gcd}, @funcref{is_flint} - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::lcm_, lcm, 2) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/perms.hpp b/inst/include/nt2/combinatorial/functions/perms.hpp deleted file mode 100644 index 1d2c257..0000000 --- a/inst/include/nt2/combinatorial/functions/perms.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_PERMS_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_PERMS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2 { namespace tag - { - /*! - @brief perms generic tag - - Represents the perms function in generic contexts. - - @par Models: - Hierarchy - **/ - struct perms_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_perms_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_perms_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_perms_; - } - /*! - Computes permutations - - @par Semantic: - - For every table expression - - @code - auto r = perms(v, k); - @endcode - - returns the first k permutations - of the v elements. k defaults to !numel(v) - - Take care in this last case that numel(v) <= 10 to avoid - exhausting memory - - @param a0 - @param a1 - - @see @funcref{permsn}, @funcref{numel}, @funcref{combs} - @return an expression which eventually will evaluate to the result - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::perms_, perms, 2) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::perms_, perms, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee; - sizee[0] = nt2::numel(boost::proto::child_c<0>(e)); - - std::size_t l = 1; - for(std::size_t i=2;i<=sizee[0];++i) l *= i; - - sizee[1] = nt2::min(boost::proto::child_c<1>(e), l); - - return sizee; - } - }; - - /// INTERNAL ONLY - template - struct value_type < tag::perms_, Domain,N,Expr> - : meta::value_as - { }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/permsn.hpp b/inst/include/nt2/combinatorial/functions/permsn.hpp deleted file mode 100644 index 6c28173..0000000 --- a/inst/include/nt2/combinatorial/functions/permsn.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_PERMSN_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_PERMSN_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief permsn generic tag - - Represents the permsn function in generic contexts. - - @par Models: - Hierarchy - **/ - struct permsn_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_permsn_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_permsn_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_permsn_; - } - /*! - Computes permutations enumeration - - @par Semantic: - - For every n and k - - @code - auto r = permsn(n, k); - @endcode - - is similar to: - - @code - auto r = perms(_(1, n), k); - @endcode - - @see @funcref{perms}, @funcref{colon} - @param a0 - @param a1 - Return the k first or, by default, the n! permutations of [1 ... n] - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::permsn_, permsn, 2) - /// overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::permsn_, permsn, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee; - sizee[0] = boost::proto::child_c<0>(e); - - std::size_t l = 1; - for(std::size_t i=2;i<=sizee[0];++i) l *= i; - - sizee[1] = nt2::min(boost::proto::child_c<1>(e), l); - - return sizee; - } - }; - - - /// INTERNAL ONLY - template - struct value_type < tag::permsn_, Domain,N,Expr> - { - typedef std::size_t type; - }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/primes.hpp b/inst/include/nt2/combinatorial/functions/primes.hpp deleted file mode 100644 index eb4f8d6..0000000 --- a/inst/include/nt2/combinatorial/functions/primes.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_PRIMES_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_PRIMES_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief primes generic tag - - Represents the primes function in generic contexts. - - @par Models: - Hierarchy - **/ - struct primes_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_primes_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_primes_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_primes_; - } - /*! - returns the table of prime numbers less or equal to the input - - @par Semantic: - - For every table expression - - @code - auto r = primes(a0); - @endcode - - @see @funcref{is_prime}, @funcref{factor} - @param a0 - - @return a table containing the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::primes_,primes, 1) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/rat.hpp b/inst/include/nt2/combinatorial/functions/rat.hpp deleted file mode 100644 index dc8b651..0000000 --- a/inst/include/nt2/combinatorial/functions/rat.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_RAT_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_RAT_HPP_INCLUDED -#include - - -namespace nt2 { namespace tag - { - /*! - @brief rat generic tag - - Represents the rat function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rat_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rat_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rat_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rat_; - } - /*! - rational approximation of floating numbers - - @par Semantic: - - For every table expression - - @code - tie(n, d) = rat(a0, tol); - @endcode - - returns n and d such that (whenever possible) n/d - represents n within a tolerance of tol - - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::rat_, rat, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(tag::rat_, rat, 1) - /// @overload - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::rat_, rat,(A0 const&)(A1 const&)(A2&)(A3&),4) - /// @overload - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::rat_, rat,(A0 const&)(A1&)(A2&),3) -} - -#endif - diff --git a/inst/include/nt2/combinatorial/functions/scalar/anp.hpp b/inst/include/nt2/combinatorial/functions/scalar/anp.hpp deleted file mode 100644 index 6aba266..0000000 --- a/inst/include/nt2/combinatorial/functions/scalar/anp.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SCALAR_ANP_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SCALAR_ANP_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( anp_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL_REPEAT(2) - { - typedef typename boost::dispatch::meta::as_floating::type type; - typedef result_type rtype; - if (is_ngez(a0)||is_ngez(a1)) return (rtype)Nan(); - if (lt(a0,a1)) return (rtype)Zero(); - const type n = type(oneplus(round2even(a0))); - const type p = type(round2even(a1)); - return (rtype)round2even(nt2::exp(gammaln(n)-gammaln(n-p))); - } - }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/scalar/cnp.hpp b/inst/include/nt2/combinatorial/functions/scalar/cnp.hpp deleted file mode 100644 index d342bd6..0000000 --- a/inst/include/nt2/combinatorial/functions/scalar/cnp.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SCALAR_CNP_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SCALAR_CNP_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cnp_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - typedef typename boost::dispatch::meta::as_floating::type type; - typedef result_type rtype; - if (is_inf(a1)) return (rtype)Nan(); - if (is_ngez(a0)||is_ngez(a1)) return (rtype)Nan(); - if (a0 < a1) return (rtype) Zero(); - if (is_equal(a0, a1)) return (rtype)One(); - const type n = type(oneplus(round2even(a0))); - const type p = type(oneplus(round2even(a1))); - return (rtype)round2even(nt2::exp(gammaln(n)-gammaln(p) - -gammaln(oneplus(n-p)))); - } - }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/scalar/factorial.hpp b/inst/include/nt2/combinatorial/functions/scalar/factorial.hpp deleted file mode 100644 index c6d8cf8..0000000 --- a/inst/include/nt2/combinatorial/functions/scalar/factorial.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SCALAR_FACTORIAL_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SCALAR_FACTORIAL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (factorial_, tag::cpu_, - (A0), - (scalar_ < arithmetic_ > ) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename boost::dispatch::meta::as_floating::type ftype; - typedef typename meta::upgrade::type uftype; - const ftype r = static_cast(nt2::gamma(nt2::trunc(nt2::abss(static_cast(a0)))+One())); - return r > Valmax() ? Inf() : static_cast(nt2::round2even(r)); - } - }; -} } -#endif diff --git a/inst/include/nt2/combinatorial/functions/scalar/fibonacci.hpp b/inst/include/nt2/combinatorial/functions/scalar/fibonacci.hpp deleted file mode 100644 index fa02e6f..0000000 --- a/inst/include/nt2/combinatorial/functions/scalar/fibonacci.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SCALAR_FIBONACCI_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SCALAR_FIBONACCI_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (fibonacci_, tag::cpu_, - (A0)(A1), - ((scalar_ >)) - ((scalar_ >)) - ((scalar_ >)) - ) - { - typedef A0 result_type; - inline result_type operator()(A0 const& a, const A0 & b, const A1 & n) const - { - BOOST_AUTO_TPL(nm1, nt2::minusone(n)); - A0 c2 = fms(nt2::Gold(), a, b)*Oneosqrt5(); - A0 c1 = a-c2; - BOOST_AUTO_TPL(f, fma(c1, nt2::pow(nt2::Gold(), nm1), c2*nt2::pow(nt2::Goldbar(), nm1))); - if (nt2::is_flint(a) && nt2::is_flint(b)) - return nt2::round(f); - else - return f; - } - }; - -} } -#endif diff --git a/inst/include/nt2/combinatorial/functions/scalar/gcd.hpp b/inst/include/nt2/combinatorial/functions/scalar/gcd.hpp deleted file mode 100644 index e4df7a7..0000000 --- a/inst/include/nt2/combinatorial/functions/scalar/gcd.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SCALAR_GCD_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SCALAR_GCD_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( gcd_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - result_type a(a0); - result_type b(a1); - while (b) { - const result_type r = a % b; - a = b; - b = r; - } - return a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( gcd_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - result_type a(a0); - result_type b(a1); - if (!b) return a; - if (!is_flint(a)||!is_flint(b)) return Nan(); - while (b) { - result_type r = rem(a, b); - a = b; - b = r; - } - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/scalar/is_prime.hpp b/inst/include/nt2/combinatorial/functions/scalar/is_prime.hpp deleted file mode 100644 index e8e0c53..0000000 --- a/inst/include/nt2/combinatorial/functions/scalar/is_prime.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SCALAR_IS_PRIME_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SCALAR_IS_PRIME_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( is_prime_, tag::cpu_ - , (A0) - , ((scalar_ >)) - ) - { - typedef typename meta::as_logical::type result_type; - - NT2_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG( (a0 > 0) || !a0 - , "is_prime input is out of range (< 0)" - ); - - BOOST_ASSERT_MSG( a0 <= A0(saturate(Valmax())) - , "is_prime input is out of range" - ); - - if (a0 <= 1) return False(); - A0 m = oneplus(nt2::sqrt(a0)); - nt2::container::table p = nt2::primes(m); - - ///TODO perhaps a while with precox ending - return result_type(nt2::globalall(nt2::rem(a0, p(nt2::lt(p, a0))))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( is_prime_, tag::cpu_ - , (A0) - , ((scalar_ >)) - ) - { - typedef typename meta::as_logical::type result_type; - - NT2_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(a0 >= 0, "is_prime input is out of range (< 0)"); - BOOST_ASSERT_MSG(is_flint(a0), "is_prime input is not integral"); - BOOST_ASSERT_MSG( a0 <= Valmax() - , "is_prime input is out of range" - ); - - if (a0 <= 1) return False(); - - uint32_t ia0 = a0; - nt2::container::table p = nt2::primes(oneplus(sqrt(ia0))); - - ///TODO perhaps a while with precox ending - return result_type(nt2::globalall(nt2::rem(ia0, p(lt(p, ia0))))); - } - - }; - - BOOST_DISPATCH_IMPLEMENT ( is_prime_, tag::cpu_ - , (A0)(A1) - , ((scalar_ >)) - (unspecified_) - ) - { - typedef typename meta::as_logical::type result_type; - - NT2_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG( (a0 > 0) || !a0 - , "is_prime input is out of range (< 0)" - ); - - BOOST_ASSERT_MSG( a0 <= A0(saturate(Valmax())) - , "is_prime input is out of range" - ); - - if (a0 <= 1) return False(); - return result_type(nt2::globalall(nt2::rem(a0, a1(nt2::lt(a1, a0))))); - } - - }; - - BOOST_DISPATCH_IMPLEMENT ( is_prime_, tag::cpu_ - , (A0)(A1) - , ((scalar_ >)) - (unspecified_) - ) - { - typedef typename meta::as_logical::type result_type; - - NT2_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(a0 >= 0, "is_prime input is out of range (< 0)"); - BOOST_ASSERT_MSG(is_flint(a0), "is_prime input is not integral"); - BOOST_ASSERT_MSG( a0 <= Valmax() - , "is_prime input is out of range" - ); - - if (a0 <= 1) return False(); - uint32_t ia0 = a0; - - return result_type(nt2::globalall(nt2::rem(ia0, a1(nt2::lt(a1, ia0))))); - } - }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/scalar/lcm.hpp b/inst/include/nt2/combinatorial/functions/scalar/lcm.hpp deleted file mode 100644 index 7bdedd1..0000000 --- a/inst/include/nt2/combinatorial/functions/scalar/lcm.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SCALAR_LCM_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SCALAR_LCM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( lcm_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return nt2::abs(a0 * (a1 / gcd(a0, a1 ? a1 : A0(1)))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( lcm_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >) - (scalar_< floating_ >) - ) - { - - typedef typename boost::common_type::type result_type; - - NT2_FUNCTOR_CALL(2) - { - typedef result_type type; - if (is_invalid(a0+a1)) return Nan(); - return nt2::abs(trunc(a0)*(a1/gcd(a0,a1))); - } - }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/scalar/rat.hpp b/inst/include/nt2/combinatorial/functions/scalar/rat.hpp deleted file mode 100644 index 4bd2792..0000000 --- a/inst/include/nt2/combinatorial/functions/scalar/rat.hpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SCALAR_RAT_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SCALAR_RAT_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rat_, tag::cpu_ - , (A0) - , ( scalar_ > ) - ( scalar_ > ) - ( scalar_ >) - ) - { - typedef void result_type; - inline void operator()(A0 const& a0, A0 & n, A0 & d) const - { - A0 tol = A0(1.e-6)*nt2::abs(a0); - rat(a0, tol, n, d); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rat_, tag::cpu_ - , (A0) - , ( scalar_ >) - ( scalar_ >) - ( scalar_ >) - ( scalar_ >) - ) - { - typedef void result_type; - inline void operator()(A0 const& a0,A0 const& tol, A0 & n, A0 & d) const - { - typedef nt2::container::table tab_t; - A0 x = a0; - n = Zero(); - d = Zero(); - #ifndef BOOST_SIMD_NO_INVALIDS - if (is_not_finite(x)) - { // Special case for inf, -inf, NaN - if (is_not_nan(x)) n = nt2::sign(x); - } - else - #endif - { - size_t k = 0; - tab_t c = nt2::eye(2, meta::as_()); - while (true) - { - ++k; - d = nt2::round2even(x); - if (nt2::is_finite(x)) - { - x -= d; - tab_t c0 = nt2::vertcat(d, One()); - tab_t c1 = nt2::mtimes(c, c0); - tab_t c2 = nt2::vertcat(c(1, 1), c(1, 2)); - c = nt2::horzcat(c1, c2); - } - else // Special case for +/- inf - { - c = horzcat(vertcat(x,Zero()), c(nt2::_, 1)); - } - if (nt2::is_eqz(x) || (nt2::abs(c(1,1)/c(2,1) - a0) <= nt2::max(tol,nt2::eps(x)))) - break; - x = rec(x); - } - n = c(1,1)/nt2::sign(c(2,1)); - d = nt2::abs(c(2,1)); - } - } - }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/simd/common/anp.hpp b/inst/include/nt2/combinatorial/functions/simd/common/anp.hpp deleted file mode 100644 index 53bf865..0000000 --- a/inst/include/nt2/combinatorial/functions/simd/common/anp.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_ANP_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_ANP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT (anp_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - const A0 n = oneplus(round2even(a0)); - const A0 p = round2even(a1); - return if_nan_else(l_or(is_ngez(a0), is_ngez(a1)), - if_zero_else(lt(a0,a1), - round2even(nt2::exp(gammaln(n) - -gammaln(n-p))) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT (anp_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return toints(anp(tofloat(a0), tofloat(a1))); - } - }; - - -} } -#endif diff --git a/inst/include/nt2/combinatorial/functions/simd/common/cnp.hpp b/inst/include/nt2/combinatorial/functions/simd/common/cnp.hpp deleted file mode 100644 index aa0a7f4..0000000 --- a/inst/include/nt2/combinatorial/functions/simd/common/cnp.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_CNP_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_CNP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (cnp_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - const A0 n = oneplus(round2even(a0)); - const A0 p = oneplus(round2even(a1)); - return if_nan_else(l_or(is_ngez(a0), is_ngez(a1)), - if_zero_else(lt(a0,a1), - round2even(nt2::exp(gammaln(n)-gammaln(p) - -gammaln(oneplus(n-p))) - ) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT (cnp_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return toints(cnp(tofloat(a0), tofloat(a1))); - } - }; - -} } -#endif diff --git a/inst/include/nt2/combinatorial/functions/simd/common/factorial.hpp b/inst/include/nt2/combinatorial/functions/simd/common/factorial.hpp deleted file mode 100644 index ed0b04e..0000000 --- a/inst/include/nt2/combinatorial/functions/simd/common/factorial.hpp +++ /dev/null @@ -1,183 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_FACTORIAL_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_FACTORIAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (factorial_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename meta::as_logical::type bA0; - A0 r = One(); - A0 a00 = nt2::trunc(nt2::abs(a0)); - r = select(eq(a00, Two()), Two(), r); - r = select(eq(a00, Three()), Six(), r); - r = select(eq(a00, Four()), Fact_4(), r); - r = select(eq(a00, Five()), Fact_5(), r); - r = select(eq(a00, Six()), Fact_6(), r); - r = select(eq(a00, Seven()), Fact_7(), r); - r = select(eq(a00, Eight()), Fact_8(), r); - r = select(eq(a00, Nine()), Fact_9(), r); - r = select(eq(a00, Ten()), Fact_10(),r); - r = select(eq(a00, Eleven()), Fact_11(),r); - r = select(eq(a00, Twelve()), Fact_12(),r); - bA0 test = le(a00, Twelve()); - if (nt2::all(test)) - return r; - else - return select(test, r, - nt2::round2even(nt2::gamma(oneplus(a00)))); - } - }; - - BOOST_DISPATCH_IMPLEMENT (factorial_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - using boost::simd::bitwise_cast; - typedef typename meta::as_floating::type ftype; - ftype r = nt2::factorial(nt2::tofloat(a0)); - return select(gt(r,tofloat(Valmax())), Valmax(), bitwise_cast(nt2::toint(r))); - } - }; - - BOOST_DISPATCH_IMPLEMENT (factorial_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - const A0 a00 = abss(a0); - A0 r = One(); - r = select(eq(a00, Two()), Two(), r); - r = select(eq(a00, Three()), Six(), r); - r = select(eq(a00, Four()), Fact_4(), r); - r = select(eq(a00, Five()), Fact_5(), r); - r = select(eq(a00, Six()), Fact_6() , r); - r = select(eq(a00, Seven()), Fact_7(), r); - r = select(eq(a00, Eight()), Fact_8() , r); - r = select(eq(a00, Nine()), Fact_9(), r); - r = select(eq(a00, Ten()), Fact_10(), r); - r = select(eq(a00, Eleven()), Fact_11(), r); - r = select(eq(a00, Twelve()), Fact_12(), r); - return select(gt(a00, Twelve()), Valmax(), r); - } - }; - BOOST_DISPATCH_IMPLEMENT (factorial_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - const A0 a00 = abss(a0); - A0 r = One(); - r = select(eq(a00, Two()), Two(), r); - r = select(eq(a00, Three()), Six(), r); - r = select(eq(a00, Four()), Fact_4(), r); - r = select(eq(a00, Five()), Fact_5(), r); - r = select(eq(a00, Six()), Fact_6() , r); - r = select(eq(a00, Seven()),Fact_7(), r); - return select(ge(a00, Eight()), Valmax(), r); - } - }; - BOOST_DISPATCH_IMPLEMENT (factorial_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - const A0 a00 = abss(a0); - A0 r = One(); - r = select(eq(a00, Two()), Two(), r); - r = select(eq(a00, Three()), Six(), r); - r = select(eq(a00, Four()), Fact_4(), r); - r = select(eq(a00, Five()), Fact_5(), r); - r = select(eq(a00, Six()), Fact_6() , r); - r = select(eq(a00, Seven()), Fact_7(), r); - r = select(eq(a00, Eight()), Fact_8() , r); - return select(ge(a00, Nine()), Valmax(), r); - } - }; - - BOOST_DISPATCH_IMPLEMENT (factorial_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - const A0 a00 = abss(a0); - A0 r = One(); - r = select(eq(a00, Two()), Two(), r); - r = select(eq(a00, Three()), Six(), r); - r = select(eq(a00, Four()), Fact_4(), r); - r = select(eq(a00, Five()), Fact_5(), r); - return select(gt(a00, Five()), Valmax(), r); - } - }; -} } -#endif diff --git a/inst/include/nt2/combinatorial/functions/simd/common/gcd.hpp b/inst/include/nt2/combinatorial/functions/simd/common/gcd.hpp deleted file mode 100644 index a341489..0000000 --- a/inst/include/nt2/combinatorial/functions/simd/common/gcd.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_GCD_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_GCD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( gcd_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_logical::type bA0; - A0 a = a0, b = a1; - bA0 t= nt2::is_nez(b); - while (nt2::any(t)) - { - A0 r = nt2::if_else_zero(t, rem(a, b)); - a = nt2::if_else(t, b, a); - b = r; - t = nt2::is_nez(b); - } - return a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( gcd_, tag::cpu_ - , (A0)(X) - , ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - typedef typename meta::as_logical::type bA0; - bA0 ints = nt2::logical_and(is_flint(a1), is_flint(a0)); - A0 a = nt2::if_else_zero(ints, a0); - A0 b = nt2::if_else_zero(ints, a1); - bA0 t= nt2::is_nez(b); - while (bool(nt2::any(t))) - { - A0 r = nt2::if_else_zero(t, rem(a, b)); - a = nt2::if_else(t, b, a); - b = r; - t = nt2::is_nez(b); - } - return nt2::if_else_nan(ints, a); - } - }; -} } - -#endif diff --git a/inst/include/nt2/combinatorial/functions/simd/common/lcm.hpp b/inst/include/nt2/combinatorial/functions/simd/common/lcm.hpp deleted file mode 100644 index 238a49c..0000000 --- a/inst/include/nt2/combinatorial/functions/simd/common/lcm.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_LCM_HPP_INCLUDED -#define NT2_COMBINATORIAL_FUNCTIONS_SIMD_COMMON_LCM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT (lcm_, tag::cpu_, - (A0)(X), - ((simd_,X>)) - ((simd_,X>)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - A0 div = selinc(is_eqz(a1), a1); - return nt2::abs(a0 * (a1 / gcd(a0, div))); - } - }; -} } -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/anp.hpp b/inst/include/nt2/combinatorial/include/functions/anp.hpp deleted file mode 100644 index e15fca9..0000000 --- a/inst/include/nt2/combinatorial/include/functions/anp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_ANP_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_ANP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/cnp.hpp b/inst/include/nt2/combinatorial/include/functions/cnp.hpp deleted file mode 100644 index 2dd398e..0000000 --- a/inst/include/nt2/combinatorial/include/functions/cnp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_CNP_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_CNP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/combs.hpp b/inst/include/nt2/combinatorial/include/functions/combs.hpp deleted file mode 100644 index 7698ec0..0000000 --- a/inst/include/nt2/combinatorial/include/functions/combs.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_COMBS_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_COMBS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/factor.hpp b/inst/include/nt2/combinatorial/include/functions/factor.hpp deleted file mode 100644 index 6f50033..0000000 --- a/inst/include/nt2/combinatorial/include/functions/factor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_FACTOR_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_FACTOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/factorial.hpp b/inst/include/nt2/combinatorial/include/functions/factorial.hpp deleted file mode 100644 index 0bd66dc..0000000 --- a/inst/include/nt2/combinatorial/include/functions/factorial.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_FACTORIAL_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_FACTORIAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/fibonacci.hpp b/inst/include/nt2/combinatorial/include/functions/fibonacci.hpp deleted file mode 100644 index 2c26f95..0000000 --- a/inst/include/nt2/combinatorial/include/functions/fibonacci.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_FIBONACCI_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_FIBONACCI_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/gcd.hpp b/inst/include/nt2/combinatorial/include/functions/gcd.hpp deleted file mode 100644 index 7e94e2c..0000000 --- a/inst/include/nt2/combinatorial/include/functions/gcd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_GCD_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_GCD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/is_prime.hpp b/inst/include/nt2/combinatorial/include/functions/is_prime.hpp deleted file mode 100644 index 83d9a45..0000000 --- a/inst/include/nt2/combinatorial/include/functions/is_prime.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_IS_PRIME_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_IS_PRIME_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/lcm.hpp b/inst/include/nt2/combinatorial/include/functions/lcm.hpp deleted file mode 100644 index e93384e..0000000 --- a/inst/include/nt2/combinatorial/include/functions/lcm.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_LCM_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_LCM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/perms.hpp b/inst/include/nt2/combinatorial/include/functions/perms.hpp deleted file mode 100644 index c9eda2e..0000000 --- a/inst/include/nt2/combinatorial/include/functions/perms.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_PERMS_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_PERMS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/permsn.hpp b/inst/include/nt2/combinatorial/include/functions/permsn.hpp deleted file mode 100644 index 8d41015..0000000 --- a/inst/include/nt2/combinatorial/include/functions/permsn.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_PERMSN_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_PERMSN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/primes.hpp b/inst/include/nt2/combinatorial/include/functions/primes.hpp deleted file mode 100644 index f29a78d..0000000 --- a/inst/include/nt2/combinatorial/include/functions/primes.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_PRIMES_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_PRIMES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/rat.hpp b/inst/include/nt2/combinatorial/include/functions/rat.hpp deleted file mode 100644 index d165bc3..0000000 --- a/inst/include/nt2/combinatorial/include/functions/rat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_RAT_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_RAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/anp.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/anp.hpp deleted file mode 100644 index dcfb21e..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/anp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_ANP_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_ANP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/cnp.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/cnp.hpp deleted file mode 100644 index 49106bc..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/cnp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_CNP_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_CNP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/combs.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/combs.hpp deleted file mode 100644 index a18409d..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/combs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_COMBS_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_COMBS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/factor.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/factor.hpp deleted file mode 100644 index f845414..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/factor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_FACTOR_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_FACTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/factorial.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/factorial.hpp deleted file mode 100644 index 80d9902..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/factorial.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_FACTORIAL_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_FACTORIAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/fibonacci.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/fibonacci.hpp deleted file mode 100644 index 9d3a4a5..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/fibonacci.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_FIBONACCI_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_FIBONACCI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/gcd.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/gcd.hpp deleted file mode 100644 index 648c301..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/gcd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_GCD_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_GCD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/is_prime.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/is_prime.hpp deleted file mode 100644 index a84b8a2..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/is_prime.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_IS_PRIME_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_IS_PRIME_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/lcm.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/lcm.hpp deleted file mode 100644 index 8849200..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/lcm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_LCM_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_LCM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/perms.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/perms.hpp deleted file mode 100644 index 877a4b2..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/perms.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_PERMS_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_PERMS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/permsn.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/permsn.hpp deleted file mode 100644 index 024835d..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/permsn.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_PERMSN_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_PERMSN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/primes.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/primes.hpp deleted file mode 100644 index cd1ea3b..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/primes.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_PRIMES_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_PRIMES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/scalar/rat.hpp b/inst/include/nt2/combinatorial/include/functions/scalar/rat.hpp deleted file mode 100644 index 66ffc29..0000000 --- a/inst/include/nt2/combinatorial/include/functions/scalar/rat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_RAT_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SCALAR_RAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/anp.hpp b/inst/include/nt2/combinatorial/include/functions/simd/anp.hpp deleted file mode 100644 index eab83e1..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/anp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_ANP_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_ANP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/cnp.hpp b/inst/include/nt2/combinatorial/include/functions/simd/cnp.hpp deleted file mode 100644 index 60fea4f..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/cnp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_CNP_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_CNP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/combs.hpp b/inst/include/nt2/combinatorial/include/functions/simd/combs.hpp deleted file mode 100644 index 954d585..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/combs.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_COMBS_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_COMBS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/factor.hpp b/inst/include/nt2/combinatorial/include/functions/simd/factor.hpp deleted file mode 100644 index 7b9de0b..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/factor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_FACTOR_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_FACTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/factorial.hpp b/inst/include/nt2/combinatorial/include/functions/simd/factorial.hpp deleted file mode 100644 index feb6e70..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/factorial.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_FACTORIAL_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_FACTORIAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/fibonacci.hpp b/inst/include/nt2/combinatorial/include/functions/simd/fibonacci.hpp deleted file mode 100644 index 2e50a9c..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/fibonacci.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_FIBONACCI_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_FIBONACCI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/gcd.hpp b/inst/include/nt2/combinatorial/include/functions/simd/gcd.hpp deleted file mode 100644 index 26dbb65..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/gcd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_GCD_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_GCD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/is_prime.hpp b/inst/include/nt2/combinatorial/include/functions/simd/is_prime.hpp deleted file mode 100644 index 43fdccf..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/is_prime.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_IS_PRIME_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_IS_PRIME_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/lcm.hpp b/inst/include/nt2/combinatorial/include/functions/simd/lcm.hpp deleted file mode 100644 index c31aa23..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/lcm.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_LCM_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_LCM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/perms.hpp b/inst/include/nt2/combinatorial/include/functions/simd/perms.hpp deleted file mode 100644 index 5535076..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/perms.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_PERMS_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_PERMS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/permsn.hpp b/inst/include/nt2/combinatorial/include/functions/simd/permsn.hpp deleted file mode 100644 index cc5d158..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/permsn.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_PERMSN_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_PERMSN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/primes.hpp b/inst/include/nt2/combinatorial/include/functions/simd/primes.hpp deleted file mode 100644 index 81d6bcf..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/primes.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_PRIMES_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_PRIMES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/combinatorial/include/functions/simd/rat.hpp b/inst/include/nt2/combinatorial/include/functions/simd/rat.hpp deleted file mode 100644 index 7d12b61..0000000 --- a/inst/include/nt2/combinatorial/include/functions/simd/rat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_RAT_HPP_INCLUDED -#define NT2_COMBINATORIAL_INCLUDE_FUNCTIONS_SIMD_RAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/complex.hpp b/inst/include/nt2/complex/complex.hpp deleted file mode 100644 index daba0e0..0000000 --- a/inst/include/nt2/complex/complex.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_COMPLEX_HPP_INCLUDED -#define NT2_COMPLEX_COMPLEX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/constants.hpp b/inst/include/nt2/complex/constants.hpp deleted file mode 100644 index e8aefb4..0000000 --- a/inst/include/nt2/complex/constants.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMPLEX_CONSTANTS_HPP_INCLUDED -#define NT2_COMPLEX_CONSTANTS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/complex/constants/cnan.hpp b/inst/include/nt2/complex/constants/cnan.hpp deleted file mode 100644 index 5449efe..0000000 --- a/inst/include/nt2/complex/constants/cnan.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_CONSTANTS_CNAN_HPP_INCLUDED -#define NT2_COMPLEX_CONSTANTS_CNAN_HPP_INCLUDED - -#include -#include -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_Cnan Cnan - * - * \par Description - * Constant Cnan : Imag mask. - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \alias: - * J - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call)>::type - * Cnan(); - * } - * \endcode - * - * - * \param T template parameter of Cnan - * - * \return type T value - * - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag Cnan of functor Cnan - * in namespace nt2::tag for toolbox complex - **/ - struct Cnan : ext::constant_ - { - typedef std::complex default_type; - typedef ext::constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Cnan( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Cnan(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Cnan; - } - - BOOST_SIMD_CONSTANT_IMPLEMENTATION(nt2::tag::Cnan, Cnan) - -} - -#endif diff --git a/inst/include/nt2/complex/constants/generic/cnan.hpp b/inst/include/nt2/complex/constants/generic/cnan.hpp deleted file mode 100644 index 2432665..0000000 --- a/inst/include/nt2/complex/constants/generic/cnan.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_CONSTANTS_GENERIC_CNAN_HPP_INCLUDED -#define NT2_COMPLEX_CONSTANTS_GENERIC_CNAN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Cnan, tag::cpu_, (A0) - , ((target_< generic_< complex_< arithmetic_ > > >)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - typedef typename meta::as_real::type real_t; - return result_type(Nan(), Nan()); - } - }; -} } - -#endif diff --git a/inst/include/nt2/complex/constants/generic/i.hpp b/inst/include/nt2/complex/constants/generic/i.hpp deleted file mode 100644 index 2ecad44..0000000 --- a/inst/include/nt2/complex/constants/generic/i.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_CONSTANTS_GENERIC_I_HPP_INCLUDED -#define NT2_COMPLEX_CONSTANTS_GENERIC_I_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( I, tag::cpu_, (A0) - , ((target_< generic_< complex_< arithmetic_ > > >)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - typedef typename meta::as_real::type real_t; - return result_type(Zero(), One()); - } - }; -} } - -#endif diff --git a/inst/include/nt2/complex/constants/generic/sqrti.hpp b/inst/include/nt2/complex/constants/generic/sqrti.hpp deleted file mode 100644 index 2f29708..0000000 --- a/inst/include/nt2/complex/constants/generic/sqrti.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_CONSTANTS_GENERIC_SQRTI_HPP_INCLUDED -#define NT2_COMPLEX_CONSTANTS_GENERIC_SQRTI_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Sqrti, tag::cpu_, (A0) - , ((target_< generic_< complex_< arithmetic_ > > >)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - typedef typename meta::as_real::type real_t; - return result_type(Sqrt_2o_2(), Sqrt_2o_2()); - } - }; -} } - -#endif diff --git a/inst/include/nt2/complex/constants/i.hpp b/inst/include/nt2/complex/constants/i.hpp deleted file mode 100644 index 2e29b26..0000000 --- a/inst/include/nt2/complex/constants/i.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_CONSTANTS_I_HPP_INCLUDED -#define NT2_COMPLEX_CONSTANTS_I_HPP_INCLUDED - -#include -#include -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_i I - * - * \par Description - * Constant I : Imag unit. - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \alias: - * J - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call)>::type - * I(); - * } - * \endcode - * - * - * \param T template parameter of I - * - * \return type T value - * - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag I of functor I - * in namespace nt2::tag for toolbox complex - **/ - struct I : ext::constant_ - { - typedef std::complex default_type; - typedef ext::constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_I( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_I(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_I; - } - - BOOST_SIMD_CONSTANT_IMPLEMENTATION(nt2::tag::I, I) - BOOST_SIMD_CONSTANT_IMPLEMENTATION(nt2::tag::I, J) -} - -#endif diff --git a/inst/include/nt2/complex/constants/sqrti.hpp b/inst/include/nt2/complex/constants/sqrti.hpp deleted file mode 100644 index 1948eea..0000000 --- a/inst/include/nt2/complex/constants/sqrti.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_CONSTANTS_SQRTI_HPP_INCLUDED -#define NT2_COMPLEX_CONSTANTS_SQRTI_HPP_INCLUDED - -#include -#include -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_sqrti sqrti - * - * \par Description - * Constant Sqrti : Imag unit principal square root. - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \alias: - * Sqrtj - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call)>::type - * Sqrti(); - * } - * \endcode - * - * - * \param T template parameter of Sqrti - * - * \return type T value - * - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag Sqrti of functor Sqrti - * in namespace nt2::tag for toolbox complex - **/ - struct Sqrti : ext::constant_ - { - typedef std::complex default_type; - typedef ext::constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_Sqrti( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_Sqrti(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_Sqrti; - } - - BOOST_SIMD_CONSTANT_IMPLEMENTATION(nt2::tag::Sqrti, Sqrti) - BOOST_SIMD_CONSTANT_IMPLEMENTATION(nt2::tag::Sqrti, Sqrtj) -} - -#endif diff --git a/inst/include/nt2/complex/functions.hpp b/inst/include/nt2/complex/functions.hpp deleted file mode 100644 index d81efe3..0000000 --- a/inst/include/nt2/complex/functions.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef NT2_COMPLEX_FUNCTIONS_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/complex/functions/c_real.hpp b/inst/include/nt2/complex/functions/c_real.hpp deleted file mode 100644 index c3531bc..0000000 --- a/inst/include/nt2/complex/functions/c_real.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_FUNCTIONS_C_REAL_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_C_REAL_HPP_INCLUDED - -#include -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_c_real c_real - * - * \par Description - * return the c_real real part of a complex - * but as a value of dry type - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * c_real(const A0 & a0); - * } - * \endcode - * - * \param a0 the first parameter of c_real - * - * \return a dry value - * - * \par Notes - * In SIMD mode, this function acts elementwise on the input vectors' elements - * \par - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag c_real_ of functor c_real - * in namespace nt2::tag for toolbox complex - **/ - struct c_real_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_c_real_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_c_real_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_c_real_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::c_real_, c_real, 1) -} - -#endif diff --git a/inst/include/nt2/complex/functions/complex/generic/pure.hpp b/inst/include/nt2/complex/functions/complex/generic/pure.hpp deleted file mode 100644 index 10e6442..0000000 --- a/inst/include/nt2/complex/functions/complex/generic/pure.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_COMPLEX_GENERIC_PURE_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_COMPLEX_GENERIC_PURE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( pure_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename meta::as_real::type rtype; - return result_type(Zero(), nt2::imag(a0)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/complex/functions/complexify.hpp b/inst/include/nt2/complex/functions/complexify.hpp deleted file mode 100644 index 84f0e3c..0000000 --- a/inst/include/nt2/complex/functions/complexify.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_COMPLEXIFY_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_COMPLEXIFY_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the complexify function - **/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the complexify functor - **/ - struct complexify_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_complexify_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_complexify_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_complexify_; - } - NT2_FUNCTION_IMPLEMENTATION(tag::complexify_, complexify, 1) - -} - -#endif diff --git a/inst/include/nt2/complex/functions/frompolar.hpp b/inst/include/nt2/complex/functions/frompolar.hpp deleted file mode 100644 index 029ee4a..0000000 --- a/inst/include/nt2/complex/functions/frompolar.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_FUNCTIONS_FROMPOLAR_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_FROMPOLAR_HPP_INCLUDED - -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_frompolar frompolar - * - * \par Description - * return a complex from the modulus and argument - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * frompolar(const A0 & a0, const A0 & a1); - * } - * \endcode - * - * \param a0 the first parameter of frompolar - * - * \return a real value - * - * \par Notes - * In SIMD mode, this function acts elementwise on the input vectors' elements - * \par - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag frompolar_ of functor frompolar - * in namespace nt2::tag for toolbox complex - **/ - struct frompolar_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_frompolar_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_frompolar_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_frompolar_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::frompolar_, frompolar, 2) -} - -#endif diff --git a/inst/include/nt2/complex/functions/generic/c_real.hpp b/inst/include/nt2/complex/functions/generic/c_real.hpp deleted file mode 100644 index 40463e4..0000000 --- a/inst/include/nt2/complex/functions/generic/c_real.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_C_REAL_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_C_REAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( c_real_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename meta::as_dry::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(real(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( c_real_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_dry::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( c_real_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - -} } - -#endif diff --git a/inst/include/nt2/complex/functions/generic/complexify.hpp b/inst/include/nt2/complex/functions/generic/complexify.hpp deleted file mode 100644 index dcd4ac8..0000000 --- a/inst/include/nt2/complex/functions/generic/complexify.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_COMPLEXIFY_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_COMPLEXIFY_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( complexify_, tag::cpu_ - , (A0) - , (generic_< fundamental_ >) - ) - { - typedef typename meta::as_complex::type result_type; - result_type operator()(A0 const& a0) const - { - return result_type(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( complexify_, tag::cpu_ - , (A0) - , (generic_< complex_ > > ) - ) - { - typedef A0 result_type; - result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( complexify_, tag::cpu_ - , (A0) - , (generic_< dry_< fundamental_ > >) - ) - { - typedef typename meta::as_complex::type result_type; - typedef typename meta::as_real::type r_type; - result_type operator()(A0 const& a0) const - { - return result_type(real(a0)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/complex/functions/generic/frompolar.hpp b/inst/include/nt2/complex/functions/generic/frompolar.hpp deleted file mode 100644 index 63ca2bf..0000000 --- a/inst/include/nt2/complex/functions/generic/frompolar.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_FROMPOLAR_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_FROMPOLAR_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( frompolar_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - A0 s, c; - nt2::sincos(a1, s, c); - return multiplies(a0, result_type(c, s)); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/complex/functions/generic/imag.hpp b/inst/include/nt2/complex/functions/generic/imag.hpp deleted file mode 100644 index 93c32ee..0000000 --- a/inst/include/nt2/complex/functions/generic/imag.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_IMAG_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_IMAG_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( imag_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::fusion::at_c<1>(a0); - } - }; - BOOST_DISPATCH_IMPLEMENT ( imag_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( imag_, tag::cpu_, (A0) - , (generic_< dry_ > >) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& ) const - { - return Zero(); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/complex/functions/generic/mul_i.hpp b/inst/include/nt2/complex/functions/generic/mul_i.hpp deleted file mode 100644 index 77b4b7b..0000000 --- a/inst/include/nt2/complex/functions/generic/mul_i.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_MUL_I_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_MUL_I_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mul_i_, tag::cpu_, (A0) - , (generic_< complex_ < arithmetic_ > >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(-nt2::imag(a0), nt2::real(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mul_i_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(Zero(), a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mul_i_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename meta::as_real::type rtype; - return result_type(Zero(), nt2::real(a0)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/complex/functions/generic/mul_minus_i.hpp b/inst/include/nt2/complex/functions/generic/mul_minus_i.hpp deleted file mode 100644 index adcaf27..0000000 --- a/inst/include/nt2/complex/functions/generic/mul_minus_i.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_MUL_MINUS_I_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_MUL_MINUS_I_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mul_minus_i_, tag::cpu_, (A0) - , (generic_< complex_ < arithmetic_ > >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(nt2::imag(a0), -nt2::real(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mul_minus_i_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(Zero(), -a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mul_minus_i_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - typedef typename meta::as_real::type rtype; - return result_type(Zero(), -nt2::real(a0)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/complex/functions/generic/proj.hpp b/inst/include/nt2/complex/functions/generic/proj.hpp deleted file mode 100644 index 750b4d2..0000000 --- a/inst/include/nt2/complex/functions/generic/proj.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_PROJ_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_PROJ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( proj_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::if_else(nt2::is_inf(a0), nt2::Inf(), a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( proj_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(1) - { - return if_else(is_inf(a0), nt2::Inf(), a0); - } - }; - - -} } -#endif diff --git a/inst/include/nt2/complex/functions/generic/pure.hpp b/inst/include/nt2/complex/functions/generic/pure.hpp deleted file mode 100644 index 93fdbf5..0000000 --- a/inst/include/nt2/complex/functions/generic/pure.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_PURE_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_PURE_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( pure_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& ) const - { - return Zero(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/complex/functions/generic/real.hpp b/inst/include/nt2/complex/functions/generic/real.hpp deleted file mode 100644 index e8236b5..0000000 --- a/inst/include/nt2/complex/functions/generic/real.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_REAL_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_REAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( real_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::fusion::at_c<0>(a0); - } - }; - BOOST_DISPATCH_IMPLEMENT ( real_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( real_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/complex/functions/generic/tocomplex.hpp b/inst/include/nt2/complex/functions/generic/tocomplex.hpp deleted file mode 100644 index 773001b..0000000 --- a/inst/include/nt2/complex/functions/generic/tocomplex.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_COMPLEX_FUNCTIONS_GENERIC_TOCOMPLEX_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_GENERIC_TOCOMPLEX_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tocomplex_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tocomplex_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tocomplex_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return result_type(nt2::real(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tocomplex_, tag::cpu_, (A0) - , (generic_< arithmetic_ >) - (generic_< arithmetic_ >) - ) - { - typedef typename meta::as_complex::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return result_type(a0, a1); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/complex/functions/imag.hpp b/inst/include/nt2/complex/functions/imag.hpp deleted file mode 100644 index deeb2bd..0000000 --- a/inst/include/nt2/complex/functions/imag.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_FUNCTIONS_IMAG_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_IMAG_HPP_INCLUDED - -#include -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_imag imag - * - * \par Description - * return the imag part of a complex - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * nt2::imag(const A0 & a0); - * } - * \endcode - * - * \param a0 the first parameter of imag - * - * \return a real value - * - * \par Notes - * In SIMD mode, this function acts elementwise on the input vectors' elements - * \par - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag imag_ of functor imag - * in namespace nt2::tag for toolbox complex - **/ - struct imag_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_imag_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_imag_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_imag_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::imag_, imag, 1) -} - -#endif diff --git a/inst/include/nt2/complex/functions/mul_i.hpp b/inst/include/nt2/complex/functions/mul_i.hpp deleted file mode 100644 index d74b985..0000000 --- a/inst/include/nt2/complex/functions/mul_i.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_FUNCTIONS_MUL_I_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_MUL_I_HPP_INCLUDED - -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_mul_i mul_i - * - * \par Description - * return the complex multiplied by i (i*i == -1) - * i.e. (-nt2::imag(a0), nt2::real(a0)) - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * mul_i(const A0 & a0); - * } - * \endcode - * - * \param a0 the first parameter of mul_i - * - * \return a mul_i value - * - * \par Notes - * In SIMD mode, this function acts elementwise on the input vectors' elements - * \par - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag mul_i_ of functor mul_i - * in namespace nt2::tag for toolbox complex - **/ - struct mul_i_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_mul_i_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mul_i_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mul_i_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mul_i_, mul_i, 1) -} - -#endif diff --git a/inst/include/nt2/complex/functions/mul_minus_i.hpp b/inst/include/nt2/complex/functions/mul_minus_i.hpp deleted file mode 100644 index 0a936c4..0000000 --- a/inst/include/nt2/complex/functions/mul_minus_i.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_FUNCTIONS_MUL_MINUS_I_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_MUL_MINUS_I_HPP_INCLUDED - -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_mul_minus_i mul_minus_i - * - * \par Description - * return the complex multiplied by -i (i*i == -1) - * i.e. (nt2::imag(a0), -nt2::real(a0)) - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * mul_minus_i(const A0 & a0); - * } - * \endcode - * - * \param a0 the first parameter of mul_minus_i - * - * \return a mul_minus_i value - * - * \par Notes - * In SIMD mode, this function acts elementwise on the input vectors' elements - * \par - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag mul_minus_i_ of functor mul_minus_i - * in namespace nt2::tag for toolbox complex - **/ - struct mul_minus_i_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_mul_minus_i_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mul_minus_i_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mul_minus_i_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mul_minus_i_, mul_minus_i, 1) -} - -#endif diff --git a/inst/include/nt2/complex/functions/proj.hpp b/inst/include/nt2/complex/functions/proj.hpp deleted file mode 100644 index 20ad45f..0000000 --- a/inst/include/nt2/complex/functions/proj.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_FUNCTIONS_PROJ_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_PROJ_HPP_INCLUDED - -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_proj proj - * - * \par Description - * return the proj part of a complex - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * nt2::proj(const A0 & a0); - * } - * \endcode - * - * \param a0 the first parameter of proj - * - * \return a proj value - * - * \par Notes - * In SIMD mode, this function acts elementwise on the input vectors' elements - * \par - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag proj_ of functor proj - * in namespace nt2::tag for toolbox complex - **/ - struct proj_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_proj_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_proj_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_proj_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::proj_, proj, 1) -} - -#endif diff --git a/inst/include/nt2/complex/functions/pure.hpp b/inst/include/nt2/complex/functions/pure.hpp deleted file mode 100644 index 7408592..0000000 --- a/inst/include/nt2/complex/functions/pure.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_FUNCTIONS_PURE_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_PURE_HPP_INCLUDED - -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_pure pure - * - * \par Description - * return the pure imag part of a complex - * but as a value of complex type - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * pure(const A0 & a0); - * } - * \endcode - * - * \param a0 the first parameter of pure - * - * \return a complex value - * - * \par Notes - * In SIMD mode, this function acts elementwise on the input vectors' elements - * \par - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag pure_ of functor pure - * in namespace nt2::tag for toolbox complex - **/ - struct pure_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_pure_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_pure_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_pure_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::pure_, pure, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::pure_, c_imag, 1) -} - -#endif diff --git a/inst/include/nt2/complex/functions/real.hpp b/inst/include/nt2/complex/functions/real.hpp deleted file mode 100644 index 55d634b..0000000 --- a/inst/include/nt2/complex/functions/real.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_FUNCTIONS_REAL_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_REAL_HPP_INCLUDED - -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_real real - * - * \par Description - * return the real part of a complex - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * nt2::real(const A0 & a0); - * } - * \endcode - * - * \param a0 the first parameter of real - * - * \return a real value - * - * \par Notes - * In SIMD mode, this function acts elementwise on the input vectors' elements - * \par - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag real_ of functor real - * in namespace nt2::tag for toolbox complex - **/ - struct real_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_real_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_real_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_real_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::real_, real, 1) -} - -#endif diff --git a/inst/include/nt2/complex/functions/tocomplex.hpp b/inst/include/nt2/complex/functions/tocomplex.hpp deleted file mode 100644 index d52b0b3..0000000 --- a/inst/include/nt2/complex/functions/tocomplex.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -/*! - * \file -**/ -#ifndef NT2_COMPLEX_FUNCTIONS_TOCOMPLEX_HPP_INCLUDED -#define NT2_COMPLEX_FUNCTIONS_TOCOMPLEX_HPP_INCLUDED - -#include - -/*! - * \ingroup nt2_complex - * \defgroup nt2_complex_tocomplex tocomplex - * - * \par Description - * return a complex constructed from the parameter(s) - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * tocomplex(const A0 & a0); - * template - * meta::call::type - * tocomplex(const A0 & a0, const A0& a1); - * } - * \endcode - * - * \param a0 the first parameter of tocomplex - * \param a1 the second parameter of tocomplex - * - * \return a real value - * - * \par Notes - * In SIMD mode, this function acts elementwise on the input vectors' elements - * \par - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag tocomplex_ of functor tocomplex - * in namespace nt2::tag for toolbox complex - **/ - struct tocomplex_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_tocomplex_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_tocomplex_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_tocomplex_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::tocomplex_, tocomplex, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::tocomplex_, tocomplex, 2) -} - -#endif diff --git a/inst/include/nt2/complex/include/constants/cnan.hpp b/inst/include/nt2/complex/include/constants/cnan.hpp deleted file mode 100644 index 134f37b..0000000 --- a/inst/include/nt2/complex/include/constants/cnan.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_CONSTANTS_CNAN_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_CONSTANTS_CNAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/constants/i.hpp b/inst/include/nt2/complex/include/constants/i.hpp deleted file mode 100644 index c112975..0000000 --- a/inst/include/nt2/complex/include/constants/i.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_CONSTANTS_I_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_CONSTANTS_I_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/constants/sqrti.hpp b/inst/include/nt2/complex/include/constants/sqrti.hpp deleted file mode 100644 index ae9a1eb..0000000 --- a/inst/include/nt2/complex/include/constants/sqrti.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_CONSTANTS_SQRTI_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_CONSTANTS_SQRTI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/c_real.hpp b/inst/include/nt2/complex/include/functions/c_real.hpp deleted file mode 100644 index 16c1713..0000000 --- a/inst/include/nt2/complex/include/functions/c_real.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_C_REAL_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_C_REAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/complexify.hpp b/inst/include/nt2/complex/include/functions/complexify.hpp deleted file mode 100644 index 386a776..0000000 --- a/inst/include/nt2/complex/include/functions/complexify.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_COMPLEXIFY_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_COMPLEXIFY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/frompolar.hpp b/inst/include/nt2/complex/include/functions/frompolar.hpp deleted file mode 100644 index c2bc8c0..0000000 --- a/inst/include/nt2/complex/include/functions/frompolar.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_FROMPOLAR_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_FROMPOLAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/imag.hpp b/inst/include/nt2/complex/include/functions/imag.hpp deleted file mode 100644 index 9d283fc..0000000 --- a/inst/include/nt2/complex/include/functions/imag.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_IMAG_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_IMAG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/mul_i.hpp b/inst/include/nt2/complex/include/functions/mul_i.hpp deleted file mode 100644 index c62b819..0000000 --- a/inst/include/nt2/complex/include/functions/mul_i.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_MUL_I_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_MUL_I_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/mul_minus_i.hpp b/inst/include/nt2/complex/include/functions/mul_minus_i.hpp deleted file mode 100644 index 8a98442..0000000 --- a/inst/include/nt2/complex/include/functions/mul_minus_i.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_MUL_MINUS_I_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_MUL_MINUS_I_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/proj.hpp b/inst/include/nt2/complex/include/functions/proj.hpp deleted file mode 100644 index 47fd114..0000000 --- a/inst/include/nt2/complex/include/functions/proj.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_PROJ_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_PROJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/pure.hpp b/inst/include/nt2/complex/include/functions/pure.hpp deleted file mode 100644 index f059c71..0000000 --- a/inst/include/nt2/complex/include/functions/pure.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_PURE_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_PURE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/real.hpp b/inst/include/nt2/complex/include/functions/real.hpp deleted file mode 100644 index 6fc90b8..0000000 --- a/inst/include/nt2/complex/include/functions/real.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_REAL_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_REAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/c_real.hpp b/inst/include/nt2/complex/include/functions/scalar/c_real.hpp deleted file mode 100644 index 3afebd3..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/c_real.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_C_REAL_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_C_REAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/complexify.hpp b/inst/include/nt2/complex/include/functions/scalar/complexify.hpp deleted file mode 100644 index fc2baf7..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/complexify.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_COMPLEXIFY_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_COMPLEXIFY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/frompolar.hpp b/inst/include/nt2/complex/include/functions/scalar/frompolar.hpp deleted file mode 100644 index 5fa3556..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/frompolar.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_FROMPOLAR_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_FROMPOLAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/imag.hpp b/inst/include/nt2/complex/include/functions/scalar/imag.hpp deleted file mode 100644 index 8902c8d..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/imag.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_IMAG_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_IMAG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/mul_i.hpp b/inst/include/nt2/complex/include/functions/scalar/mul_i.hpp deleted file mode 100644 index 9edb203..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/mul_i.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_MUL_I_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_MUL_I_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/mul_minus_i.hpp b/inst/include/nt2/complex/include/functions/scalar/mul_minus_i.hpp deleted file mode 100644 index c5b537a..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/mul_minus_i.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_MUL_MINUS_I_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_MUL_MINUS_I_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/proj.hpp b/inst/include/nt2/complex/include/functions/scalar/proj.hpp deleted file mode 100644 index 24c9893..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/proj.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_PROJ_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_PROJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/pure.hpp b/inst/include/nt2/complex/include/functions/scalar/pure.hpp deleted file mode 100644 index 81f04ce..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/pure.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_PURE_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_PURE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/real.hpp b/inst/include/nt2/complex/include/functions/scalar/real.hpp deleted file mode 100644 index da2aaa1..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/real.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_REAL_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_REAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/scalar/tocomplex.hpp b/inst/include/nt2/complex/include/functions/scalar/tocomplex.hpp deleted file mode 100644 index ef373c5..0000000 --- a/inst/include/nt2/complex/include/functions/scalar/tocomplex.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_TOCOMPLEX_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SCALAR_TOCOMPLEX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/c_real.hpp b/inst/include/nt2/complex/include/functions/simd/c_real.hpp deleted file mode 100644 index 7e90296..0000000 --- a/inst/include/nt2/complex/include/functions/simd/c_real.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_C_REAL_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_C_REAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/complexify.hpp b/inst/include/nt2/complex/include/functions/simd/complexify.hpp deleted file mode 100644 index 7f59a22..0000000 --- a/inst/include/nt2/complex/include/functions/simd/complexify.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_COMPLEXIFY_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_COMPLEXIFY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/frompolar.hpp b/inst/include/nt2/complex/include/functions/simd/frompolar.hpp deleted file mode 100644 index 5721562..0000000 --- a/inst/include/nt2/complex/include/functions/simd/frompolar.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_FROMPOLAR_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_FROMPOLAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/imag.hpp b/inst/include/nt2/complex/include/functions/simd/imag.hpp deleted file mode 100644 index b9ebcef..0000000 --- a/inst/include/nt2/complex/include/functions/simd/imag.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_IMAG_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_IMAG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/mul_i.hpp b/inst/include/nt2/complex/include/functions/simd/mul_i.hpp deleted file mode 100644 index 911127d..0000000 --- a/inst/include/nt2/complex/include/functions/simd/mul_i.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_MUL_I_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_MUL_I_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/mul_minus_i.hpp b/inst/include/nt2/complex/include/functions/simd/mul_minus_i.hpp deleted file mode 100644 index 45e35dd..0000000 --- a/inst/include/nt2/complex/include/functions/simd/mul_minus_i.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_MUL_MINUS_I_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_MUL_MINUS_I_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/proj.hpp b/inst/include/nt2/complex/include/functions/simd/proj.hpp deleted file mode 100644 index aedad9a..0000000 --- a/inst/include/nt2/complex/include/functions/simd/proj.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_PROJ_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_PROJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/pure.hpp b/inst/include/nt2/complex/include/functions/simd/pure.hpp deleted file mode 100644 index 6e6aa81..0000000 --- a/inst/include/nt2/complex/include/functions/simd/pure.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_PURE_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_PURE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/real.hpp b/inst/include/nt2/complex/include/functions/simd/real.hpp deleted file mode 100644 index 6d20c1b..0000000 --- a/inst/include/nt2/complex/include/functions/simd/real.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_REAL_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_REAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/simd/tocomplex.hpp b/inst/include/nt2/complex/include/functions/simd/tocomplex.hpp deleted file mode 100644 index af10339..0000000 --- a/inst/include/nt2/complex/include/functions/simd/tocomplex.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_TOCOMPLEX_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_SIMD_TOCOMPLEX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/complex/include/functions/tocomplex.hpp b/inst/include/nt2/complex/include/functions/tocomplex.hpp deleted file mode 100644 index 4eefbae..0000000 --- a/inst/include/nt2/complex/include/functions/tocomplex.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_COMPLEX_INCLUDE_FUNCTIONS_TOCOMPLEX_HPP_INCLUDED -#define NT2_COMPLEX_INCLUDE_FUNCTIONS_TOCOMPLEX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/common.hpp b/inst/include/nt2/constant/common.hpp deleted file mode 100644 index 4262e80..0000000 --- a/inst/include/nt2/constant/common.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_COMMON_HPP_INCLUDED -#define NT2_CONSTANT_COMMON_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/constant.hpp b/inst/include/nt2/constant/constant.hpp deleted file mode 100644 index e69fa28..0000000 --- a/inst/include/nt2/constant/constant.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_CONSTANT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/constants.hpp b/inst/include/nt2/constant/constants.hpp deleted file mode 100644 index f50bb69..0000000 --- a/inst/include/nt2/constant/constants.hpp +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef NT2_CONSTANT_CONSTANTS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/constants/allbits.hpp b/inst/include/nt2/constant/constants/allbits.hpp deleted file mode 100644 index 107cbf5..0000000 --- a/inst/include/nt2/constant/constants/allbits.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ALLBITS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ALLBITS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Allbits_} **/ - struct allbits_ {}; - #endif - using boost::simd::tag::Allbits; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Allbits} **/ - template - details::unspecified allbits(Args&&... args); - #endif - using boost::simd::Allbits; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/bitincrement.hpp b/inst/include/nt2/constant/constants/bitincrement.hpp deleted file mode 100644 index deb7f15..0000000 --- a/inst/include/nt2/constant/constants/bitincrement.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_BITINCREMENT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_BITINCREMENT_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Bitincrement_} **/ - struct bitincrement_ {}; - #endif - using boost::simd::tag::Bitincrement; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Bitincrement} **/ - template - details::unspecified bitincrement(Args&&... args); - #endif - using boost::simd::Bitincrement; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/c180.hpp b/inst/include/nt2/constant/constants/c180.hpp deleted file mode 100644 index ffca68f..0000000 --- a/inst/include/nt2/constant/constants/c180.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_C180_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_C180_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::C180_} **/ - struct c180_ {}; - #endif - using boost::simd::tag::C180; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::C180} **/ - template - details::unspecified c180(Args&&... args); - #endif - using boost::simd::C180; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/cgold.hpp b/inst/include/nt2/constant/constants/cgold.hpp deleted file mode 100644 index 93366ad..0000000 --- a/inst/include/nt2/constant/constants/cgold.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_CGOLD_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_CGOLD_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Cgold_} **/ - struct cgold_ {}; - #endif - using boost::simd::tag::Cgold; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Cgold} **/ - template - details::unspecified cgold(Args&&... args); - #endif - using boost::simd::Cgold; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/complex/maxinit.hpp b/inst/include/nt2/constant/constants/complex/maxinit.hpp deleted file mode 100644 index 47bfa4c..0000000 --- a/inst/include/nt2/constant/constants/complex/maxinit.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_COMPLEX_MAXINIT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_COMPLEX_MAXINIT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( Maxinit, tag::cpu_, (A0) - , ((target_< generic_< complex_< arithmetic_ > > >)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( Maxinit, tag::cpu_, (A0) - , ((target_< generic_< dry_< arithmetic_ > > >)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return Zero(); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/constant/constants/eight.hpp b/inst/include/nt2/constant/constants/eight.hpp deleted file mode 100644 index 2d0b792..0000000 --- a/inst/include/nt2/constant/constants/eight.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_EIGHT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_EIGHT_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Eight_} **/ - struct eight_ {}; - #endif - using boost::simd::tag::Eight; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Eight} **/ - template - details::unspecified eight(Args&&... args); - #endif - using boost::simd::Eight; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/eleven.hpp b/inst/include/nt2/constant/constants/eleven.hpp deleted file mode 100644 index 570a89c..0000000 --- a/inst/include/nt2/constant/constants/eleven.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ELEVEN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ELEVEN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Eleven_} **/ - struct eleven_ {}; - #endif - using boost::simd::tag::Eleven; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Eleven} **/ - template - details::unspecified eleven(Args&&... args); - #endif - using boost::simd::Eleven; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/eps.hpp b/inst/include/nt2/constant/constants/eps.hpp deleted file mode 100644 index bd602d8..0000000 --- a/inst/include/nt2/constant/constants/eps.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_EPS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_EPS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Eps_} **/ - struct eps_ {}; - #endif - using boost::simd::tag::Eps; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Eps} **/ - template - details::unspecified eps(Args&&... args); - #endif - using boost::simd::Eps; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fact_10.hpp b/inst/include/nt2/constant/constants/fact_10.hpp deleted file mode 100644 index 6e58d1d..0000000 --- a/inst/include/nt2/constant/constants/fact_10.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FACT_10_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FACT_10_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fact_10_} **/ - struct fact_10_ {}; - #endif - using boost::simd::tag::Fact_10; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fact_10} **/ - template - details::unspecified fact_10(Args&&... args); - #endif - using boost::simd::Fact_10; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fact_11.hpp b/inst/include/nt2/constant/constants/fact_11.hpp deleted file mode 100644 index a3a6ea2..0000000 --- a/inst/include/nt2/constant/constants/fact_11.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FACT_11_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FACT_11_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fact_11_} **/ - struct fact_11_ {}; - #endif - using boost::simd::tag::Fact_11; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fact_11} **/ - template - details::unspecified fact_11(Args&&... args); - #endif - using boost::simd::Fact_11; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fact_12.hpp b/inst/include/nt2/constant/constants/fact_12.hpp deleted file mode 100644 index 76411c3..0000000 --- a/inst/include/nt2/constant/constants/fact_12.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FACT_12_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FACT_12_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fact_12_} **/ - struct fact_12_ {}; - #endif - using boost::simd::tag::Fact_12; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fact_12} **/ - template - details::unspecified fact_12(Args&&... args); - #endif - using boost::simd::Fact_12; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fact_4.hpp b/inst/include/nt2/constant/constants/fact_4.hpp deleted file mode 100644 index dd37c7f..0000000 --- a/inst/include/nt2/constant/constants/fact_4.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FACT_4_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FACT_4_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fact_4_} **/ - struct fact_4_ {}; - #endif - using boost::simd::tag::Fact_4; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fact_4} **/ - template - details::unspecified fact_4(Args&&... args); - #endif - using boost::simd::Fact_4; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fact_5.hpp b/inst/include/nt2/constant/constants/fact_5.hpp deleted file mode 100644 index 2d04049..0000000 --- a/inst/include/nt2/constant/constants/fact_5.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FACT_5_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FACT_5_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fact_5_} **/ - struct fact_5_ {}; - #endif - using boost::simd::tag::Fact_5; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fact_5} **/ - template - details::unspecified fact_5(Args&&... args); - #endif - using boost::simd::Fact_5; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fact_6.hpp b/inst/include/nt2/constant/constants/fact_6.hpp deleted file mode 100644 index 4f463ce..0000000 --- a/inst/include/nt2/constant/constants/fact_6.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FACT_6_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FACT_6_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fact_6_} **/ - struct fact_6_ {}; - #endif - using boost::simd::tag::Fact_6; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fact_6} **/ - template - details::unspecified fact_6(Args&&... args); - #endif - using boost::simd::Fact_6; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fact_7.hpp b/inst/include/nt2/constant/constants/fact_7.hpp deleted file mode 100644 index c626aa0..0000000 --- a/inst/include/nt2/constant/constants/fact_7.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FACT_7_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FACT_7_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fact_7_} **/ - struct fact_7_ {}; - #endif - using boost::simd::tag::Fact_7; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fact_7} **/ - template - details::unspecified fact_7(Args&&... args); - #endif - using boost::simd::Fact_7; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fact_8.hpp b/inst/include/nt2/constant/constants/fact_8.hpp deleted file mode 100644 index 234a0a7..0000000 --- a/inst/include/nt2/constant/constants/fact_8.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FACT_8_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FACT_8_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fact_8_} **/ - struct fact_8_ {}; - #endif - using boost::simd::tag::Fact_8; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fact_8} **/ - template - details::unspecified fact_8(Args&&... args); - #endif - using boost::simd::Fact_8; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fact_9.hpp b/inst/include/nt2/constant/constants/fact_9.hpp deleted file mode 100644 index 5e833d3..0000000 --- a/inst/include/nt2/constant/constants/fact_9.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FACT_9_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FACT_9_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fact_9_} **/ - struct fact_9_ {}; - #endif - using boost::simd::tag::Fact_9; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fact_9} **/ - template - details::unspecified fact_9(Args&&... args); - #endif - using boost::simd::Fact_9; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/false.hpp b/inst/include/nt2/constant/constants/false.hpp deleted file mode 100644 index 05a4701..0000000 --- a/inst/include/nt2/constant/constants/false.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FALSE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FALSE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::False_} **/ - struct false_ {}; - #endif - using boost::simd::tag::False; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::False} **/ - template - details::unspecified false(Args&&... args); - #endif - using boost::simd::False; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fifteen.hpp b/inst/include/nt2/constant/constants/fifteen.hpp deleted file mode 100644 index 4433c1f..0000000 --- a/inst/include/nt2/constant/constants/fifteen.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FIFTEEN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FIFTEEN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fifteen_} **/ - struct fifteen_ {}; - #endif - using boost::simd::tag::Fifteen; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fifteen} **/ - template - details::unspecified fifteen(Args&&... args); - #endif - using boost::simd::Fifteen; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/five.hpp b/inst/include/nt2/constant/constants/five.hpp deleted file mode 100644 index 272f8b6..0000000 --- a/inst/include/nt2/constant/constants/five.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FIVE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FIVE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Five_} **/ - struct five_ {}; - #endif - using boost::simd::tag::Five; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Five} **/ - template - details::unspecified five(Args&&... args); - #endif - using boost::simd::Five; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fiveo_8.hpp b/inst/include/nt2/constant/constants/fiveo_8.hpp deleted file mode 100644 index ab4cdde..0000000 --- a/inst/include/nt2/constant/constants/fiveo_8.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FIVEO_8_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FIVEO_8_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fiveo_8_} **/ - struct fiveo_8_ {}; - #endif - using boost::simd::tag::Fiveo_8; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fiveo_8} **/ - template - details::unspecified fiveo_8(Args&&... args); - #endif - using boost::simd::Fiveo_8; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/four.hpp b/inst/include/nt2/constant/constants/four.hpp deleted file mode 100644 index adf5c1f..0000000 --- a/inst/include/nt2/constant/constants/four.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FOUR_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FOUR_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Four_} **/ - struct four_ {}; - #endif - using boost::simd::tag::Four; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Four} **/ - template - details::unspecified four(Args&&... args); - #endif - using boost::simd::Four; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/fourthrooteps.hpp b/inst/include/nt2/constant/constants/fourthrooteps.hpp deleted file mode 100644 index f248062..0000000 --- a/inst/include/nt2/constant/constants/fourthrooteps.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Fourthrooteps_} **/ - struct fourthrooteps_ {}; - #endif - using boost::simd::tag::Fourthrooteps; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Fourthrooteps} **/ - template - details::unspecified fourthrooteps(Args&&... args); - #endif - using boost::simd::Fourthrooteps; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/gold.hpp b/inst/include/nt2/constant/constants/gold.hpp deleted file mode 100644 index f17b16c..0000000 --- a/inst/include/nt2/constant/constants/gold.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_GOLD_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_GOLD_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Gold_} **/ - struct gold_ {}; - #endif - using boost::simd::tag::Gold; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Gold} **/ - template - details::unspecified gold(Args&&... args); - #endif - using boost::simd::Gold; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/goldbar.hpp b/inst/include/nt2/constant/constants/goldbar.hpp deleted file mode 100644 index e4235fa..0000000 --- a/inst/include/nt2/constant/constants/goldbar.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_GOLDBAR_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_GOLDBAR_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Goldbar_} **/ - struct goldbar_ {}; - #endif - using boost::simd::tag::Goldbar; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Goldbar} **/ - template - details::unspecified goldbar(Args&&... args); - #endif - using boost::simd::Goldbar; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/greatestnoninteger.hpp b/inst/include/nt2/constant/constants/greatestnoninteger.hpp deleted file mode 100644 index a9a62d0..0000000 --- a/inst/include/nt2/constant/constants/greatestnoninteger.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Greatestnoninteger_} **/ - struct greatestnoninteger_ {}; - #endif - using boost::simd::tag::Greatestnoninteger; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Greatestnoninteger} **/ - template - details::unspecified greatestnoninteger(Args&&... args); - #endif - using boost::simd::Greatestnoninteger; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/half.hpp b/inst/include/nt2/constant/constants/half.hpp deleted file mode 100644 index 2cb9463..0000000 --- a/inst/include/nt2/constant/constants/half.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_HALF_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_HALF_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Half_} **/ - struct half_ {}; - #endif - using boost::simd::tag::Half; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Half} **/ - template - details::unspecified half(Args&&... args); - #endif - using boost::simd::Half; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/halfeps.hpp b/inst/include/nt2/constant/constants/halfeps.hpp deleted file mode 100644 index 5a751c0..0000000 --- a/inst/include/nt2/constant/constants/halfeps.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_HALFEPS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_HALFEPS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Halfeps_} **/ - struct halfeps_ {}; - #endif - using boost::simd::tag::Halfeps; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Halfeps} **/ - template - details::unspecified halfeps(Args&&... args); - #endif - using boost::simd::Halfeps; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/hundred.hpp b/inst/include/nt2/constant/constants/hundred.hpp deleted file mode 100644 index fc87640..0000000 --- a/inst/include/nt2/constant/constants/hundred.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_HUNDRED_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_HUNDRED_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Hundred_} **/ - struct hundred_ {}; - #endif - using boost::simd::tag::Hundred; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Hundred} **/ - template - details::unspecified hundred(Args&&... args); - #endif - using boost::simd::Hundred; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/inf.hpp b/inst/include/nt2/constant/constants/inf.hpp deleted file mode 100644 index d6bec1a..0000000 --- a/inst/include/nt2/constant/constants/inf.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_INF_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_INF_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Inf_} **/ - struct inf_ {}; - #endif - using boost::simd::tag::Inf; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Inf} **/ - template - details::unspecified inf(Args&&... args); - #endif - using boost::simd::Inf; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/int_splat.hpp b/inst/include/nt2/constant/constants/int_splat.hpp deleted file mode 100644 index c847f44..0000000 --- a/inst/include/nt2/constant/constants/int_splat.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_INT_SPLAT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_INT_SPLAT_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::Intpattern; - } - - using boost::simd::integral_constant; -} - -#endif diff --git a/inst/include/nt2/constant/constants/ldexpmask.hpp b/inst/include/nt2/constant/constants/ldexpmask.hpp deleted file mode 100644 index 9de697c..0000000 --- a/inst/include/nt2/constant/constants/ldexpmask.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_LDEXPMASK_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_LDEXPMASK_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Ldexpmask_} **/ - struct ldexpmask_ {}; - #endif - using boost::simd::tag::Ldexpmask; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Ldexpmask} **/ - template - details::unspecified ldexpmask(Args&&... args); - #endif - using boost::simd::Ldexpmask; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/limitexponent.hpp b/inst/include/nt2/constant/constants/limitexponent.hpp deleted file mode 100644 index f424b09..0000000 --- a/inst/include/nt2/constant/constants/limitexponent.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Limitexponent_} **/ - struct limitexponent_ {}; - #endif - using boost::simd::tag::Limitexponent; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Limitexponent} **/ - template - details::unspecified limitexponent(Args&&... args); - #endif - using boost::simd::Limitexponent; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/log10_pi.hpp b/inst/include/nt2/constant/constants/log10_pi.hpp deleted file mode 100644 index c9c446f..0000000 --- a/inst/include/nt2/constant/constants/log10_pi.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_LOG10_PI_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_LOG10_PI_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Log10_pi_} **/ - struct log10_pi_ {}; - #endif - using boost::simd::tag::Log10_pi; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Log10_pi} **/ - template - details::unspecified log10_pi(Args&&... args); - #endif - using boost::simd::Log10_pi; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/logeps.hpp b/inst/include/nt2/constant/constants/logeps.hpp deleted file mode 100644 index 1c9d2d8..0000000 --- a/inst/include/nt2/constant/constants/logeps.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_LOGEPS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_LOGEPS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Logeps_} **/ - struct logeps_ {}; - #endif - using boost::simd::tag::Logeps; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Logeps} **/ - template - details::unspecified logeps(Args&&... args); - #endif - using boost::simd::Logeps; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/logpi.hpp b/inst/include/nt2/constant/constants/logpi.hpp deleted file mode 100644 index 08c4b90..0000000 --- a/inst/include/nt2/constant/constants/logpi.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_LOGPI_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_LOGPI_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Logpi_} **/ - struct logpi_ {}; - #endif - using boost::simd::tag::Logpi; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Logpi} **/ - template - details::unspecified logpi(Args&&... args); - #endif - using boost::simd::Logpi; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/logsqrt2pi.hpp b/inst/include/nt2/constant/constants/logsqrt2pi.hpp deleted file mode 100644 index 8e7eb5e..0000000 --- a/inst/include/nt2/constant/constants/logsqrt2pi.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Logsqrt2pi_} **/ - struct logsqrt2pi_ {}; - #endif - using boost::simd::tag::Logsqrt2pi; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Logsqrt2pi} **/ - template - details::unspecified logsqrt2pi(Args&&... args); - #endif - using boost::simd::Logsqrt2pi; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mantissamask.hpp b/inst/include/nt2/constant/constants/mantissamask.hpp deleted file mode 100644 index 6fc88c7..0000000 --- a/inst/include/nt2/constant/constants/mantissamask.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MANTISSAMASK_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MANTISSAMASK_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mantissamask_} **/ - struct mantissamask_ {}; - #endif - using boost::simd::tag::Mantissamask; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mantissamask} **/ - template - details::unspecified mantissamask(Args&&... args); - #endif - using boost::simd::Mantissamask; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mask1frexp.hpp b/inst/include/nt2/constant/constants/mask1frexp.hpp deleted file mode 100644 index 96452b7..0000000 --- a/inst/include/nt2/constant/constants/mask1frexp.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MASK1FREXP_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MASK1FREXP_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mask1frexp_} **/ - struct mask1frexp_ {}; - #endif - using boost::simd::tag::Mask1frexp; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mask1frexp} **/ - template - details::unspecified mask1frexp(Args&&... args); - #endif - using boost::simd::Mask1frexp; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mask2frexp.hpp b/inst/include/nt2/constant/constants/mask2frexp.hpp deleted file mode 100644 index 6afc930..0000000 --- a/inst/include/nt2/constant/constants/mask2frexp.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MASK2FREXP_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MASK2FREXP_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mask2frexp_} **/ - struct mask2frexp_ {}; - #endif - using boost::simd::tag::Mask2frexp; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mask2frexp} **/ - template - details::unspecified mask2frexp(Args&&... args); - #endif - using boost::simd::Mask2frexp; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/maxexponent.hpp b/inst/include/nt2/constant/constants/maxexponent.hpp deleted file mode 100644 index 4d62871..0000000 --- a/inst/include/nt2/constant/constants/maxexponent.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MAXEXPONENT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MAXEXPONENT_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Maxexponent_} **/ - struct maxexponent_ {}; - #endif - using boost::simd::tag::Maxexponent; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Maxexponent} **/ - template - details::unspecified maxexponent(Args&&... args); - #endif - using boost::simd::Maxexponent; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/maxexponentm1.hpp b/inst/include/nt2/constant/constants/maxexponentm1.hpp deleted file mode 100644 index bc526eb..0000000 --- a/inst/include/nt2/constant/constants/maxexponentm1.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Maxexponentm1_} **/ - struct maxexponentm1_ {}; - #endif - using boost::simd::tag::Maxexponentm1; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Maxexponentm1} **/ - template - details::unspecified maxexponentm1(Args&&... args); - #endif - using boost::simd::Maxexponentm1; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/maxflint.hpp b/inst/include/nt2/constant/constants/maxflint.hpp deleted file mode 100644 index f938a0c..0000000 --- a/inst/include/nt2/constant/constants/maxflint.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MAXFLINT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MAXFLINT_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Maxflint_} **/ - struct maxflint_ {}; - #endif - using boost::simd::tag::Maxflint; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Maxflint} **/ - template - details::unspecified maxflint(Args&&... args); - #endif - using boost::simd::Maxflint; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/maxgammaln.hpp b/inst/include/nt2/constant/constants/maxgammaln.hpp deleted file mode 100644 index 55fab2f..0000000 --- a/inst/include/nt2/constant/constants/maxgammaln.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MAXGAMMALN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MAXGAMMALN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Maxgammaln_} **/ - struct maxgammaln_ {}; - #endif - using boost::simd::tag::Maxgammaln; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Maxgammaln} **/ - template - details::unspecified maxgammaln(Args&&... args); - #endif - using boost::simd::Maxgammaln; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/maxinit.hpp b/inst/include/nt2/constant/constants/maxinit.hpp deleted file mode 100644 index e7f5989..0000000 --- a/inst/include/nt2/constant/constants/maxinit.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MAXINIT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MAXINIT_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Maxinit_} **/ - struct maxinit_ {}; - #endif - using boost::simd::tag::Maxinit; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Maxinit} **/ - template - details::unspecified maxinit(Args&&... args); - #endif - using boost::simd::Maxinit; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/maxleftshift.hpp b/inst/include/nt2/constant/constants/maxleftshift.hpp deleted file mode 100644 index 6539901..0000000 --- a/inst/include/nt2/constant/constants/maxleftshift.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Maxleftshift_} **/ - struct maxleftshift_ {}; - #endif - using boost::simd::tag::Maxleftshift; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Maxleftshift} **/ - template - details::unspecified maxleftshift(Args&&... args); - #endif - using boost::simd::Maxleftshift; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/meight.hpp b/inst/include/nt2/constant/constants/meight.hpp deleted file mode 100644 index f6a119b..0000000 --- a/inst/include/nt2/constant/constants/meight.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MEIGHT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MEIGHT_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Meight_} **/ - struct meight_ {}; - #endif - using boost::simd::tag::Meight; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Meight} **/ - template - details::unspecified meight(Args&&... args); - #endif - using boost::simd::Meight; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mfive.hpp b/inst/include/nt2/constant/constants/mfive.hpp deleted file mode 100644 index 783fd7d..0000000 --- a/inst/include/nt2/constant/constants/mfive.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MFIVE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MFIVE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mfive_} **/ - struct mfive_ {}; - #endif - using boost::simd::tag::Mfive; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mfive} **/ - template - details::unspecified mfive(Args&&... args); - #endif - using boost::simd::Mfive; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mfour.hpp b/inst/include/nt2/constant/constants/mfour.hpp deleted file mode 100644 index 36824c6..0000000 --- a/inst/include/nt2/constant/constants/mfour.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MFOUR_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MFOUR_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mfour_} **/ - struct mfour_ {}; - #endif - using boost::simd::tag::Mfour; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mfour} **/ - template - details::unspecified mfour(Args&&... args); - #endif - using boost::simd::Mfour; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mhalf.hpp b/inst/include/nt2/constant/constants/mhalf.hpp deleted file mode 100644 index 15ab154..0000000 --- a/inst/include/nt2/constant/constants/mhalf.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MHALF_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MHALF_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mhalf_} **/ - struct mhalf_ {}; - #endif - using boost::simd::tag::Mhalf; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mhalf} **/ - template - details::unspecified mhalf(Args&&... args); - #endif - using boost::simd::Mhalf; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mindenormal.hpp b/inst/include/nt2/constant/constants/mindenormal.hpp deleted file mode 100644 index fee18b5..0000000 --- a/inst/include/nt2/constant/constants/mindenormal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MINDENORMAL_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MINDENORMAL_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mindenormal_} **/ - struct mindenormal_ {}; - #endif - using boost::simd::tag::Mindenormal; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mindenormal} **/ - template - details::unspecified mindenormal(Args&&... args); - #endif - using boost::simd::Mindenormal; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/minexponent.hpp b/inst/include/nt2/constant/constants/minexponent.hpp deleted file mode 100644 index 79ce590..0000000 --- a/inst/include/nt2/constant/constants/minexponent.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MINEXPONENT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MINEXPONENT_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Minexponent_} **/ - struct minexponent_ {}; - #endif - using boost::simd::tag::Minexponent; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Minexponent} **/ - template - details::unspecified minexponent(Args&&... args); - #endif - using boost::simd::Minexponent; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/minf.hpp b/inst/include/nt2/constant/constants/minf.hpp deleted file mode 100644 index f8c9680..0000000 --- a/inst/include/nt2/constant/constants/minf.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MINF_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MINF_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Minf_} **/ - struct minf_ {}; - #endif - using boost::simd::tag::Minf; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Minf} **/ - template - details::unspecified minf(Args&&... args); - #endif - using boost::simd::Minf; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mlogeps2.hpp b/inst/include/nt2/constant/constants/mlogeps2.hpp deleted file mode 100644 index b71718e..0000000 --- a/inst/include/nt2/constant/constants/mlogeps2.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MLOGEPS2_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MLOGEPS2_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mlogeps2_} **/ - struct mlogeps2_ {}; - #endif - using boost::simd::tag::Mlogeps2; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mlogeps2} **/ - template - details::unspecified mlogeps2(Args&&... args); - #endif - using boost::simd::Mlogeps2; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mnine.hpp b/inst/include/nt2/constant/constants/mnine.hpp deleted file mode 100644 index 50bb275..0000000 --- a/inst/include/nt2/constant/constants/mnine.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MNINE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MNINE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mnine_} **/ - struct mnine_ {}; - #endif - using boost::simd::tag::Mnine; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mnine} **/ - template - details::unspecified mnine(Args&&... args); - #endif - using boost::simd::Mnine; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mone.hpp b/inst/include/nt2/constant/constants/mone.hpp deleted file mode 100644 index d35ac8f..0000000 --- a/inst/include/nt2/constant/constants/mone.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MONE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MONE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mone_} **/ - struct mone_ {}; - #endif - using boost::simd::tag::Mone; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mone} **/ - template - details::unspecified mone(Args&&... args); - #endif - using boost::simd::Mone; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/moneo_6.hpp b/inst/include/nt2/constant/constants/moneo_6.hpp deleted file mode 100644 index f5303ec..0000000 --- a/inst/include/nt2/constant/constants/moneo_6.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MONEO_6_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MONEO_6_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Moneo_6_} **/ - struct moneo_6_ {}; - #endif - using boost::simd::tag::Moneo_6; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Moneo_6} **/ - template - details::unspecified moneo_6(Args&&... args); - #endif - using boost::simd::Moneo_6; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mseven.hpp b/inst/include/nt2/constant/constants/mseven.hpp deleted file mode 100644 index 4d7aa45..0000000 --- a/inst/include/nt2/constant/constants/mseven.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MSEVEN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MSEVEN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mseven_} **/ - struct mseven_ {}; - #endif - using boost::simd::tag::Mseven; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mseven} **/ - template - details::unspecified mseven(Args&&... args); - #endif - using boost::simd::Mseven; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/msix.hpp b/inst/include/nt2/constant/constants/msix.hpp deleted file mode 100644 index 7a56fb8..0000000 --- a/inst/include/nt2/constant/constants/msix.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MSIX_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MSIX_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Msix_} **/ - struct msix_ {}; - #endif - using boost::simd::tag::Msix; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Msix} **/ - template - details::unspecified msix(Args&&... args); - #endif - using boost::simd::Msix; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mten.hpp b/inst/include/nt2/constant/constants/mten.hpp deleted file mode 100644 index a61ec7e..0000000 --- a/inst/include/nt2/constant/constants/mten.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MTEN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MTEN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mten_} **/ - struct mten_ {}; - #endif - using boost::simd::tag::Mten; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mten} **/ - template - details::unspecified mten(Args&&... args); - #endif - using boost::simd::Mten; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mthree.hpp b/inst/include/nt2/constant/constants/mthree.hpp deleted file mode 100644 index 49b85e9..0000000 --- a/inst/include/nt2/constant/constants/mthree.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MTHREE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MTHREE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mthree_} **/ - struct mthree_ {}; - #endif - using boost::simd::tag::Mthree; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mthree} **/ - template - details::unspecified mthree(Args&&... args); - #endif - using boost::simd::Mthree; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mtwo.hpp b/inst/include/nt2/constant/constants/mtwo.hpp deleted file mode 100644 index d7d50fc..0000000 --- a/inst/include/nt2/constant/constants/mtwo.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MTWO_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MTWO_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mtwo_} **/ - struct mtwo_ {}; - #endif - using boost::simd::tag::Mtwo; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mtwo} **/ - template - details::unspecified mtwo(Args&&... args); - #endif - using boost::simd::Mtwo; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/mzero.hpp b/inst/include/nt2/constant/constants/mzero.hpp deleted file mode 100644 index d3e411a..0000000 --- a/inst/include/nt2/constant/constants/mzero.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_MZERO_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_MZERO_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Mzero_} **/ - struct mzero_ {}; - #endif - using boost::simd::tag::Mzero; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Mzero} **/ - template - details::unspecified mzero(Args&&... args); - #endif - using boost::simd::Mzero; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/nan.hpp b/inst/include/nt2/constant/constants/nan.hpp deleted file mode 100644 index b9d70da..0000000 --- a/inst/include/nt2/constant/constants/nan.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_NAN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_NAN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Nan_} **/ - struct nan_ {}; - #endif - using boost::simd::tag::Nan; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Nan} **/ - template - details::unspecified nan(Args&&... args); - #endif - using boost::simd::Nan; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/nbdigits.hpp b/inst/include/nt2/constant/constants/nbdigits.hpp deleted file mode 100644 index 5becb6f..0000000 --- a/inst/include/nt2/constant/constants/nbdigits.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_NBDIGITS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_NBDIGITS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Nbdigits_} **/ - struct nbdigits_ {}; - #endif - using boost::simd::tag::Nbdigits; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Nbdigits} **/ - template - details::unspecified nbdigits(Args&&... args); - #endif - using boost::simd::Nbdigits; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/nbexponentbits.hpp b/inst/include/nt2/constant/constants/nbexponentbits.hpp deleted file mode 100644 index 8cc268d..0000000 --- a/inst/include/nt2/constant/constants/nbexponentbits.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Nbexponentbits_} **/ - struct nbexponentbits_ {}; - #endif - using boost::simd::tag::Nbexponentbits; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Nbexponentbits} **/ - template - details::unspecified nbexponentbits(Args&&... args); - #endif - using boost::simd::Nbexponentbits; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/nbmantissabits.hpp b/inst/include/nt2/constant/constants/nbmantissabits.hpp deleted file mode 100644 index 91077e2..0000000 --- a/inst/include/nt2/constant/constants/nbmantissabits.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Nbmantissabits_} **/ - struct nbmantissabits_ {}; - #endif - using boost::simd::tag::Nbmantissabits; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Nbmantissabits} **/ - template - details::unspecified nbmantissabits(Args&&... args); - #endif - using boost::simd::Nbmantissabits; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/nine.hpp b/inst/include/nt2/constant/constants/nine.hpp deleted file mode 100644 index c6ebb7e..0000000 --- a/inst/include/nt2/constant/constants/nine.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_NINE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_NINE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Nine_} **/ - struct nine_ {}; - #endif - using boost::simd::tag::Nine; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Nine} **/ - template - details::unspecified nine(Args&&... args); - #endif - using boost::simd::Nine; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/one.hpp b/inst/include/nt2/constant/constants/one.hpp deleted file mode 100644 index 40e0ebe..0000000 --- a/inst/include/nt2/constant/constants/one.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::One_} **/ - struct one_ {}; - #endif - using boost::simd::tag::One; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::One} **/ - template - details::unspecified one(Args&&... args); - #endif - using boost::simd::One; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_10.hpp b/inst/include/nt2/constant/constants/oneo_10.hpp deleted file mode 100644 index 95bf1bf..0000000 --- a/inst/include/nt2/constant/constants/oneo_10.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_10_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_10_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_10_} **/ - struct oneo_10_ {}; - #endif - using boost::simd::tag::Oneo_10; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_10} **/ - template - details::unspecified oneo_10(Args&&... args); - #endif - using boost::simd::Oneo_10; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_12.hpp b/inst/include/nt2/constant/constants/oneo_12.hpp deleted file mode 100644 index 0b7ba76..0000000 --- a/inst/include/nt2/constant/constants/oneo_12.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_12_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_12_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_12_} **/ - struct oneo_12_ {}; - #endif - using boost::simd::tag::Oneo_12; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_12} **/ - template - details::unspecified oneo_12(Args&&... args); - #endif - using boost::simd::Oneo_12; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_120.hpp b/inst/include/nt2/constant/constants/oneo_120.hpp deleted file mode 100644 index 3d65dc6..0000000 --- a/inst/include/nt2/constant/constants/oneo_120.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_120_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_120_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_120_} **/ - struct oneo_120_ {}; - #endif - using boost::simd::tag::Oneo_120; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_120} **/ - template - details::unspecified oneo_120(Args&&... args); - #endif - using boost::simd::Oneo_120; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_15.hpp b/inst/include/nt2/constant/constants/oneo_15.hpp deleted file mode 100644 index a4d7119..0000000 --- a/inst/include/nt2/constant/constants/oneo_15.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_15_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_15_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_15_} **/ - struct oneo_15_ {}; - #endif - using boost::simd::tag::Oneo_15; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_15} **/ - template - details::unspecified oneo_15(Args&&... args); - #endif - using boost::simd::Oneo_15; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_16.hpp b/inst/include/nt2/constant/constants/oneo_16.hpp deleted file mode 100644 index 53a559d..0000000 --- a/inst/include/nt2/constant/constants/oneo_16.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_16_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_16_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_16_} **/ - struct oneo_16_ {}; - #endif - using boost::simd::tag::Oneo_16; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_16} **/ - template - details::unspecified oneo_16(Args&&... args); - #endif - using boost::simd::Oneo_16; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_180.hpp b/inst/include/nt2/constant/constants/oneo_180.hpp deleted file mode 100644 index 5aaa72a..0000000 --- a/inst/include/nt2/constant/constants/oneo_180.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_180_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_180_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_180_} **/ - struct oneo_180_ {}; - #endif - using boost::simd::tag::Oneo_180; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_180} **/ - template - details::unspecified oneo_180(Args&&... args); - #endif - using boost::simd::Oneo_180; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_5.hpp b/inst/include/nt2/constant/constants/oneo_5.hpp deleted file mode 100644 index 171ec69..0000000 --- a/inst/include/nt2/constant/constants/oneo_5.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_5_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_5_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_5_} **/ - struct oneo_5_ {}; - #endif - using boost::simd::tag::Oneo_5; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_5} **/ - template - details::unspecified oneo_5(Args&&... args); - #endif - using boost::simd::Oneo_5; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_6.hpp b/inst/include/nt2/constant/constants/oneo_6.hpp deleted file mode 100644 index 99f646e..0000000 --- a/inst/include/nt2/constant/constants/oneo_6.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_6_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_6_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_6_} **/ - struct oneo_6_ {}; - #endif - using boost::simd::tag::Oneo_6; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_6} **/ - template - details::unspecified oneo_6(Args&&... args); - #endif - using boost::simd::Oneo_6; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_7.hpp b/inst/include/nt2/constant/constants/oneo_7.hpp deleted file mode 100644 index af08a3a..0000000 --- a/inst/include/nt2/constant/constants/oneo_7.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_7_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_7_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_7_} **/ - struct oneo_7_ {}; - #endif - using boost::simd::tag::Oneo_7; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_7} **/ - template - details::unspecified oneo_7(Args&&... args); - #endif - using boost::simd::Oneo_7; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_8.hpp b/inst/include/nt2/constant/constants/oneo_8.hpp deleted file mode 100644 index 5e90fc2..0000000 --- a/inst/include/nt2/constant/constants/oneo_8.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_8_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_8_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_8_} **/ - struct oneo_8_ {}; - #endif - using boost::simd::tag::Oneo_8; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_8} **/ - template - details::unspecified oneo_8(Args&&... args); - #endif - using boost::simd::Oneo_8; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneo_9.hpp b/inst/include/nt2/constant/constants/oneo_9.hpp deleted file mode 100644 index c5e749e..0000000 --- a/inst/include/nt2/constant/constants/oneo_9.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEO_9_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEO_9_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneo_9_} **/ - struct oneo_9_ {}; - #endif - using boost::simd::tag::Oneo_9; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneo_9} **/ - template - details::unspecified oneo_9(Args&&... args); - #endif - using boost::simd::Oneo_9; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneosqrt5.hpp b/inst/include/nt2/constant/constants/oneosqrt5.hpp deleted file mode 100644 index a75405c..0000000 --- a/inst/include/nt2/constant/constants/oneosqrt5.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEOSQRT5_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEOSQRT5_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneosqrt5_} **/ - struct oneosqrt5_ {}; - #endif - using boost::simd::tag::Oneosqrt5; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneosqrt5} **/ - template - details::unspecified oneosqrt5(Args&&... args); - #endif - using boost::simd::Oneosqrt5; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneosqrteps.hpp b/inst/include/nt2/constant/constants/oneosqrteps.hpp deleted file mode 100644 index 7f1a30d..0000000 --- a/inst/include/nt2/constant/constants/oneosqrteps.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneosqrteps_} **/ - struct oneosqrteps_ {}; - #endif - using boost::simd::tag::Oneosqrteps; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneosqrteps} **/ - template - details::unspecified oneosqrteps(Args&&... args); - #endif - using boost::simd::Oneosqrteps; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/oneotwoeps.hpp b/inst/include/nt2/constant/constants/oneotwoeps.hpp deleted file mode 100644 index e2f37c0..0000000 --- a/inst/include/nt2/constant/constants/oneotwoeps.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Oneotwoeps_} **/ - struct oneotwoeps_ {}; - #endif - using boost::simd::tag::Oneotwoeps; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Oneotwoeps} **/ - template - details::unspecified oneotwoeps(Args&&... args); - #endif - using boost::simd::Oneotwoeps; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/pi.hpp b/inst/include/nt2/constant/constants/pi.hpp deleted file mode 100644 index 40796fa..0000000 --- a/inst/include/nt2/constant/constants/pi.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_PI_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_PI_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Pi_} **/ - struct pi_ {}; - #endif - using boost::simd::tag::Pi; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Pi} **/ - template - details::unspecified pi(Args&&... args); - #endif - using boost::simd::Pi; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/pio_2.hpp b/inst/include/nt2/constant/constants/pio_2.hpp deleted file mode 100644 index e8747e6..0000000 --- a/inst/include/nt2/constant/constants/pio_2.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_PIO_2_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_PIO_2_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Pio_2_} **/ - struct pio_2_ {}; - #endif - using boost::simd::tag::Pio_2; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Pio_2} **/ - template - details::unspecified pio_2(Args&&... args); - #endif - using boost::simd::Pio_2; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/quarter.hpp b/inst/include/nt2/constant/constants/quarter.hpp deleted file mode 100644 index e0fc017..0000000 --- a/inst/include/nt2/constant/constants/quarter.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_QUARTER_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_QUARTER_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Quarter_} **/ - struct quarter_ {}; - #endif - using boost::simd::tag::Quarter; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Quarter} **/ - template - details::unspecified quarter(Args&&... args); - #endif - using boost::simd::Quarter; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/real_splat.hpp b/inst/include/nt2/constant/constants/real_splat.hpp deleted file mode 100644 index 3137698..0000000 --- a/inst/include/nt2/constant/constants/real_splat.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_REAL_SPLAT_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_REAL_SPLAT_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::Realpattern; - } - - using boost::simd::real_constant; - using boost::simd::single_constant; - using boost::simd::double_constant; - using boost::simd::Const; -} - -#endif diff --git a/inst/include/nt2/constant/constants/seven.hpp b/inst/include/nt2/constant/constants/seven.hpp deleted file mode 100644 index ac3e7aa..0000000 --- a/inst/include/nt2/constant/constants/seven.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SEVEN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SEVEN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Seven_} **/ - struct seven_ {}; - #endif - using boost::simd::tag::Seven; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Seven} **/ - template - details::unspecified seven(Args&&... args); - #endif - using boost::simd::Seven; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/signmask.hpp b/inst/include/nt2/constant/constants/signmask.hpp deleted file mode 100644 index b943ffd..0000000 --- a/inst/include/nt2/constant/constants/signmask.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SIGNMASK_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SIGNMASK_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Signmask_} **/ - struct signmask_ {}; - #endif - using boost::simd::tag::Signmask; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Signmask} **/ - template - details::unspecified signmask(Args&&... args); - #endif - using boost::simd::Signmask; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/six.hpp b/inst/include/nt2/constant/constants/six.hpp deleted file mode 100644 index a1a7d2b..0000000 --- a/inst/include/nt2/constant/constants/six.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SIX_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SIX_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Six_} **/ - struct six_ {}; - #endif - using boost::simd::tag::Six; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Six} **/ - template - details::unspecified six(Args&&... args); - #endif - using boost::simd::Six; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/sixteen.hpp b/inst/include/nt2/constant/constants/sixteen.hpp deleted file mode 100644 index 31ff73e..0000000 --- a/inst/include/nt2/constant/constants/sixteen.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SIXTEEN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SIXTEEN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Sixteen_} **/ - struct sixteen_ {}; - #endif - using boost::simd::tag::Sixteen; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Sixteen} **/ - template - details::unspecified sixteen(Args&&... args); - #endif - using boost::simd::Sixteen; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/smallestposval.hpp b/inst/include/nt2/constant/constants/smallestposval.hpp deleted file mode 100644 index 296bfb5..0000000 --- a/inst/include/nt2/constant/constants/smallestposval.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Smallestposval_} **/ - struct smallestposval_ {}; - #endif - using boost::simd::tag::Smallestposval; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Smallestposval} **/ - template - details::unspecified smallestposval(Args&&... args); - #endif - using boost::simd::Smallestposval; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/splitfactor.hpp b/inst/include/nt2/constant/constants/splitfactor.hpp deleted file mode 100644 index b84c676..0000000 --- a/inst/include/nt2/constant/constants/splitfactor.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SPLITFACTOR_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SPLITFACTOR_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Splitfactor_} **/ - struct splitfactor_ {}; - #endif - using boost::simd::tag::Splitfactor; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Splitfactor} **/ - template - details::unspecified splitfactor(Args&&... args); - #endif - using boost::simd::Splitfactor; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/sqrt_1o_5.hpp b/inst/include/nt2/constant/constants/sqrt_1o_5.hpp deleted file mode 100644 index 039b204..0000000 --- a/inst/include/nt2/constant/constants/sqrt_1o_5.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SQRT_1O_5_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SQRT_1O_5_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Sqrt_1o_5_} **/ - struct sqrt_1o_5_ {}; - #endif - using boost::simd::tag::Sqrt_1o_5; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Sqrt_1o_5} **/ - template - details::unspecified sqrt_1o_5(Args&&... args); - #endif - using boost::simd::Sqrt_1o_5; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/sqrt_2.hpp b/inst/include/nt2/constant/constants/sqrt_2.hpp deleted file mode 100644 index 4dbb30b..0000000 --- a/inst/include/nt2/constant/constants/sqrt_2.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SQRT_2_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SQRT_2_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Sqrt_2_} **/ - struct sqrt_2_ {}; - #endif - using boost::simd::tag::Sqrt_2; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Sqrt_2} **/ - template - details::unspecified sqrt_2(Args&&... args); - #endif - using boost::simd::Sqrt_2; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/sqrt_2o_2.hpp b/inst/include/nt2/constant/constants/sqrt_2o_2.hpp deleted file mode 100644 index 57baf45..0000000 --- a/inst/include/nt2/constant/constants/sqrt_2o_2.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SQRT_2O_2_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SQRT_2O_2_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Sqrt_2o_2_} **/ - struct sqrt_2o_2_ {}; - #endif - using boost::simd::tag::Sqrt_2o_2; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Sqrt_2o_2} **/ - template - details::unspecified sqrt_2o_2(Args&&... args); - #endif - using boost::simd::Sqrt_2o_2; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/sqrt_2o_3.hpp b/inst/include/nt2/constant/constants/sqrt_2o_3.hpp deleted file mode 100644 index 84fa31e..0000000 --- a/inst/include/nt2/constant/constants/sqrt_2o_3.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SQRT_2O_3_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SQRT_2O_3_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Sqrt_2o_3_} **/ - struct sqrt_2o_3_ {}; - #endif - using boost::simd::tag::Sqrt_2o_3; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Sqrt_2o_3} **/ - template - details::unspecified sqrt_2o_3(Args&&... args); - #endif - using boost::simd::Sqrt_2o_3; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/sqrteps.hpp b/inst/include/nt2/constant/constants/sqrteps.hpp deleted file mode 100644 index 80894f7..0000000 --- a/inst/include/nt2/constant/constants/sqrteps.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SQRTEPS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SQRTEPS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Sqrteps_} **/ - struct sqrteps_ {}; - #endif - using boost::simd::tag::Sqrteps; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Sqrteps} **/ - template - details::unspecified sqrteps(Args&&... args); - #endif - using boost::simd::Sqrteps; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/sqrtsmallestposval.hpp b/inst/include/nt2/constant/constants/sqrtsmallestposval.hpp deleted file mode 100644 index 1ad670b..0000000 --- a/inst/include/nt2/constant/constants/sqrtsmallestposval.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Sqrtsmallestposval_} **/ - struct sqrtsmallestposval_ {}; - #endif - using boost::simd::tag::Sqrtsmallestposval; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Sqrtsmallestposval} **/ - template - details::unspecified sqrtsmallestposval(Args&&... args); - #endif - using boost::simd::Sqrtsmallestposval; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/sqrtvalmax.hpp b/inst/include/nt2/constant/constants/sqrtvalmax.hpp deleted file mode 100644 index ac3f7e5..0000000 --- a/inst/include/nt2/constant/constants/sqrtvalmax.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_SQRTVALMAX_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_SQRTVALMAX_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Sqrtvalmax_} **/ - struct sqrtvalmax_ {}; - #endif - using boost::simd::tag::Sqrtvalmax; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Sqrtvalmax} **/ - template - details::unspecified sqrtvalmax(Args&&... args); - #endif - using boost::simd::Sqrtvalmax; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/ten.hpp b/inst/include/nt2/constant/constants/ten.hpp deleted file mode 100644 index 5f9f03e..0000000 --- a/inst/include/nt2/constant/constants/ten.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TEN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TEN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Ten_} **/ - struct ten_ {}; - #endif - using boost::simd::tag::Ten; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Ten} **/ - template - details::unspecified ten(Args&&... args); - #endif - using boost::simd::Ten; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/third.hpp b/inst/include/nt2/constant/constants/third.hpp deleted file mode 100644 index a74e5a6..0000000 --- a/inst/include/nt2/constant/constants/third.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_THIRD_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_THIRD_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Third_} **/ - struct third_ {}; - #endif - using boost::simd::tag::Third; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Third} **/ - template - details::unspecified third(Args&&... args); - #endif - using boost::simd::Third; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/thirdrooteps.hpp b/inst/include/nt2/constant/constants/thirdrooteps.hpp deleted file mode 100644 index ded630a..0000000 --- a/inst/include/nt2/constant/constants/thirdrooteps.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Thirdrooteps_} **/ - struct thirdrooteps_ {}; - #endif - using boost::simd::tag::Thirdrooteps; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Thirdrooteps} **/ - template - details::unspecified thirdrooteps(Args&&... args); - #endif - using boost::simd::Thirdrooteps; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/thousand.hpp b/inst/include/nt2/constant/constants/thousand.hpp deleted file mode 100644 index 10b47ba..0000000 --- a/inst/include/nt2/constant/constants/thousand.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_THOUSAND_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_THOUSAND_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Thousand_} **/ - struct thousand_ {}; - #endif - using boost::simd::tag::Thousand; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Thousand} **/ - template - details::unspecified thousand(Args&&... args); - #endif - using boost::simd::Thousand; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/three.hpp b/inst/include/nt2/constant/constants/three.hpp deleted file mode 100644 index 30a60b9..0000000 --- a/inst/include/nt2/constant/constants/three.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_THREE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_THREE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Three_} **/ - struct three_ {}; - #endif - using boost::simd::tag::Three; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Three} **/ - template - details::unspecified three(Args&&... args); - #endif - using boost::simd::Three; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/threeeps.hpp b/inst/include/nt2/constant/constants/threeeps.hpp deleted file mode 100644 index 2798e72..0000000 --- a/inst/include/nt2/constant/constants/threeeps.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_THREEEPS_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_THREEEPS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Threeeps_} **/ - struct threeeps_ {}; - #endif - using boost::simd::tag::Threeeps; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Threeeps} **/ - template - details::unspecified threeeps(Args&&... args); - #endif - using boost::simd::Threeeps; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/true.hpp b/inst/include/nt2/constant/constants/true.hpp deleted file mode 100644 index 1df4afd..0000000 --- a/inst/include/nt2/constant/constants/true.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TRUE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TRUE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::True_} **/ - struct true_ {}; - #endif - using boost::simd::tag::True; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::True} **/ - template - details::unspecified true(Args&&... args); - #endif - using boost::simd::True; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/twelve.hpp b/inst/include/nt2/constant/constants/twelve.hpp deleted file mode 100644 index aa8e95f..0000000 --- a/inst/include/nt2/constant/constants/twelve.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TWELVE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TWELVE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Twelve_} **/ - struct twelve_ {}; - #endif - using boost::simd::tag::Twelve; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Twelve} **/ - template - details::unspecified twelve(Args&&... args); - #endif - using boost::simd::Twelve; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/twenty.hpp b/inst/include/nt2/constant/constants/twenty.hpp deleted file mode 100644 index 2774545..0000000 --- a/inst/include/nt2/constant/constants/twenty.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TWENTY_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TWENTY_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Twenty_} **/ - struct twenty_ {}; - #endif - using boost::simd::tag::Twenty; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Twenty} **/ - template - details::unspecified twenty(Args&&... args); - #endif - using boost::simd::Twenty; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/two.hpp b/inst/include/nt2/constant/constants/two.hpp deleted file mode 100644 index f7ac343..0000000 --- a/inst/include/nt2/constant/constants/two.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TWO_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TWO_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Two_} **/ - struct two_ {}; - #endif - using boost::simd::tag::Two; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Two} **/ - template - details::unspecified two(Args&&... args); - #endif - using boost::simd::Two; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/twoofive.hpp b/inst/include/nt2/constant/constants/twoofive.hpp deleted file mode 100644 index 2d5732b..0000000 --- a/inst/include/nt2/constant/constants/twoofive.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TWOOFIVE_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TWOOFIVE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Twoofive_} **/ - struct twoofive_ {}; - #endif - using boost::simd::tag::Twoofive; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Twoofive} **/ - template - details::unspecified twoofive(Args&&... args); - #endif - using boost::simd::Twoofive; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/twothird.hpp b/inst/include/nt2/constant/constants/twothird.hpp deleted file mode 100644 index 6b05c2c..0000000 --- a/inst/include/nt2/constant/constants/twothird.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TWOTHIRD_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TWOTHIRD_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Twothird_} **/ - struct twothird_ {}; - #endif - using boost::simd::tag::Twothird; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Twothird} **/ - template - details::unspecified twothird(Args&&... args); - #endif - using boost::simd::Twothird; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/twoto31.hpp b/inst/include/nt2/constant/constants/twoto31.hpp deleted file mode 100644 index 8062f45..0000000 --- a/inst/include/nt2/constant/constants/twoto31.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TWOTO31_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TWOTO31_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Twoto31_} **/ - struct twoto31_ {}; - #endif - using boost::simd::tag::Twoto31; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Twoto31} **/ - template - details::unspecified twoto31(Args&&... args); - #endif - using boost::simd::Twoto31; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/twotom10.hpp b/inst/include/nt2/constant/constants/twotom10.hpp deleted file mode 100644 index a16e2ba..0000000 --- a/inst/include/nt2/constant/constants/twotom10.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TWOTOM10_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TWOTOM10_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Twotom10_} **/ - struct twotom10_ {}; - #endif - using boost::simd::tag::Twotom10; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Twotom10} **/ - template - details::unspecified twotom10(Args&&... args); - #endif - using boost::simd::Twotom10; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/twotonmb.hpp b/inst/include/nt2/constant/constants/twotonmb.hpp deleted file mode 100644 index 18f5617..0000000 --- a/inst/include/nt2/constant/constants/twotonmb.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_TWOTONMB_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_TWOTONMB_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Twotonmb_} **/ - struct twotonmb_ {}; - #endif - using boost::simd::tag::Twotonmb; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Twotonmb} **/ - template - details::unspecified twotonmb(Args&&... args); - #endif - using boost::simd::Twotonmb; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/valmax.hpp b/inst/include/nt2/constant/constants/valmax.hpp deleted file mode 100644 index bb89f11..0000000 --- a/inst/include/nt2/constant/constants/valmax.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_VALMAX_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_VALMAX_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Valmax_} **/ - struct valmax_ {}; - #endif - using boost::simd::tag::Valmax; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Valmax} **/ - template - details::unspecified valmax(Args&&... args); - #endif - using boost::simd::Valmax; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/valmin.hpp b/inst/include/nt2/constant/constants/valmin.hpp deleted file mode 100644 index c345619..0000000 --- a/inst/include/nt2/constant/constants/valmin.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_VALMIN_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_VALMIN_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Valmin_} **/ - struct valmin_ {}; - #endif - using boost::simd::tag::Valmin; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Valmin} **/ - template - details::unspecified valmin(Args&&... args); - #endif - using boost::simd::Valmin; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/constants/zero.hpp b/inst/include/nt2/constant/constants/zero.hpp deleted file mode 100644 index f0470a7..0000000 --- a/inst/include/nt2/constant/constants/zero.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_CONSTANTS_ZERO_HPP_INCLUDED -#define NT2_CONSTANT_CONSTANTS_ZERO_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::Zero_} **/ - struct zero_ {}; - #endif - using boost::simd::tag::Zero; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::Zero} **/ - template - details::unspecified zero(Args&&... args); - #endif - using boost::simd::Zero; -} - -#include - -#endif diff --git a/inst/include/nt2/constant/functions.hpp b/inst/include/nt2/constant/functions.hpp deleted file mode 100644 index 8950269..0000000 --- a/inst/include/nt2/constant/functions.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_CONSTANT_FUNCTIONS_HPP_INCLUDED -#define NT2_CONSTANT_FUNCTIONS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/constant/impl/complex/common.hpp b/inst/include/nt2/constant/impl/complex/common.hpp deleted file mode 100644 index d85e4dd..0000000 --- a/inst/include/nt2/constant/impl/complex/common.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_IMPL_COMPLEX_COMMON_HPP_INCLUDED -#define NT2_CONSTANT_IMPL_COMPLEX_COMMON_HPP_INCLUDED - -#include // for constant_ and functor -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_G( constant_, tag::cpu_, (Tag)(A0) - , ((target_< generic_< complex_< arithmetic_ > > >)) - ) - { - typedef typename A0::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - typedef typename nt2::meta::as_real::type real_t; - return result_type(boost::dispatch::functor()(boost::dispatch::meta::as_())); - } - }; - - BOOST_DISPATCH_IMPLEMENT_G( constant_, tag::cpu_, (Tag)(A0) - , ((target_< generic_< dry_< arithmetic_ > > >)) - ) - { - typedef typename A0::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - typedef typename nt2::meta::as_real::type real_t; - return bitwise_cast(boost::dispatch::functor()(boost::dispatch::meta::as_())); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/constant/include/constants/allbits.hpp b/inst/include/nt2/constant/include/constants/allbits.hpp deleted file mode 100644 index 5299a04..0000000 --- a/inst/include/nt2/constant/include/constants/allbits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ALLBITS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ALLBITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/bitincrement.hpp b/inst/include/nt2/constant/include/constants/bitincrement.hpp deleted file mode 100644 index a657db4..0000000 --- a/inst/include/nt2/constant/include/constants/bitincrement.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_BITINCREMENT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_BITINCREMENT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/c180.hpp b/inst/include/nt2/constant/include/constants/c180.hpp deleted file mode 100644 index 72459a9..0000000 --- a/inst/include/nt2/constant/include/constants/c180.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_C180_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_C180_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/cgold.hpp b/inst/include/nt2/constant/include/constants/cgold.hpp deleted file mode 100644 index e3fb659..0000000 --- a/inst/include/nt2/constant/include/constants/cgold.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_CGOLD_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_CGOLD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/digits.hpp b/inst/include/nt2/constant/include/constants/digits.hpp deleted file mode 100644 index 06e7077..0000000 --- a/inst/include/nt2/constant/include/constants/digits.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_DIGITS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_DIGITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/eight.hpp b/inst/include/nt2/constant/include/constants/eight.hpp deleted file mode 100644 index 3d2bf97..0000000 --- a/inst/include/nt2/constant/include/constants/eight.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_EIGHT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_EIGHT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/eleven.hpp b/inst/include/nt2/constant/include/constants/eleven.hpp deleted file mode 100644 index 5a23a5c..0000000 --- a/inst/include/nt2/constant/include/constants/eleven.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ELEVEN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ELEVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/eps.hpp b/inst/include/nt2/constant/include/constants/eps.hpp deleted file mode 100644 index 56d65a0..0000000 --- a/inst/include/nt2/constant/include/constants/eps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_EPS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_EPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/eps_related.hpp b/inst/include/nt2/constant/include/constants/eps_related.hpp deleted file mode 100644 index f1ceeb0..0000000 --- a/inst/include/nt2/constant/include/constants/eps_related.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_EPS_RELATED_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_EPS_RELATED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fact_10.hpp b/inst/include/nt2/constant/include/constants/fact_10.hpp deleted file mode 100644 index 436ee39..0000000 --- a/inst/include/nt2/constant/include/constants/fact_10.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_10_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_10_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fact_11.hpp b/inst/include/nt2/constant/include/constants/fact_11.hpp deleted file mode 100644 index 3fc7d67..0000000 --- a/inst/include/nt2/constant/include/constants/fact_11.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_11_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_11_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fact_12.hpp b/inst/include/nt2/constant/include/constants/fact_12.hpp deleted file mode 100644 index 428052b..0000000 --- a/inst/include/nt2/constant/include/constants/fact_12.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_12_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_12_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fact_4.hpp b/inst/include/nt2/constant/include/constants/fact_4.hpp deleted file mode 100644 index 4f61894..0000000 --- a/inst/include/nt2/constant/include/constants/fact_4.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_4_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_4_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fact_5.hpp b/inst/include/nt2/constant/include/constants/fact_5.hpp deleted file mode 100644 index 32d6cfa..0000000 --- a/inst/include/nt2/constant/include/constants/fact_5.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_5_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_5_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fact_6.hpp b/inst/include/nt2/constant/include/constants/fact_6.hpp deleted file mode 100644 index 7dea014..0000000 --- a/inst/include/nt2/constant/include/constants/fact_6.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_6_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_6_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fact_7.hpp b/inst/include/nt2/constant/include/constants/fact_7.hpp deleted file mode 100644 index 5a413b9..0000000 --- a/inst/include/nt2/constant/include/constants/fact_7.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_7_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_7_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fact_8.hpp b/inst/include/nt2/constant/include/constants/fact_8.hpp deleted file mode 100644 index 2fef874..0000000 --- a/inst/include/nt2/constant/include/constants/fact_8.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_8_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_8_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fact_9.hpp b/inst/include/nt2/constant/include/constants/fact_9.hpp deleted file mode 100644 index ed97507..0000000 --- a/inst/include/nt2/constant/include/constants/fact_9.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_9_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FACT_9_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/false.hpp b/inst/include/nt2/constant/include/constants/false.hpp deleted file mode 100644 index 3bae830..0000000 --- a/inst/include/nt2/constant/include/constants/false.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FALSE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FALSE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fifteen.hpp b/inst/include/nt2/constant/include/constants/fifteen.hpp deleted file mode 100644 index bf76123..0000000 --- a/inst/include/nt2/constant/include/constants/fifteen.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FIFTEEN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FIFTEEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/five.hpp b/inst/include/nt2/constant/include/constants/five.hpp deleted file mode 100644 index 0308696..0000000 --- a/inst/include/nt2/constant/include/constants/five.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FIVE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FIVE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fiveo_8.hpp b/inst/include/nt2/constant/include/constants/fiveo_8.hpp deleted file mode 100644 index e48551f..0000000 --- a/inst/include/nt2/constant/include/constants/fiveo_8.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FIVEO_8_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FIVEO_8_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/four.hpp b/inst/include/nt2/constant/include/constants/four.hpp deleted file mode 100644 index 91f6d46..0000000 --- a/inst/include/nt2/constant/include/constants/four.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FOUR_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FOUR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/fourthrooteps.hpp b/inst/include/nt2/constant/include/constants/fourthrooteps.hpp deleted file mode 100644 index 6765784..0000000 --- a/inst/include/nt2/constant/include/constants/fourthrooteps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_FOURTHROOTEPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/gold.hpp b/inst/include/nt2/constant/include/constants/gold.hpp deleted file mode 100644 index 4845470..0000000 --- a/inst/include/nt2/constant/include/constants/gold.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_GOLD_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_GOLD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/goldbar.hpp b/inst/include/nt2/constant/include/constants/goldbar.hpp deleted file mode 100644 index ffa42e6..0000000 --- a/inst/include/nt2/constant/include/constants/goldbar.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_GOLDBAR_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_GOLDBAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/greatestnoninteger.hpp b/inst/include/nt2/constant/include/constants/greatestnoninteger.hpp deleted file mode 100644 index 6a12121..0000000 --- a/inst/include/nt2/constant/include/constants/greatestnoninteger.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_GREATESTNONINTEGER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/half.hpp b/inst/include/nt2/constant/include/constants/half.hpp deleted file mode 100644 index 068f757..0000000 --- a/inst/include/nt2/constant/include/constants/half.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_HALF_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_HALF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/halfeps.hpp b/inst/include/nt2/constant/include/constants/halfeps.hpp deleted file mode 100644 index 93b92dd..0000000 --- a/inst/include/nt2/constant/include/constants/halfeps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_HALFEPS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_HALFEPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/hundred.hpp b/inst/include/nt2/constant/include/constants/hundred.hpp deleted file mode 100644 index dccaf13..0000000 --- a/inst/include/nt2/constant/include/constants/hundred.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_HUNDRED_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_HUNDRED_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/ieee.hpp b/inst/include/nt2/constant/include/constants/ieee.hpp deleted file mode 100644 index 02a0e65..0000000 --- a/inst/include/nt2/constant/include/constants/ieee.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_IEEE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_IEEE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/inf.hpp b/inst/include/nt2/constant/include/constants/inf.hpp deleted file mode 100644 index 1929ae2..0000000 --- a/inst/include/nt2/constant/include/constants/inf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_INF_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_INF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/infinites.hpp b/inst/include/nt2/constant/include/constants/infinites.hpp deleted file mode 100644 index 86b51ba..0000000 --- a/inst/include/nt2/constant/include/constants/infinites.hpp +++ /dev/null @@ -1,18 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_INFINITES_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_INFINITES_HPP_INCLUDED - -#include -#include - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/int_splat.hpp b/inst/include/nt2/constant/include/constants/int_splat.hpp deleted file mode 100644 index 0e8fb70..0000000 --- a/inst/include/nt2/constant/include/constants/int_splat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_INT_SPLAT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_INT_SPLAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/ldexpmask.hpp b/inst/include/nt2/constant/include/constants/ldexpmask.hpp deleted file mode 100644 index a6ec42f..0000000 --- a/inst/include/nt2/constant/include/constants/ldexpmask.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_LDEXPMASK_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_LDEXPMASK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/limitexponent.hpp b/inst/include/nt2/constant/include/constants/limitexponent.hpp deleted file mode 100644 index e7ca285..0000000 --- a/inst/include/nt2/constant/include/constants/limitexponent.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_LIMITEXPONENT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/log10_pi.hpp b/inst/include/nt2/constant/include/constants/log10_pi.hpp deleted file mode 100644 index 5261ae0..0000000 --- a/inst/include/nt2/constant/include/constants/log10_pi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_LOG10_PI_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_LOG10_PI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/logeps.hpp b/inst/include/nt2/constant/include/constants/logeps.hpp deleted file mode 100644 index d0b6fa1..0000000 --- a/inst/include/nt2/constant/include/constants/logeps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_LOGEPS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_LOGEPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/logpi.hpp b/inst/include/nt2/constant/include/constants/logpi.hpp deleted file mode 100644 index 4424fc1..0000000 --- a/inst/include/nt2/constant/include/constants/logpi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_LOGPI_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_LOGPI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/logsqrt2pi.hpp b/inst/include/nt2/constant/include/constants/logsqrt2pi.hpp deleted file mode 100644 index 34d0bfd..0000000 --- a/inst/include/nt2/constant/include/constants/logsqrt2pi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_LOGSQRT2PI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mantissamask.hpp b/inst/include/nt2/constant/include/constants/mantissamask.hpp deleted file mode 100644 index 63e672d..0000000 --- a/inst/include/nt2/constant/include/constants/mantissamask.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MANTISSAMASK_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MANTISSAMASK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mask1frexp.hpp b/inst/include/nt2/constant/include/constants/mask1frexp.hpp deleted file mode 100644 index 0eae863..0000000 --- a/inst/include/nt2/constant/include/constants/mask1frexp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MASK1FREXP_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MASK1FREXP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mask2frexp.hpp b/inst/include/nt2/constant/include/constants/mask2frexp.hpp deleted file mode 100644 index 6533bc6..0000000 --- a/inst/include/nt2/constant/include/constants/mask2frexp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MASK2FREXP_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MASK2FREXP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/maxexponent.hpp b/inst/include/nt2/constant/include/constants/maxexponent.hpp deleted file mode 100644 index c023fd9..0000000 --- a/inst/include/nt2/constant/include/constants/maxexponent.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MAXEXPONENT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MAXEXPONENT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/maxexponentm1.hpp b/inst/include/nt2/constant/include/constants/maxexponentm1.hpp deleted file mode 100644 index c9deb7b..0000000 --- a/inst/include/nt2/constant/include/constants/maxexponentm1.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MAXEXPONENTM1_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/maxflint.hpp b/inst/include/nt2/constant/include/constants/maxflint.hpp deleted file mode 100644 index bdd56b9..0000000 --- a/inst/include/nt2/constant/include/constants/maxflint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MAXFLINT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MAXFLINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/maxgammaln.hpp b/inst/include/nt2/constant/include/constants/maxgammaln.hpp deleted file mode 100644 index 62b1d46..0000000 --- a/inst/include/nt2/constant/include/constants/maxgammaln.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MAXGAMMALN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MAXGAMMALN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/maxinit.hpp b/inst/include/nt2/constant/include/constants/maxinit.hpp deleted file mode 100644 index 616257e..0000000 --- a/inst/include/nt2/constant/include/constants/maxinit.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MAXINIT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MAXINIT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/maxleftshift.hpp b/inst/include/nt2/constant/include/constants/maxleftshift.hpp deleted file mode 100644 index 04cada6..0000000 --- a/inst/include/nt2/constant/include/constants/maxleftshift.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MAXLEFTSHIFT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/meight.hpp b/inst/include/nt2/constant/include/constants/meight.hpp deleted file mode 100644 index 4e4d8a5..0000000 --- a/inst/include/nt2/constant/include/constants/meight.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MEIGHT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MEIGHT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mfive.hpp b/inst/include/nt2/constant/include/constants/mfive.hpp deleted file mode 100644 index 3e88d7c..0000000 --- a/inst/include/nt2/constant/include/constants/mfive.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MFIVE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MFIVE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mfour.hpp b/inst/include/nt2/constant/include/constants/mfour.hpp deleted file mode 100644 index 6287eb5..0000000 --- a/inst/include/nt2/constant/include/constants/mfour.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MFOUR_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MFOUR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mhalf.hpp b/inst/include/nt2/constant/include/constants/mhalf.hpp deleted file mode 100644 index 508d8de..0000000 --- a/inst/include/nt2/constant/include/constants/mhalf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MHALF_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MHALF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mindenormal.hpp b/inst/include/nt2/constant/include/constants/mindenormal.hpp deleted file mode 100644 index 9d94a4a..0000000 --- a/inst/include/nt2/constant/include/constants/mindenormal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MINDENORMAL_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MINDENORMAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/minexponent.hpp b/inst/include/nt2/constant/include/constants/minexponent.hpp deleted file mode 100644 index c5a8ae6..0000000 --- a/inst/include/nt2/constant/include/constants/minexponent.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MINEXPONENT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MINEXPONENT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/minf.hpp b/inst/include/nt2/constant/include/constants/minf.hpp deleted file mode 100644 index 466cab1..0000000 --- a/inst/include/nt2/constant/include/constants/minf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MINF_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MINF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mlogeps2.hpp b/inst/include/nt2/constant/include/constants/mlogeps2.hpp deleted file mode 100644 index 0d4cbaa..0000000 --- a/inst/include/nt2/constant/include/constants/mlogeps2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MLOGEPS2_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MLOGEPS2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mnine.hpp b/inst/include/nt2/constant/include/constants/mnine.hpp deleted file mode 100644 index 73905a0..0000000 --- a/inst/include/nt2/constant/include/constants/mnine.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MNINE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MNINE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mone.hpp b/inst/include/nt2/constant/include/constants/mone.hpp deleted file mode 100644 index 161863b..0000000 --- a/inst/include/nt2/constant/include/constants/mone.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MONE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MONE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/moneo_6.hpp b/inst/include/nt2/constant/include/constants/moneo_6.hpp deleted file mode 100644 index 5b731bd..0000000 --- a/inst/include/nt2/constant/include/constants/moneo_6.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MONEO_6_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MONEO_6_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mseven.hpp b/inst/include/nt2/constant/include/constants/mseven.hpp deleted file mode 100644 index 7f6f272..0000000 --- a/inst/include/nt2/constant/include/constants/mseven.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MSEVEN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MSEVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/msix.hpp b/inst/include/nt2/constant/include/constants/msix.hpp deleted file mode 100644 index 205c00d..0000000 --- a/inst/include/nt2/constant/include/constants/msix.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MSIX_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MSIX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mten.hpp b/inst/include/nt2/constant/include/constants/mten.hpp deleted file mode 100644 index 2391c6f..0000000 --- a/inst/include/nt2/constant/include/constants/mten.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MTEN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MTEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mthree.hpp b/inst/include/nt2/constant/include/constants/mthree.hpp deleted file mode 100644 index 868b78e..0000000 --- a/inst/include/nt2/constant/include/constants/mthree.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MTHREE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MTHREE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mtwo.hpp b/inst/include/nt2/constant/include/constants/mtwo.hpp deleted file mode 100644 index c2d43db..0000000 --- a/inst/include/nt2/constant/include/constants/mtwo.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MTWO_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MTWO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/mzero.hpp b/inst/include/nt2/constant/include/constants/mzero.hpp deleted file mode 100644 index 6aaf93e..0000000 --- a/inst/include/nt2/constant/include/constants/mzero.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_MZERO_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_MZERO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/nan.hpp b/inst/include/nt2/constant/include/constants/nan.hpp deleted file mode 100644 index 4d11749..0000000 --- a/inst/include/nt2/constant/include/constants/nan.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_NAN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_NAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/nbdigits.hpp b/inst/include/nt2/constant/include/constants/nbdigits.hpp deleted file mode 100644 index 1f95783..0000000 --- a/inst/include/nt2/constant/include/constants/nbdigits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_NBDIGITS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_NBDIGITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/nbexponentbits.hpp b/inst/include/nt2/constant/include/constants/nbexponentbits.hpp deleted file mode 100644 index 4f990c7..0000000 --- a/inst/include/nt2/constant/include/constants/nbexponentbits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_NBEXPONENTBITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/nbmantissabits.hpp b/inst/include/nt2/constant/include/constants/nbmantissabits.hpp deleted file mode 100644 index a4372e1..0000000 --- a/inst/include/nt2/constant/include/constants/nbmantissabits.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_NBMANTISSABITS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/nine.hpp b/inst/include/nt2/constant/include/constants/nine.hpp deleted file mode 100644 index 04afbaf..0000000 --- a/inst/include/nt2/constant/include/constants/nine.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_NINE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_NINE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/one.hpp b/inst/include/nt2/constant/include/constants/one.hpp deleted file mode 100644 index 1b71348..0000000 --- a/inst/include/nt2/constant/include/constants/one.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_10.hpp b/inst/include/nt2/constant/include/constants/oneo_10.hpp deleted file mode 100644 index 93862ba..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_10.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_10_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_10_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_12.hpp b/inst/include/nt2/constant/include/constants/oneo_12.hpp deleted file mode 100644 index ed41b3d..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_12.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_12_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_12_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_120.hpp b/inst/include/nt2/constant/include/constants/oneo_120.hpp deleted file mode 100644 index 9cb924f..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_120.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_120_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_120_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_15.hpp b/inst/include/nt2/constant/include/constants/oneo_15.hpp deleted file mode 100644 index 954b04f..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_15.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_15_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_15_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_16.hpp b/inst/include/nt2/constant/include/constants/oneo_16.hpp deleted file mode 100644 index 8eb0692..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_16.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_16_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_16_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_180.hpp b/inst/include/nt2/constant/include/constants/oneo_180.hpp deleted file mode 100644 index eb56681..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_180.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_180_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_180_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_5.hpp b/inst/include/nt2/constant/include/constants/oneo_5.hpp deleted file mode 100644 index 7194c2e..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_5.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_5_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_5_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_6.hpp b/inst/include/nt2/constant/include/constants/oneo_6.hpp deleted file mode 100644 index cdb7d07..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_6.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_6_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_6_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_7.hpp b/inst/include/nt2/constant/include/constants/oneo_7.hpp deleted file mode 100644 index 3dd1f57..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_7.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_7_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_7_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_8.hpp b/inst/include/nt2/constant/include/constants/oneo_8.hpp deleted file mode 100644 index 1eada45..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_8.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_8_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_8_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneo_9.hpp b/inst/include/nt2/constant/include/constants/oneo_9.hpp deleted file mode 100644 index 03d2dad..0000000 --- a/inst/include/nt2/constant/include/constants/oneo_9.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_9_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEO_9_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneosqrt5.hpp b/inst/include/nt2/constant/include/constants/oneosqrt5.hpp deleted file mode 100644 index a90ce8b..0000000 --- a/inst/include/nt2/constant/include/constants/oneosqrt5.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEOSQRT5_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEOSQRT5_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneosqrteps.hpp b/inst/include/nt2/constant/include/constants/oneosqrteps.hpp deleted file mode 100644 index 0b4f2de..0000000 --- a/inst/include/nt2/constant/include/constants/oneosqrteps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEOSQRTEPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/oneotwoeps.hpp b/inst/include/nt2/constant/include/constants/oneotwoeps.hpp deleted file mode 100644 index 98ef58f..0000000 --- a/inst/include/nt2/constant/include/constants/oneotwoeps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ONEOTWOEPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/pi.hpp b/inst/include/nt2/constant/include/constants/pi.hpp deleted file mode 100644 index 8a97c3b..0000000 --- a/inst/include/nt2/constant/include/constants/pi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_PI_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_PI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/pio_2.hpp b/inst/include/nt2/constant/include/constants/pio_2.hpp deleted file mode 100644 index a424e63..0000000 --- a/inst/include/nt2/constant/include/constants/pio_2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_PIO_2_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_PIO_2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/properties.hpp b/inst/include/nt2/constant/include/constants/properties.hpp deleted file mode 100644 index 82787cd..0000000 --- a/inst/include/nt2/constant/include/constants/properties.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_PROPERTIES_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_PROPERTIES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/quarter.hpp b/inst/include/nt2/constant/include/constants/quarter.hpp deleted file mode 100644 index 8af3c44..0000000 --- a/inst/include/nt2/constant/include/constants/quarter.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_QUARTER_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_QUARTER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/real.hpp b/inst/include/nt2/constant/include/constants/real.hpp deleted file mode 100644 index 8640fb0..0000000 --- a/inst/include/nt2/constant/include/constants/real.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_REAL_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_REAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/real_splat.hpp b/inst/include/nt2/constant/include/constants/real_splat.hpp deleted file mode 100644 index 33779a2..0000000 --- a/inst/include/nt2/constant/include/constants/real_splat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_REAL_SPLAT_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_REAL_SPLAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/seven.hpp b/inst/include/nt2/constant/include/constants/seven.hpp deleted file mode 100644 index 0224d57..0000000 --- a/inst/include/nt2/constant/include/constants/seven.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SEVEN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SEVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/signmask.hpp b/inst/include/nt2/constant/include/constants/signmask.hpp deleted file mode 100644 index a4d5573..0000000 --- a/inst/include/nt2/constant/include/constants/signmask.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SIGNMASK_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SIGNMASK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/six.hpp b/inst/include/nt2/constant/include/constants/six.hpp deleted file mode 100644 index 8a49463..0000000 --- a/inst/include/nt2/constant/include/constants/six.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SIX_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SIX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/sixteen.hpp b/inst/include/nt2/constant/include/constants/sixteen.hpp deleted file mode 100644 index a481595..0000000 --- a/inst/include/nt2/constant/include/constants/sixteen.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SIXTEEN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SIXTEEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/smallestposval.hpp b/inst/include/nt2/constant/include/constants/smallestposval.hpp deleted file mode 100644 index 52f7301..0000000 --- a/inst/include/nt2/constant/include/constants/smallestposval.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SMALLESTPOSVAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/splitfactor.hpp b/inst/include/nt2/constant/include/constants/splitfactor.hpp deleted file mode 100644 index d6c088b..0000000 --- a/inst/include/nt2/constant/include/constants/splitfactor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SPLITFACTOR_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SPLITFACTOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/sqrt_1o_5.hpp b/inst/include/nt2/constant/include/constants/sqrt_1o_5.hpp deleted file mode 100644 index 52a71bf..0000000 --- a/inst/include/nt2/constant/include/constants/sqrt_1o_5.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SQRT_1O_5_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SQRT_1O_5_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/sqrt_2.hpp b/inst/include/nt2/constant/include/constants/sqrt_2.hpp deleted file mode 100644 index a884a8c..0000000 --- a/inst/include/nt2/constant/include/constants/sqrt_2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SQRT_2_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SQRT_2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/sqrt_2o_2.hpp b/inst/include/nt2/constant/include/constants/sqrt_2o_2.hpp deleted file mode 100644 index a4307f2..0000000 --- a/inst/include/nt2/constant/include/constants/sqrt_2o_2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SQRT_2O_2_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SQRT_2O_2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/sqrt_2o_3.hpp b/inst/include/nt2/constant/include/constants/sqrt_2o_3.hpp deleted file mode 100644 index 2bde166..0000000 --- a/inst/include/nt2/constant/include/constants/sqrt_2o_3.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SQRT_2O_3_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SQRT_2O_3_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/sqrteps.hpp b/inst/include/nt2/constant/include/constants/sqrteps.hpp deleted file mode 100644 index e992a84..0000000 --- a/inst/include/nt2/constant/include/constants/sqrteps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SQRTEPS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SQRTEPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/sqrtsmallestposval.hpp b/inst/include/nt2/constant/include/constants/sqrtsmallestposval.hpp deleted file mode 100644 index 8528652..0000000 --- a/inst/include/nt2/constant/include/constants/sqrtsmallestposval.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SQRTSMALLESTPOSVAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/sqrtvalmax.hpp b/inst/include/nt2/constant/include/constants/sqrtvalmax.hpp deleted file mode 100644 index ef2f71a..0000000 --- a/inst/include/nt2/constant/include/constants/sqrtvalmax.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_SQRTVALMAX_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_SQRTVALMAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/ten.hpp b/inst/include/nt2/constant/include/constants/ten.hpp deleted file mode 100644 index 029c842..0000000 --- a/inst/include/nt2/constant/include/constants/ten.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TEN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/third.hpp b/inst/include/nt2/constant/include/constants/third.hpp deleted file mode 100644 index ca14d18..0000000 --- a/inst/include/nt2/constant/include/constants/third.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_THIRD_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_THIRD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/thirdrooteps.hpp b/inst/include/nt2/constant/include/constants/thirdrooteps.hpp deleted file mode 100644 index 627471b..0000000 --- a/inst/include/nt2/constant/include/constants/thirdrooteps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_THIRDROOTEPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/thousand.hpp b/inst/include/nt2/constant/include/constants/thousand.hpp deleted file mode 100644 index 8432837..0000000 --- a/inst/include/nt2/constant/include/constants/thousand.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_THOUSAND_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_THOUSAND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/three.hpp b/inst/include/nt2/constant/include/constants/three.hpp deleted file mode 100644 index d0ccb55..0000000 --- a/inst/include/nt2/constant/include/constants/three.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_THREE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_THREE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/threeeps.hpp b/inst/include/nt2/constant/include/constants/threeeps.hpp deleted file mode 100644 index ee35b8c..0000000 --- a/inst/include/nt2/constant/include/constants/threeeps.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_THREEEPS_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_THREEEPS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/true.hpp b/inst/include/nt2/constant/include/constants/true.hpp deleted file mode 100644 index bfe6813..0000000 --- a/inst/include/nt2/constant/include/constants/true.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TRUE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TRUE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/true_false.hpp b/inst/include/nt2/constant/include/constants/true_false.hpp deleted file mode 100644 index e114367..0000000 --- a/inst/include/nt2/constant/include/constants/true_false.hpp +++ /dev/null @@ -1,13 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TRUE_FALSE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TRUE_FALSE_HPP_INCLUDED -#include -#include -#endif diff --git a/inst/include/nt2/constant/include/constants/twelve.hpp b/inst/include/nt2/constant/include/constants/twelve.hpp deleted file mode 100644 index 2629dec..0000000 --- a/inst/include/nt2/constant/include/constants/twelve.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TWELVE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TWELVE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/twenty.hpp b/inst/include/nt2/constant/include/constants/twenty.hpp deleted file mode 100644 index 99751ef..0000000 --- a/inst/include/nt2/constant/include/constants/twenty.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TWENTY_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TWENTY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/two.hpp b/inst/include/nt2/constant/include/constants/two.hpp deleted file mode 100644 index 78e6a0b..0000000 --- a/inst/include/nt2/constant/include/constants/two.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TWO_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TWO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/twoofive.hpp b/inst/include/nt2/constant/include/constants/twoofive.hpp deleted file mode 100644 index f87bf5d..0000000 --- a/inst/include/nt2/constant/include/constants/twoofive.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TWOOFIVE_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TWOOFIVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/twothird.hpp b/inst/include/nt2/constant/include/constants/twothird.hpp deleted file mode 100644 index f3a43fe..0000000 --- a/inst/include/nt2/constant/include/constants/twothird.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TWOTHIRD_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TWOTHIRD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/twoto31.hpp b/inst/include/nt2/constant/include/constants/twoto31.hpp deleted file mode 100644 index b04a511..0000000 --- a/inst/include/nt2/constant/include/constants/twoto31.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TWOTO31_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TWOTO31_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/twotom10.hpp b/inst/include/nt2/constant/include/constants/twotom10.hpp deleted file mode 100644 index df2f6bb..0000000 --- a/inst/include/nt2/constant/include/constants/twotom10.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TWOTOM10_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TWOTOM10_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/twotonmb.hpp b/inst/include/nt2/constant/include/constants/twotonmb.hpp deleted file mode 100644 index 657c902..0000000 --- a/inst/include/nt2/constant/include/constants/twotonmb.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_TWOTONMB_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_TWOTONMB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/valmax.hpp b/inst/include/nt2/constant/include/constants/valmax.hpp deleted file mode 100644 index d6f1f09..0000000 --- a/inst/include/nt2/constant/include/constants/valmax.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_VALMAX_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_VALMAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/valmin.hpp b/inst/include/nt2/constant/include/constants/valmin.hpp deleted file mode 100644 index 2a83a80..0000000 --- a/inst/include/nt2/constant/include/constants/valmin.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_VALMIN_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_VALMIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/constant/include/constants/zero.hpp b/inst/include/nt2/constant/include/constants/zero.hpp deleted file mode 100644 index 804143f..0000000 --- a/inst/include/nt2/constant/include/constants/zero.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_CONSTANT_INCLUDE_CONSTANTS_ZERO_HPP_INCLUDED -#define NT2_CONSTANT_INCLUDE_CONSTANTS_ZERO_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/container/colon/category.hpp b/inst/include/nt2/core/container/colon/category.hpp deleted file mode 100644 index ed0e4c8..0000000 --- a/inst/include/nt2/core/container/colon/category.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_COLON_CATEGORY_HPP_INCLUDED -#define NT2_CORE_CONTAINER_COLON_CATEGORY_HPP_INCLUDED - -#include - -namespace nt2 { namespace container -{ - struct colon_; -} } - -namespace boost { namespace dispatch { namespace meta -{ - //========================================================================== - // colon_ hierarchy is colon_ -> unspecified_ - //========================================================================== - template struct colon_ : unspecified_ - { - typedef unspecified_ parent; - }; - - //========================================================================== - // colon_ hierarchy is colon_ - //========================================================================== - template struct hierarchy_of - { - typedef colon_ type; - }; -} } } - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::colon_; -} } - -#endif diff --git a/inst/include/nt2/core/container/colon/colon.hpp b/inst/include/nt2/core/container/colon/colon.hpp deleted file mode 100644 index 6066d81..0000000 --- a/inst/include/nt2/core/container/colon/colon.hpp +++ /dev/null @@ -1,113 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_COLON_COLON_HPP_INCLUDED -#define NT2_CORE_CONTAINER_COLON_COLON_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace container -{ - //========================================================================== - // colon_ is an helper class that handles the _ placeholders behavior - //========================================================================== - struct colon_ - { - // colon_ as a sink for tie - template colon_ const& operator=(T const&) const { return *this; } - - // _() as [] - boost::proto::result_of:: - make_expr< nt2::tag::empty_colon_, container::domain - , of_size_<0> - , meta::constant_ - , meta::as_ - >::type - operator()() const - { - return boost::proto::make_expr< nt2::tag::empty_colon_, container::domain > - ( of_size_<0>(), meta::constant_(1.), meta::as_() ); - } - - // colon as a:b - template - typename meta::call::type - operator()(Begin b, End e) const - { - return nt2::colon(b,e); - } - - // colon as a:s:b - template - typename meta::call::type - operator()(Begin b, Step s, End e) const - { - return nt2::colon(b,s,e); - } - }; -} } - -namespace nt2 -{ - //========================================================================== - /*! - * _ is a multi-purpose placeholder in \nt2: - * - * - it acts as \matlab \c : in indexing expression - * - it enables \c :(b,s,e) to mimic \matlab \c b:s:e iota notation - * - _() is Matlab [] - * - it acts as a sink in tie expressions - **/ - //========================================================================== - container::colon_ const _ = {}; -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template<> - struct is_vectorizable_scalar - < nt2::container::expression - < boost::proto:: - basic_expr< nt2::tag::terminal_ - , boost::proto::term - , 0l - > - , nt2::container::colon_ - > - > - : boost::mpl::false_ - { - }; - - /// INTERNAL ONLY - template - struct is_vectorizable_indexer - < nt2::container::expression - < boost::proto:: - basic_expr< nt2::tag::terminal_ - , boost::proto::term - , 0l - > - , nt2::container::colon_ - > - , Cardinal - > - : boost::mpl::true_ - { - }; -} } -#endif diff --git a/inst/include/nt2/core/container/dsl.hpp b/inst/include/nt2/core/container/dsl.hpp deleted file mode 100644 index dd07ad8..0000000 --- a/inst/include/nt2/core/container/dsl.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/container/dsl/alias.hpp b/inst/include/nt2/core/container/dsl/alias.hpp deleted file mode 100644 index 270da2b..0000000 --- a/inst/include/nt2/core/container/dsl/alias.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_ALIAS_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_ALIAS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace container -{ - template inline bool alias(T const& t, U const& u) - { - return nt2::memory::data(details::value(t)) < nt2::memory::data(details::value(u))+numel(u) - && nt2::memory::data(details::value(t)) + nt2::numel(t) >= nt2::memory::data(details::value(u)); - } -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/as_terminal.hpp b/inst/include/nt2/core/container/dsl/as_terminal.hpp deleted file mode 100644 index b89177b..0000000 --- a/inst/include/nt2/core/container/dsl/as_terminal.hpp +++ /dev/null @@ -1,117 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_AS_TERMINAL_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_AS_TERMINAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - template - struct is_container_shared - : boost::mpl::false_ - { - }; - - template - struct is_container_shared< memory::container_shared_ref > - : boost::mpl::true_ - { - }; - - template::type::proto_arity_c> - struct is_terminal_shared - : boost::mpl::false_ - { - }; - - template - struct is_terminal_shared - : is_container_shared::type::proto_child0> - { - }; -} } - -namespace nt2 { namespace container -{ - template - struct as_terminal - : boost::dispatch::meta::terminal_of - { - static typename as_terminal::type init(Expr) - { - return typename as_terminal::type(); - } - }; - - // TODO: check interleaving and storage order is same - template - struct as_terminal< Semantic - , Expr - , typename boost:: - enable_if_c< boost::remove_reference::type::proto_arity_c == 0 - && boost::is_same< typename boost::remove_reference::type::value_type - , typename Semantic::value_type >::value - >::type - > - { - typedef Expr type; - static type init(Expr expr) - { - return expr; - } - }; - - template - struct as_terminal_inout - { - typedef as_terminal impl; - typedef typename impl::type type; - - static type init(In in, Out out) - { - type result = impl::init(out); - result = in; - return result; - } - }; - -// Terminal INOUT should just return the input when memory is on the device - template - struct as_terminal_inout< Semantic, In, Out - , typename std::enable_if::value - || std::is_same::value - >::type - > - { - typedef In type; - - static type init(In in, Out) - { - return in; - } - }; -} } - -#define NT2_AS_TERMINAL_IN(semantic, name, input) typename container::as_terminal::type name = (input); -#define NT2_AS_TERMINAL_OUT(semantic, name, output) typename container::as_terminal::type name = container::as_terminal::init((output)); -#define NT2_AS_TERMINAL_INOUT(semantic, name, input, output) typename container::as_terminal_inout::type name = container::as_terminal_inout::init((input), (output)); - -#endif diff --git a/inst/include/nt2/core/container/dsl/details/expression.hpp b/inst/include/nt2/core/container/dsl/details/expression.hpp deleted file mode 100644 index 2683ab2..0000000 --- a/inst/include/nt2/core/container/dsl/details/expression.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DETAILS_EXPRESSION_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DETAILS_EXPRESSION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - // Semantic of NT2 expression lies in its ResultType template parameter - //============================================================================ - template - struct semantic_of< nt2::container::expression > - { - typedef ResultType type; - }; - - template - struct terminal_of< nt2::container::expression > - { - typedef typename terminal_of::type type; - }; -} } } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY : Option of expression use its settings and semantic - template - struct option, Tag> - : option - {}; - - /// INTERNAL ONLY : Extract settings from expression - template - struct settings_of< nt2::container::expression > - { - typedef typename meta::settings_of::type type; - }; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/details/expression_size.hpp b/inst/include/nt2/core/container/dsl/details/expression_size.hpp deleted file mode 100644 index f9f8023..0000000 --- a/inst/include/nt2/core/container/dsl/details/expression_size.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DETAILS_EXPRESSION_SIZE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DETAILS_EXPRESSION_SIZE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace container -{ - template - struct expression_size - { - BOOST_FORCEINLINE expression_size(Sizes const& size) : size_(size) - {} - - template BOOST_FORCEINLINE - expression_size ( Base const&, Expr const& expr ) - : size_(expr.size_.size_) - {} - - Sizes size_; - - BOOST_FORCEINLINE Sizes const& data() const { return size_; } - }; - - template - struct expression_size< Sizes - , typename boost:: - enable_if< boost::is_reference >::type - > - { - typedef typename boost::remove_reference::type Sizes_; - - BOOST_FORCEINLINE expression_size(Sizes size) : size_(&size) - {} - - template - BOOST_FORCEINLINE - expression_size ( Base const& base, Expr const& ) - : size_(&size_transform()(base)) - {} - - Sizes_* size_; - - BOOST_FORCEINLINE Sizes_& data() const { return *size_; } - }; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/details/generator.hpp b/inst/include/nt2/core/container/dsl/details/generator.hpp deleted file mode 100644 index 910bd47..0000000 --- a/inst/include/nt2/core/container/dsl/details/generator.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DETAILS_GENERATOR_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DETAILS_GENERATOR_HPP_INCLUDED - -#include -#include -//#include -//#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - //========================================================================== - /*! - * This metafunction specify the way a given expression is build when - * entering a proto::generator. By default, all NT2 expressions are built - * the following way: - * - * - the value_type of the expression is computed - * - the size of the expression is computed - * - the shape of the expression is computed - * - the base indices of the expression is computed - * - if the size is _0D, then the expression will behave as its value_type - * else, it will behave as a container of the domain with proper shape,size - * and base indices. - * - * cref qualifiers and other peculiarities of type are conserved all along - * so the type is actually the most optimized possible. - * - * \tparam Tag Top most tag of the expression - * \tparam Domain Domain of the expression - * \tparam Arity Number of children of the expression - * \tparam Expr The expression itself - * - **/ - //========================================================================== - template struct generator - { - typedef typename ext::value_type::type value_type; - typedef typename ext::size_of::result_type extent_type; - typedef typename meta::strip::type size_type; - typedef typename meta::kind_of::type kind_type; - - typedef typename boost::mpl:: - eval_if < boost::is_same< size_type, _0D > - , ext::value_type - , boost::dispatch::meta:: - transfer_qualifiers - < memory::container < kind_type - , typename meta::strip::type - , nt2::settings(size_type) - > - , value_type - > - >::type type; - - typedef container::expression< typename boost:: - remove_const::type - , type> result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return result_type(e); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/details/kind/elementwise.hpp b/inst/include/nt2/core/container/dsl/details/kind/elementwise.hpp deleted file mode 100644 index 001c913..0000000 --- a/inst/include/nt2/core/container/dsl/details/kind/elementwise.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DETAILS_KIND_ELEMENTWISE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DETAILS_KIND_ELEMENTWISE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag -{ - struct terminal_; -} } - -namespace nt2 { namespace ext -{ - //============================================================================ - // default kind_of for 0-2 arity - //============================================================================ - template - struct kind_of - { - typedef typename Expr::kind_type type; - }; - - template - struct kind_of - { - typedef typename boost::proto::result_of::child_c::value_type A0; - typedef typename A0::kind_type type; - }; - - template - struct kind_of - { - typedef typename boost::proto::result_of::child_c::value_type A0; - typedef typename boost::proto::result_of::child_c::value_type A1; - typedef typename A0::kind_type base0; - typedef typename A1::kind_type base1; - - typedef typename boost::proto::detail - ::common_domain2::type type; - }; - - //============================================================================ - // default kind_of, sort semantic by order of closeness to their - // common parent. - //============================================================================ - #define M1(z,n,t) \ - typedef typename boost::proto::result_of::child_c::value_type A##n; \ - typedef typename A##n::kind_type b##n; \ - /**/ - - #define M0(z,n,t) \ - template \ - struct kind_of \ - { \ - BOOST_PP_REPEAT(n, M1, ~) \ - typedef typename boost::proto::detail:: \ - common_domain##n::type type; \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(3, BOOST_DISPATCH_MAX_ARITY, M0, ~) - - #undef M0 - #undef M1 -} } - - -#endif - diff --git a/inst/include/nt2/core/container/dsl/details/resize.hpp b/inst/include/nt2/core/container/dsl/details/resize.hpp deleted file mode 100644 index 6353799..0000000 --- a/inst/include/nt2/core/container/dsl/details/resize.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DETAILS_RESIZE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DETAILS_RESIZE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // resize expression internal extension points - // Specify how expression are meant to be resized - //============================================================================ - template struct resize - { - //========================================================================== - // ****NT2_INVALID_RESIZE_OF_RHS_EXPRESSION**** - // If this static assert triggers, a call to resize has been issued on a - // RHS expression. Check for your code conformity at the expression level. - // ****NT2_INVALID_RESIZE_OF_RHS_EXPRESSION**** - //========================================================================== - BOOST_MPL_ASSERT_MSG(0, NT2_INVALID_RESIZE_OF_RHS_EXPRESSION, (Tag)); - }; - - //============================================================================ - // resize nullary expression - only make sense for container - //============================================================================ - template - struct resize - { - template BOOST_FORCEINLINE void operator()(Expr& x, Sz const& sz) - { - typedef typename meta::call::type value; - typedef typename meta::is_container_or_ref::type status_t; - return (*this)(x, sz, status_t()); - } - - template - BOOST_FORCEINLINE void operator()(Expr& x, Sz const& sz, boost::mpl::true_) - { - boost::proto::value(x).resize(sz); - } - - template - BOOST_FORCEINLINE void operator()(Expr&, Sz const& sz, boost::mpl::false_) - { - boost::ignore_unused(sz); - BOOST_ASSERT_MSG( sz == of_size_<>() - , "Resizing scalar to size other than 1" - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/details/size/elementwise.hpp b/inst/include/nt2/core/container/dsl/details/size/elementwise.hpp deleted file mode 100644 index fb00595..0000000 --- a/inst/include/nt2/core/container/dsl/details/size/elementwise.hpp +++ /dev/null @@ -1,167 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DETAILS_SIZE_ELEMENTWISE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DETAILS_SIZE_ELEMENTWISE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - struct get_extent - { - template - struct result; - - template - struct result - { - typedef typename boost::remove_reference::type sT; - typedef typename sT::extent_type const& type; - }; - - template - BOOST_FORCEINLINE typename T::extent_type const& - operator()(T const& t) const - { - return t.extent(); - } - }; -} } - -namespace nt2 { namespace ext -{ - // element-wise size selection logic - struct size_fold - { - template - struct select; - - template - struct result; - - template - struct result - { - typedef typename - select< typename meta::strip::type - , typename meta::strip::type - >::type type; - }; - - template - struct select<_0D, A1, Dummy> - { - typedef A1 type; - }; - template - BOOST_FORCEINLINE - typename result::type - operator()(_0D const&, A1 const& a1) const - { - return a1; - } - - template - struct select - { - typedef A0 type; - }; - template - BOOST_FORCEINLINE - typename result::type - operator()(A0 const& a0, _0D const&) const - { - return a0; - } - - template - struct select<_0D, _0D, Dummy> - { - typedef _0D type; - }; - BOOST_FORCEINLINE - result::type - operator()(_0D const& a0, _0D const&) const - { - return a0; - } - - template - struct select - { - typedef typename - boost::mpl::if_c< A0::static_status,A0,A1>::type type; - }; - - template BOOST_FORCEINLINE - typename result::type - operator()(A0 const& a0, A1 const& a1) const - { - BOOST_ASSERT_MSG(a0 == a1, "Sizes are not compatible"); - return selection(a0,a1,boost::mpl::bool_()); - } - - template BOOST_FORCEINLINE - typename result::type - selection(A0 const& a0, A1 const&, boost::mpl::true_ const&) const - { - return a0; - } - - template BOOST_FORCEINLINE - typename result::type - selection(A0 const&, A1 const& a1, boost::mpl::false_ const&) const - { - return a1; - } - }; - - template - struct elementwise_size - { - typedef typename boost::fusion::result_of:: - transform::type sizes; - - typedef typename boost::fusion::result_of::at_c::type init; - - typedef typename boost::fusion::result_of:: - fold::type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - sizes sz = boost::fusion::transform(e, details::get_extent()); - return boost::fusion::fold(sz, boost::fusion::at_c<0>(sz), size_fold()); - } - }; - - template struct elementwise_size - { - typedef typename boost::proto::result_of::child_c::value_type child0; - typedef typename child0::extent_type result_type; - - BOOST_FORCEINLINE - result_type operator()(Expr& e) const - { - return boost::proto::child_c<0>(e).extent(); - } - }; - - template - struct size_of - : elementwise_size - { - }; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/details/trait_transform.hpp b/inst/include/nt2/core/container/dsl/details/trait_transform.hpp deleted file mode 100644 index 3c87468..0000000 --- a/inst/include/nt2/core/container/dsl/details/trait_transform.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DETAILS_TRAIT_TRANSFORM_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DETAILS_TRAIT_TRANSFORM_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace details -{ - //============================================================================== - // Glue that creates a Proto primitive transforms that applies a given trait - //============================================================================== - template< template class Trait - , class Domain - > - struct trait_transform - : boost::proto::transform< trait_transform > - { - template - struct impl : boost::proto::transform_impl - { - typedef typename impl::expr expr; - - typedef Trait< typename expr::proto_tag - , Domain - , expr::proto_arity_c - , expr - > function; - typedef typename function::result_type result_type; - - BOOST_FORCEINLINE result_type - operator()( typename impl::expr_param e - , typename impl::state_param - , typename impl::data_param - ) const - { - return function()(e); - } - }; - }; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/details/value.hpp b/inst/include/nt2/core/container/dsl/details/value.hpp deleted file mode 100644 index 68fe773..0000000 --- a/inst/include/nt2/core/container/dsl/details/value.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DETAILS_VALUE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DETAILS_VALUE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - template - BOOST_FORCEINLINE typename boost::disable_if< boost::proto::is_expr - , T const& - >::type - value(T const& t) - { - return t; - } - - template - BOOST_FORCEINLINE - typename boost::lazy_enable_if< boost::proto::is_expr - , boost::proto::result_of::value - >::type - value(T const& t) - { - return boost::proto::value(t); - } -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/details/value/elementwise.hpp b/inst/include/nt2/core/container/dsl/details/value/elementwise.hpp deleted file mode 100644 index e57fc9c..0000000 --- a/inst/include/nt2/core/container/dsl/details/value/elementwise.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DETAILS_VALUE_ELEMENTWISE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DETAILS_VALUE_ELEMENTWISE_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include - -namespace nt2 { namespace details -{ - //============================================================================ - // default value_type, calls meta::call on the scalar equivalent. This is the - // case for both element-wise and reduction expression - //============================================================================ - #define M1(z,n,t) \ - typedef typename boost::proto::result_of::child_c::type _A##n; \ - typedef typename boost::dispatch::meta::semantic_of<_A##n>::type A##n; \ - typedef typename boost::dispatch::meta::scalar_of::type s##n; \ - /**/ - - #define M0(z,n,t) \ - template \ - struct value_type \ - { \ - BOOST_PP_REPEAT(n, M1, ~) \ - typedef typename meta::call::type type; \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_DISPATCH_MAX_ARITY, M0, ~) - - #undef M0 - #undef M1 -} } - - -#endif - diff --git a/inst/include/nt2/core/container/dsl/domain.hpp b/inst/include/nt2/core/container/dsl/domain.hpp deleted file mode 100644 index 39fbe4a..0000000 --- a/inst/include/nt2/core/container/dsl/domain.hpp +++ /dev/null @@ -1,291 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_DOMAIN_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_DOMAIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - /* Checks whether a tag T is an elementwise operation */ - template - struct is_elementwise - { - typedef char true_type; - struct false_type { char dummy[2]; }; - - template - static true_type call(ext::elementwise_ const&); - static false_type call(...); - - typedef typename boost::dispatch::meta::hierarchy_of::type Tag; - static const bool value = sizeof(call(Tag())) == sizeof(true_type); - typedef boost::mpl::bool_ type; - }; - - /* If T is an expression, do nothing; otherwise call as_child in the domain - * with T as a reference */ - template - struct as_child - { - typedef typename Domain::template as_child::result_type type; - static BOOST_FORCEINLINE type call(T& t) - { - return typename Domain::template as_child()(t); - } - }; - - template - struct as_child - { - typedef T type; - static BOOST_FORCEINLINE T& call(T& t) - { - return t; - } - }; -} } - -namespace nt2 { namespace container -{ - /* Turn an expression into a view, i.e. convert all container terminals and table - * to view/shared_view */ - template - struct as_view_impl_term - : boost::remove_const - { - }; - - template - struct as_view_impl_term< Expr, memory::container& > - { - typedef view type; - }; - - template - struct as_view_impl_term< Expr, memory::container const& > - { - typedef view type; - }; - - template - struct as_view_impl_term< Expr, memory::container_shared_ref & > - { - typedef shared_view type; - }; - - template - struct as_view_impl_term< Expr, memory::container_shared_ref const& > - { - typedef shared_view type; - }; - - template - struct as_view_impl - { - typedef typename boost::remove_const::type type; - static BOOST_FORCEINLINE T& call(T& t) - { - return t; - } - }; - - template - struct as_view_impl - { - typedef typename as_view_impl_term::type>::type type; - static BOOST_FORCEINLINE type call(T& t) - { - return type(t); - } - }; - - template - BOOST_FORCEINLINE - typename as_view_impl::type as_view(T& t) - { - return as_view_impl::call(t); - } - - template - BOOST_FORCEINLINE - typename as_view_impl::type as_view(T const& t) - { - return as_view_impl::call(t); - } - - /* The nt2 container domain has special rules so that children are held by value, - * non-elementwise operations get scheduled and - * containers are held by reference or as a container_ref value */ - struct domain - : boost::proto::domain< container::generator_transform - , container::grammar - > - { - - // Construct an expression from a non-expression - // - by value unless manually called with a reference - // - semantic is same as terminal value - template - struct as_child : boost::proto::callable - { - typedef typename boost::remove_const::type term_t; - typedef boost::proto::basic_expr< nt2::tag::terminal_, boost::proto::term > expr_t; - typedef expression, typename boost::remove_const::type, Sema >::type> result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::add_reference::type t) const - { - return result_type(expr_t::make(t)); - } - }; - - template - struct as_child_elementwise; - - template - struct as_child_elementwise - : boost::proto::callable - { - typedef typename boost::remove_const::type result_type; - BOOST_FORCEINLINE result_type operator()(T& t) const - { - return result_type(t); - } - }; - - // Schedule non-elementwise expression, return terminal (shared owning container_ref) - template - struct as_child_elementwise - : boost::proto::callable - { - typedef typename boost::dispatch::meta::semantic_of::type semantic; - typedef typename boost::dispatch::meta::terminal_of_shared::type terminal; - typedef as_child terminal_expr; - typedef meta::as_child terminal_ref; - typedef typename terminal_expr::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(T& t) const - { - terminal term = boost::dispatch::meta::terminal_of_shared::make(); - nt2::run(nt2::assign(terminal_ref::call(term), t)); - return terminal_expr()(term); - } - }; - - template::value> - struct as_child_expr - : as_child_elementwise::value || !Schedule > - { - }; - - template - struct as_child_expr - : as_child_expr - { - }; - - // Scheduled terminals: converted to views - template - struct as_child_expr - : boost::proto::callable - { - typedef typename as_view_impl::type result_type; - - BOOST_FORCEINLINE result_type operator()(T& t) const - { - return as_view_impl::call(t); - } - }; - - // Non-scheduled terminals: ensure tables are held by reference - template - struct as_child_expr - : boost::proto::callable - { - typedef typename boost::proto::result_of::value::value_type value_type; - typedef typename boost::mpl::if_< boost::is_const, typename boost::add_const::type, value_type >::type type; - typedef typename boost::mpl::if_c< meta::is_container::value && !meta::is_container_ref::value, typename boost::add_reference::type, type >::type type_ref; - typedef as_child::type> impl; - typedef typename impl::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(T& t) const - { - return impl()(boost::proto::value(t)); - } - }; - - template - struct as_child - : as_child_expr {}; - - - template - struct as_expr - : boost::proto::callable - { - typedef typename boost::remove_const::type term_t; - typedef boost::proto::basic_expr< nt2::tag::terminal_, boost::proto::term > expr_t; - typedef expression::type> result_type; - - BOOST_FORCEINLINE result_type operator()(T& t) const - { - return result_type(expr_t::make(t)); - } - }; - - template - struct as_expr - : boost::proto::callable - { - typedef typename boost::remove_const::type result_type; - BOOST_FORCEINLINE result_type operator()(T& t) const - { - return t; - } - }; - }; -} } - -namespace nt2 { namespace meta -{ - /* Turn an expression into an element-wise expression, schedule but do not turn terminals into views */ - template - struct as_elementwise - { - typedef typename container::domain::template as_child::result_type type; - static BOOST_FORCEINLINE type call(T& t) - { - return typename container::domain::template as_child()(t); - } - }; - - template - struct as_elementwise - { - typedef T& type; - static BOOST_FORCEINLINE T& call(T& t) - { - return t; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/expression.hpp b/inst/include/nt2/core/container/dsl/expression.hpp deleted file mode 100644 index 806024c..0000000 --- a/inst/include/nt2/core/container/dsl/expression.hpp +++ /dev/null @@ -1,375 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_EXPRESSION_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_EXPRESSION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#if defined(BOOST_MSVC) -#pragma warning( push ) -#pragma warning( disable : 4522 ) -#endif - -namespace nt2 { namespace container -{ - - //========================================================================== - // Conversion operator for integration with scalars: - // - used for reductions that return scalars; - // - used for table-to-scalar conversion. - //========================================================================== - template - struct expression_scalar - { - BOOST_FORCEINLINE operator typename meta::value_type_::type() const - { - typedef expression type_t; - type_t const& e = static_cast(*this); - - BOOST_ASSERT_MSG( nt2::numel( e.extent() ) == 1u, "Table is not a scalar"); - return nt2::evaluate(e).data()[0]; - } - }; - - template - struct expression_scalar - { - BOOST_FORCEINLINE operator Result() const - { - return nt2::evaluate( static_cast const&>(*this) ); - } - }; - - //============================================================================ - // proto expression wrapper for nt2 containers - //============================================================================ - template - struct expression : expression_scalar::value> - { - //========================================================================== - // This type - //========================================================================== - typedef expression nt2_expression; - - //========================================================================== - // Type of the parent expression - //========================================================================== - BOOST_PROTO_BASIC_EXTENDS(Expr, expression, domain) - - //========================================================================== - // Extract Container information from Result - //========================================================================== - typedef typename meta::kind_::type kind_type; - typedef typename meta::value_type_::type value_type; - typedef typename meta::reference_::type reference; - typedef typename meta::const_reference_::type const_reference; - typedef typename meta::pointer_::type pointer; - typedef typename meta::const_pointer_::type const_pointer; - typedef typename meta::size_type_::type size_type; - - typedef typename meta::settings_of::type settings_type; - - typedef typename meta::option < Result - , nt2::tag::index_ - >::type index_type; - - typedef typename meta::option < Result - , nt2::tag::storage_order_ - >::type storage_order_type; - - //========================================================================== - // Make the expression MPL-compatible - //========================================================================== - typedef boost::fusion::fusion_sequence_tag tag; - - //========================================================================== - // Compute storage type for size - //========================================================================== - typedef typename size_transform:: - template result(Expr&)>::type sizes_t; - typedef typename meta::strip::type extent_type; - friend struct expression_size; - - typedef typename index_type::index_type indexes_type; - - //========================================================================== - // Default constructor required by table - //========================================================================== - BOOST_FORCEINLINE - expression() : size_(size_transform()(proto_base())) {} - - //========================================================================== - // Build an expression from a naked proto tree - //========================================================================== - BOOST_FORCEINLINE - explicit expression(Expr const& x) - : proto_expr_(x) - , size_(size_transform()(proto_base())) - {} - - //========================================================================== - // Copy construct from another expression - //========================================================================== - BOOST_FORCEINLINE - expression( expression const& xpr ) - : proto_expr_(xpr.proto_base()) - , size_(proto_base(), xpr) - { - } - - //========================================================================== - // Assignment operator forces evaluation - //========================================================================== - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , expression& - >::type - operator=(Xpr const& xpr) - { - nt2::evaluate( nt2::assign(*this, xpr) ); - return *this; - } - - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , expression const& - >::type - operator=(Xpr const& xpr) const - { - nt2::evaluate( nt2::assign(*this, xpr) ); - return *this; - } - - BOOST_FORCEINLINE expression& operator=(expression const& xpr) - { - nt2::evaluate( nt2::assign(*this, xpr) ); - return *this; - } - - BOOST_FORCEINLINE expression const& operator=(expression const& xpr) const - { - nt2::evaluate( nt2::assign(*this, xpr) ); - return *this; - } - - //========================================================================== - // Expression indexing - //========================================================================== - #define M2(z,n,t) \ - fix_index( a##n, indexes_type(), this->extent() ) \ - /**/ - - #define M1(z,n,t) \ - typename result_of::fix_index < A##n,indexes_type,extent_type \ - , BOOST_PP_INC(n),t \ - >::type \ - /**/ - - #define M0(z,n,t) \ - template BOOST_FORCEINLINE \ - typename meta::call \ - < nt2::tag::function_ \ - ( expression const&, BOOST_PP_ENUM(n,M1,n) ) \ - >::type \ - operator()( BOOST_PP_ENUM_BINARY_PARAMS(n,A, const& a) ) const \ - { \ - return nt2::function(*this, BOOST_PP_ENUM(n,M2,n) ); \ - } \ - template BOOST_FORCEINLINE \ - typename meta::call \ - < nt2::tag::function_ \ - ( expression&, BOOST_PP_ENUM(n,M1,n) ) \ - >::type \ - operator()( BOOST_PP_ENUM_BINARY_PARAMS(n,A, const& a) ) \ - { \ - return nt2::function(*this, BOOST_PP_ENUM(n,M2,n) ); \ - } \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - #undef M0 - #undef M1 - #undef M2 - - //========================================================================== - // Idempotent operator() indexing - //========================================================================== - BOOST_FORCEINLINE expression& operator()() { return *this; } - BOOST_FORCEINLINE expression const& operator()() const { return *this; } - - //========================================================================== - // Return current expression extent - //========================================================================== - BOOST_FORCEINLINE extent_type const& extent() const { return size_.data(); } - - //========================================================================== - // Return current expression extent - //========================================================================== - BOOST_FORCEINLINE std::size_t size() const - { - return nt2::numel(extent()); - } - - //========================================================================== - // Return current expression base indexes - //========================================================================== - BOOST_FORCEINLINE indexes_type indexes() const { return indexes_type(); } - - //========================================================================== - // Return current expression leading_size - //========================================================================== - BOOST_FORCEINLINE size_type leading_size() const - { - typedef typename boost::mpl - ::apply < storage_order_type - , boost::mpl::size_t - , boost::mpl::size_t<0U> - >::type dim_t; - return size_.data()[dim_t::value]; - } - - //========================================================================== - // push_back through container - //========================================================================== - template - void push_back(Data const& c) - { - //======================================================================== - // ****NT2_INVALID_PUSH_BACK_ON_NON_TERMINAL**** - // If this static assert triggers, push_back has been called onto - // a non-terminal - // ****NT2_INVALID_PUSH_BACK_ON_NON_TERMINAL**** - //======================================================================== - BOOST_MPL_ASSERT_MSG( (boost::proto::arity_of::value == 0) - , NT2_INVALID_PUSH_BACK_ON_NON_TERMINAL - , (Expr&) - ); - - boost::proto::value(*this).push_back(c); - } - - template - void push_back(Data const& c, std::size_t d) - { - //======================================================================== - // ****NT2_INVALID_PUSH_BACK_ON_NON_TERMINAL**** - // If this static assert triggers, push_back has been called onto - // a non-terminal - // ****NT2_INVALID_PUSH_BACK_ON_NON_TERMINAL**** - //======================================================================== - BOOST_MPL_ASSERT_MSG( (boost::proto::arity_of::value == 0) - , NT2_INVALID_PUSH_BACK_ON_NON_TERMINAL - , (Expr&) - ); - - boost::proto::value(*this).push_back(c, d); - } - - //========================================================================== - // Access to raw data - //========================================================================== - pointer data() - { - //======================================================================== - // ****NT2_INVALID_ACCESS_TO_RAW_DATA_ON_NON_TERMINAL**** - // If this static assert triggers, the raw memory of a non terminal node - // has been requested. - // ****NT2_INVALID_ACCESS_TO_RAW_DATA_ON_NON_TERMINAL**** - //======================================================================== - BOOST_MPL_ASSERT_MSG( (boost::proto::arity_of::value == 0) - , NT2_INVALID_ACCESS_TO_RAW_DATA_ON_NON_TERMINAL - , (Expr&) - ); - - return nt2::memory::data(boost::proto::value(*this)); - } - - const_pointer data() const - { - //======================================================================== - // ***NT2_INVALID_ACCESS_TO_RAW_DATA_ON_NON_TERMINAL**** - // If this static assert triggers, the raw memory of a non terminal node - // has been requested. - // ****NT2_INVALID_ACCESS_TO_RAW_DATA_ON_NON_TERMINAL**** - //======================================================================== - BOOST_MPL_ASSERT_MSG( (boost::proto::arity_of::value == 0) - , NT2_INVALID_ACCESS_TO_RAW_DATA_ON_NON_TERMINAL - , (Expr&) - ); - - return nt2::memory::data(boost::proto::value(*this)); - } - - //========================================================================== - // Destructive resize of expression - //========================================================================== - template BOOST_FORCEINLINE void resize(Sz const& sz) - { - ext::resize< typename boost::dispatch::meta:: - hierarchy_of::type - , domain - , proto_arity_c - , expression - > - ()(*this, sz); - } - - template BOOST_FORCEINLINE void resize(Sz const& sz) const - { - ext::resize< typename boost::dispatch::meta:: - hierarchy_of::type - , domain - , proto_arity_c - , expression const - > - ()(*this, sz); - } - - protected: - expression_size size_; - }; -} } - -#if defined(BOOST_MSVC) -#pragma warning( pop ) -#endif - -#endif diff --git a/inst/include/nt2/core/container/dsl/forward.hpp b/inst/include/nt2/core/container/dsl/forward.hpp deleted file mode 100644 index 999f274..0000000 --- a/inst/include/nt2/core/container/dsl/forward.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_FORWARD_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_FORWARD_HPP_INCLUDED - -#include - -namespace nt2 { namespace tag -{ - struct container_; -} } - -namespace nt2 -{ - template - struct box; -} - -namespace nt2 { namespace container -{ - template struct extremum; - struct colon_; - - template struct generator_transform; - template struct size_transform; - - struct domain; - - template - struct expression; - - template - struct table; - - template - struct view; - - template - struct shared_view; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/fusion.hpp b/inst/include/nt2/core/container/dsl/fusion.hpp deleted file mode 100644 index 27ca1cc..0000000 --- a/inst/include/nt2/core/container/dsl/fusion.hpp +++ /dev/null @@ -1,128 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_FUSION_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_FUSION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// TODO REFRESH TO USE PROPER TYPES ETC... -// TODO MAKE TABLE AND OTHER CONTAINER USE THIS -//////////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace tag -{ - //============================================================================ - /*! Identify expression as valid fusion sequence */ - //============================================================================ - struct container_ {}; -} } - -//============================================================================== -//Implement shared generic Fusion sequence conformance for container expression -//============================================================================== -namespace boost { namespace fusion { namespace traits -{ - template - struct tag_of< nt2::container::expression > - { - typedef typename - boost::mpl::if_< nt2::meta:: - is_statically_sized < nt2::container:: - expression - > - , nt2::tag::container_ - , non_fusion_tag - >::type type; - }; -} } } - -namespace boost { namespace fusion { namespace extension -{ - //============================================================================ - // Register container expression as fusion random access sequence - //============================================================================ - template<> struct is_sequence_impl - { - template struct apply : boost::mpl::true_ {}; - }; - - template<> struct is_view_impl - { - template struct apply : boost::mpl::false_ {}; - }; - - template<> struct category_of_impl - { - typedef random_access_traversal_tag type; - }; - - //============================================================================ - // Size of expression is given by its Dimensions - //============================================================================ - template<> struct size_impl - { - template - struct apply - : boost::mpl::size_t < boost::dispatch::meta::call - ::type::static_numel - > - {}; - }; - - //============================================================================ - // at_c value of expression is given by its operator() - //============================================================================ - template<> struct at_impl - { - template - struct apply - { - typedef typename boost::mpl::if_< is_const - , typename Sequence::const_reference - , typename Sequence::reference - >::type type; - - static type call(Sequence& seq) { return seq(Index::value+1); } - }; - }; - - //========================================================================== - // begin returns the inner data_type begin as it is itself a Fusion Sequence - //========================================================================== - template<> struct begin_impl - { - template struct apply - { - typedef boost::simd::at_iterator type; - static type call(Sequence& seq) { return type(seq); } - }; - }; - - //========================================================================== - // end returns the inner data_type end as it is itself a Fusion Sequence - //========================================================================== - template<> struct end_impl - { - template - struct apply - { - typedef boost::simd::at_iterator type; - static type call(Sequence& seq) { return type(seq); } - }; - }; -} } } - -#endif diff --git a/inst/include/nt2/core/container/dsl/generative.hpp b/inst/include/nt2/core/container/dsl/generative.hpp deleted file mode 100644 index 1ed78a6..0000000 --- a/inst/include/nt2/core/container/dsl/generative.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_GENERATIVE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_GENERATIVE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - //============================================================================ - // This is the factorized value_type for all generative function. - // For any given generative function tag GEN, the specialization of their - // value_type is : - // - // namespace nt2 { namespace ext - // { - // template - // struct value_type : meta::generative_value - // {}; - // } } - // - //============================================================================ - template struct generative_value - { - typedef typename boost::proto::result_of::child_c::type c_t; - typedef typename boost::proto::result_of::value::value_type::type type; - }; - - //============================================================================ - // This is the factorized size_of for all generative function. - // For any given generative function tag GEN, the specialization of their - // size_of is simply : - // - // namespace nt2 { namespace ext - // { - // template - // struct size_of : meta::generative_size - // {}; - // } } - // - //============================================================================ - template struct generative_size : meta::boxed_size {}; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/generator.hpp b/inst/include/nt2/core/container/dsl/generator.hpp deleted file mode 100644 index 3053f51..0000000 --- a/inst/include/nt2/core/container/dsl/generator.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_GENERATOR_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_GENERATOR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace container -{ - //========================================================================== - /*! - * proto::transform performing the computation of the type and generation - * of a nt2::container::expression - **/ - //========================================================================== - template - struct generator_transform - : details::trait_transform< details::generator, Domain > - { - typedef void proto_use_basic_expr_; - }; -} } - -#endif - diff --git a/inst/include/nt2/core/container/dsl/grammar.hpp b/inst/include/nt2/core/container/dsl/grammar.hpp deleted file mode 100644 index b3562c5..0000000 --- a/inst/include/nt2/core/container/dsl/grammar.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_GRAMMAR_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_GRAMMAR_HPP_INCLUDED - -#include - -namespace nt2 { namespace container -{ - /// INTERNAL ONLY - /// NT2 grammar is matching nothing as we use an external, non grammar - /// based system of expression validation based on incremental type resolution - /// This allows us to control how combo of nodes are constructed and make - /// proto usage restricted to its generic tree structure and transforms. - typedef boost::proto::not_ grammar; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/kind_of.hpp b/inst/include/nt2/core/container/dsl/kind_of.hpp deleted file mode 100644 index f06d19a..0000000 --- a/inst/include/nt2/core/container/dsl/kind_of.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_KIND_OF_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_KIND_OF_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag { struct table_; } - - namespace ext - { - template - struct kind_of - { - typedef tag::table_ type; - }; - } - - namespace meta - { - template - struct kind_of - : ext::kind_of< typename boost::dispatch::meta:: - hierarchy_of < typename boost::proto - ::tag_of::type - >::type - , typename boost::proto::domain_of::type - , boost::proto::arity_of::value - , Expr - > - {}; - - template - struct kind_of : kind_of {}; - - template - struct kind_of : kind_of {}; - } -} - -#include - -#endif diff --git a/inst/include/nt2/core/container/dsl/reduction.hpp b/inst/include/nt2/core/container/dsl/reduction.hpp deleted file mode 100644 index f18648e..0000000 --- a/inst/include/nt2/core/container/dsl/reduction.hpp +++ /dev/null @@ -1,130 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_REDUCTION_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_REDUCTION_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace details - { - /// INTERNAL ONLY - Helper that computes the proper type of of_size_ - template struct of_size_reduce; - - #define M0(z, n, t) \ - template \ - struct of_size_reduce< of_size_< BOOST_PP_ENUM_PARAMS(n, D) > > \ - { \ - typedef of_size_<1 BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) \ - BOOST_PP_ENUM_SHIFTED_PARAMS(n, D) \ - > type; \ - }; \ - /**/ - - BOOST_PP_REPEAT(BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - - #undef M0 - } - - namespace meta - { - //========================================================================== - // This is the factorized size_of for all reduction function. - // For any given reduction function tag RED, the registration of their - // size_of is simply : - // - // namespace nt2 { namespace ext - // { - // template - // struct size_of : meta::reduction_size - // {}; - // } } - // - //========================================================================== - template struct reduction_size; - - /// INTERNAL ONLY - Handle reduction(x,n) case - template struct reduction_size - { - typedef typename boost::proto::result_of - ::child_c::value_type child_t; - typedef typename child_t::extent_type ext_t; - typedef typename nt2::make_size::type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type res = boost::proto::child_c<0>(e).extent(); - std::size_t red = boost::proto::value(boost::proto::child_c<1>(e)) - 1; - - // If we reduce over the number of dimensions, do nothing - if(red < res.size()) res[red] = 1; - - return res; - } - }; - - /// INTERNAL ONLY - Handle reduction(x) case - template struct reduction_size - { - typedef typename boost::proto::result_of - ::child_c::value_type child_t; - typedef typename child_t::extent_type ext_t; - typedef typename details::of_size_reduce::type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - ext_t sz = boost::proto::child_c<0>(e).extent(); - std::size_t d = nt2::firstnonsingleton(sz); - - result_type res; - for(std::size_t i=0; i!=std::min(d, res.size()); ++i) - res[i] = 1; - for(std::size_t i=d; i - // struct value_type : reduction_value - // {}; - // } } - // - //========================================================================== - template struct reduction_value - { - typedef typename boost::proto::result_of - ::child_c::value_type expr_t; - typedef typename expr_t::const_reference base_t; - typedef typename meta::call::type type; - }; - } -} - -#endif diff --git a/inst/include/nt2/core/container/dsl/reshaping.hpp b/inst/include/nt2/core/container/dsl/reshaping.hpp deleted file mode 100644 index 074e908..0000000 --- a/inst/include/nt2/core/container/dsl/reshaping.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_RESHAPING_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_RESHAPING_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - //============================================================================ - // This is the factorized size_of for all reshaping function. - // For any given reshaping function tag RSH, the registration of their - // size_of is simply : - // - // namespace nt2 { namespace ext - // { - // template - // struct size_of : meta::reshaping_size_of - // {}; - // } } - // - //============================================================================ - template - struct reshaping_value - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/core/container/dsl/size.hpp b/inst/include/nt2/core/container/dsl/size.hpp deleted file mode 100644 index fbd3d78..0000000 --- a/inst/include/nt2/core/container/dsl/size.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_SIZE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_SIZE_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - //========================================================================== - /*! - * This extension point computes the size of an expression before storing it - * in nt2::container::expression. - * - * \tparam Tag Top most tag of the expression - * \tparam Domain Domain of the expression - * \tparam Arity Number of children of the expression - * \tparam Expr The expression itself - * - * \return a fusion sequence containing the logical size of the expression - * - **/ - //========================================================================== - template struct size_of; -} } - -namespace nt2 { namespace container -{ - template - struct size_transform : details::trait_transform< ext::size_of, Domain > - {}; -} } - -#include - -#endif - diff --git a/inst/include/nt2/core/container/dsl/value_type.hpp b/inst/include/nt2/core/container/dsl/value_type.hpp deleted file mode 100644 index db212a7..0000000 --- a/inst/include/nt2/core/container/dsl/value_type.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_DSL_VALUE_TYPE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_DSL_VALUE_TYPE_HPP_INCLUDED - -namespace nt2 { namespace details -{ - //========================================================================== - // Basic generator for the usual, non-overloaded case. - //========================================================================== - template struct value_type; -} } - -namespace nt2 { namespace ext -{ - //========================================================================== - /*! - * This extension point specify the type an expression actually models. - * If most expressions model a reference to the equivalent container of their - * domain, some may require to some other type with proper cref qualifier. - * This meta-function enables a fine grain specification of this scheme. - * - * \tparam Tag Top most tag of the expression - * \tparam Domain Domain of the expression - * \tparam Arity Number of children of the expression - * \tparam Expr The expression itself - * - * \return the type modeled by the nt2::container::expression - * - **/ - //========================================================================== - template - struct value_type : details::value_type {}; -} } - -#include - -#endif diff --git a/inst/include/nt2/core/container/extremum/category.hpp b/inst/include/nt2/core/container/extremum/category.hpp deleted file mode 100644 index fb4eeab..0000000 --- a/inst/include/nt2/core/container/extremum/category.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_EXTREMUM_CATEGORY_HPP_INCLUDED -#define NT2_CORE_CONTAINER_EXTREMUM_CATEGORY_HPP_INCLUDED - -#include - -namespace nt2 { namespace container -{ - template struct extremum; -} } - -namespace boost { namespace dispatch { namespace meta -{ - //========================================================================== - // extremum_ hierarchy is extremum_ -> unspecified_ - //========================================================================== - template struct extremum_ : unspecified_ - { - typedef unspecified_ parent; - }; - - //========================================================================== - // begin_/end_ hierarchy is extremum_ - //========================================================================== - template - struct hierarchy_of,Origin> - { - typedef extremum_ type; - }; -} } } - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::extremum_; -} } - -#endif diff --git a/inst/include/nt2/core/container/extremum/extremum.hpp b/inst/include/nt2/core/container/extremum/extremum.hpp deleted file mode 100644 index ee2d732..0000000 --- a/inst/include/nt2/core/container/extremum/extremum.hpp +++ /dev/null @@ -1,140 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_EXTREMUM_EXTREMUM_HPP_INCLUDED -#define NT2_CORE_CONTAINER_EXTREMUM_EXTREMUM_HPP_INCLUDED - -#include - -namespace nt2 { namespace container -{ - //========================================================================== - // extremum is an helper class that handles end_ and begin_ behavior - //========================================================================== - template struct extremum - { - std::ptrdiff_t offset_; - - template - BOOST_FORCEINLINE std::ptrdiff_t index(B const& b, Sz const& s) const - { - return index(b,s,boost::mpl::bool_()); - } - - private: - BOOST_FORCEINLINE std::ptrdiff_t - index(std::ptrdiff_t const& b, std::ptrdiff_t const& s, boost::mpl::true_) const - { - BOOST_ASSERT_MSG( (offset_ <= 0) - , "end_ is used with a non negative offset" - ); - return s + b - 1 + offset_; - } - - BOOST_FORCEINLINE std::ptrdiff_t - index(std::ptrdiff_t const& b, std::ptrdiff_t const&, boost::mpl::false_) const - { - BOOST_ASSERT_MSG( (offset_ >= 0) - , "begin_ is used with a non positive offset" - ); - return b + offset_; - } - }; - - template - BOOST_FORCEINLINE extremum operator-(extremum const& e, T o) - { - extremum that = { e.offset_ - (std::ptrdiff_t)o }; - return that; - } - - template - BOOST_FORCEINLINE extremum operator+(extremum const& e, T o) - { - extremum that = { e.offset_ + (std::ptrdiff_t)o }; - return that; - } - - template - BOOST_FORCEINLINE extremum operator+(T o, extremum const& e) - { - extremum that = { e.offset_ + (std::ptrdiff_t)o }; - return that; - } -} } - -namespace nt2 { namespace meta -{ - template - struct is_extremum - : boost::mpl::false_ - {}; - - template - struct is_extremum< container::extremum > - : boost::mpl::true_ - {}; -} } - -namespace nt2 -{ - //============================================================================ - /*! - * end_ acts as the latest index of a container along a given dimension in - * array indexing - **/ - //============================================================================ - container::extremum const end_ = {0}; - - //============================================================================ - /*! - * begin_ acts as the first index of a container along a given dimension in - * array indexing - **/ - //============================================================================ - container::extremum const begin_ = {0}; - - //============================================================================ - // fix_index one extremum - //============================================================================ - namespace result_of - { - template< bool B, class Base, class Size - , std::size_t I, std::size_t N - > - struct fix_index,Base,Size,I,N> - { - typedef std::ptrdiff_t type; - - static BOOST_FORCEINLINE type - call(container::extremum const& i , Base const&, Size const& s) - { - return i.index( boost::mpl::at_c::type::value - , s[I-1] - ); - } - }; - - template< bool B, class Base, class Size, std::size_t N> - struct fix_index,Base,Size,N,N> - { - typedef std::ptrdiff_t type; - typedef typename make_size::type size_type; - - static BOOST_FORCEINLINE type - call(container::extremum const& i , Base const&, Size const& s) - { - return i.index( boost::mpl::at_c::type::value - , size_type(s)[N-1] - ); - } - }; - } -} - -#endif diff --git a/inst/include/nt2/core/container/io.hpp b/inst/include/nt2/core/container/io.hpp deleted file mode 100644 index e7b9ecf..0000000 --- a/inst/include/nt2/core/container/io.hpp +++ /dev/null @@ -1,182 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_IO_HPP_INCLUDED -#define NT2_CORE_CONTAINER_IO_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace details - { - template inline - void print_ellipsis(std::ostream& os, Pos const& p, boost::mpl::true_ const&) - { - // add the potential (:,:,...) indicator - os << "(:,:"; - for(std::size_t i=2;i inline - void print_ellipsis(std::ostream&, Pos const&, boost::mpl::false_ const&) - { - - } - - /// INTERNAL ONLY - /// Display a 2D page from an expression - template inline - void print_expr ( std::ostream& os - , const char* name , Xpr const& xpr - , Pos& p , boost::mpl::int_<2> const& - ) - { - typedef typename Xpr::index_type::index_type index_type; - - // Base index for making the linear index properly C based - const std::ptrdiff_t b = boost::mpl::at_c::type::value; - - // Display the name - if(name) - { - os << name; - print_ellipsis(os,p, boost::mpl::bool_<(Pos::static_size > 2)>() ); - os << " = \n\n"; - } - - // Display the current 2D page - for ( p[0] = nt2::first_index<1>(xpr); - p[0] <= nt2::last_index<1>(xpr); - ++p[0] - ) - { - if(name) - os << " "; - - for ( p[1] = nt2::first_index<2>(xpr); - p[1] <= nt2::last_index<2>(xpr); - ++p[1] - ) - { - Pos q; - for(int i=0;i inline - void print_expr ( std::ostream& os - , const char* name , Xpr const& xpr - , Pos& p , boost::mpl::int_ const& - ) - { - // Walk through the current dimension - for ( p[N-1] = nt2::first_index(xpr); - p[N-1] < nt2::last_index(xpr); - ++p[N-1] - ) - { - print_expr(os,name,xpr,p,boost::mpl::int_()); - os << "\n"; - } - - // Extract last iteration to not end up with a huge pile of \n at the end - p[N-1] = nt2::last_index(xpr); - print_expr(os,name,xpr,p,boost::mpl::int_()); - } - - // INTERNAL ONLY - // Perform the needed checks for expression stream insertion - template inline - void disp ( const char* name, std::ostream& os - , nt2::container::expression const& xpr - ) - { - if(!nt2::isempty(xpr)) - { - // We schedule xpr to be sure everything is evaluated if needed. - typedef nt2::container::expression expr_t; - typedef meta::as_elementwise sched; - - typename sched::type s = sched::call(xpr); - - // We print expression based on their runtime ndims so the various - // ans(:,:,...) are not tainted by useless 1's - switch(nt2::ndims(s)) - { - case 1: - - #define M0(z,n,t) \ - case n: \ - { \ - boost::array p##n; \ - print_expr(os,name,s,p##n,boost::mpl::int_()); \ - break; \ - } \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - -#undef M0 - default: break; - } - } - else - { - // Display the lonely empty matrix - if(name) os << name << " = \n "; - - // "[]" is used for 0x0 or 0x1 table - if( (nt2::ndims(xpr) < 3) && ( !nt2::size(xpr,2) ) ) - { - os << "[]\n"; - } - else - { - os << " Empty array: " << nt2::size(xpr,1); - for(std::size_t i=2;i<=nt2::ndims(xpr);++i) - os << "-by-" << nt2::size(xpr,i); - os << "\n"; - } - } - } - } - - //============================================================================ - // Stream insertion operator for nt2 expressions - // By design, this is equivalent to disp(xpr) - //============================================================================ - template std::ostream& - operator<<(std::ostream& os, nt2::container::expression const& xpr) - { - details::disp(0, os, xpr); - return os; - } -} - -#endif diff --git a/inst/include/nt2/core/container/io/serialization.hpp b/inst/include/nt2/core/container/io/serialization.hpp deleted file mode 100644 index 47c1a6f..0000000 --- a/inst/include/nt2/core/container/io/serialization.hpp +++ /dev/null @@ -1,207 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_IO_SERIALIZATION_HPP_INCLUDED -#define NT2_CORE_CONTAINER_IO_SERIALIZATION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace serialization -{ - //========================================================================== - // First entry point of the serialization in table - //========================================================================== - template - void save( Archive & ar, const nt2::container::table& t - , unsigned int const& version - ) - { - typedef typename nt2::container::table::parent expression_type; - ar << boost::serialization::base_object< const expression_type >(t); - } - - template - void load( Archive & ar, nt2::container::table& t - , unsigned int const& version) - { - typedef typename nt2::container::table::parent expression_type; - ar >> boost::serialization::base_object< expression_type >(t); - } - - template - inline void serialize( Archive & ar, nt2::container::table& t - , unsigned int const& file_version) - { - split_free(ar, t, file_version); - } - - //========================================================================== - // Down in expression, serialized its extent member - //========================================================================== - template - void save( Archive& ar, const nt2::container::expression& e - , unsigned int const& version - , typename boost::enable_if< typename boost::mpl::equal_to< - typename boost::proto::arity_of - , boost::mpl::int_<0> > - >::type* dummy = 0 - ) - { - BOOST_MPL_ASSERT_MSG( (boost::proto::arity_of::value == 0) - , NT2_INVALID_ACCESS_TO_RAW_DATA_ON_NON_TERMINAL - , (E) - ); - typedef typename nt2::container::expression::extent_type e_t; - typedef typename nt2::meta::strip::type size_type; - size_type size_ = e.extent(); - ar << size_; - ar << make_array(e.data(), nt2::numel(e)); - } - - template - void load( Archive& ar, nt2::container::expression& e - , unsigned int const& version - , typename boost::enable_if< typename boost::mpl::equal_to< - typename boost::proto::arity_of - , boost::mpl::int_<0> > - >::type* dummy = 0 - ) - { - BOOST_MPL_ASSERT_MSG( (boost::proto::arity_of::value == 0) - , NT2_INVALID_ACCESS_TO_RAW_DATA_ON_NON_TERMINAL - , (E) - ); - typedef typename nt2::container::expression::extent_type e_t; - typedef typename nt2::meta::strip::type size_type; - size_type size_; - ar >> size_; - e.resize(size_); - ar >> make_array(e.data(), nt2::numel(e)); - } - - template - inline void serialize( Archive& ar - , nt2::container::expression& e - , unsigned int const& file_version - ) - { - split_free(ar, e, file_version); - } - - //========================================================================== - // Serialization of proto expression: - //========================================================================== - template - struct saver_ - { - typedef Archive archive_type; - explicit saver_(archive_type& a) : ar(a) {} - template - void operator()(Terminal const& t) const - { ar << t; } - archive_type& ar; - }; - - template - void save( Archive& ar, const nt2::container::expression& e - , unsigned int const& version - , typename boost::enable_if< typename boost::mpl::not_equal_to< - typename boost::proto::arity_of - , boost::mpl::int_<0> > - >::type* dummy = 0 - ) - { - BOOST_MPL_ASSERT_MSG( (boost::proto::arity_of::value != 0) - , NT2_INVALID_ACCESS_TO_EXPRESSION_NODES_ON_NON_EXPRESSION - , (E) - ); - - typedef typename proto::result_of:: - flatten< const nt2::container::expression >::type sequence_type; - saver_ save_terminals_(ar); - sequence_type terminals = boost::proto::flatten(e); - boost::fusion::for_each(terminals,save_terminals_); - } - - template - struct loader_ - { - typedef Archive archive_type; - explicit loader_(archive_type& a) : ar(a) {} - template - void operator()(Terminal& t) const - { ar >> t; } - archive_type& ar; - }; - - template - void load( Archive& ar, nt2::container::expression& e - , unsigned int const& version - , typename boost::enable_if< typename boost::mpl::not_equal_to< - typename boost::proto::arity_of - , boost::mpl::int_<0> > - >::type* dummy = 0 - ) - { - BOOST_MPL_ASSERT_MSG( (boost::proto::arity_of::value != 0) - , NT2_INVALID_ACCESS_TO_EXPRESSION_NODES_ON_NON_EXPRESSION - , (E) - ); - - typedef typename proto::result_of:: - flatten< nt2::container::expression& >::type sequence_type; - sequence_type terminals = boost::proto::flatten(e); - loader_ load_terminals_(ar); - boost::fusion::for_each(terminals,load_terminals_); - } - - //========================================================================== - // Down in extent, serialization of struct of_size_ - //========================================================================== - template - void save( Archive& ar - , const nt2::of_size_< BOOST_PP_ENUM_PARAMS(NT2_MAX_DIMENSIONS, D) >& of - , unsigned int const& version) - { - ar << of.data_; - } - - template - void load( Archive& ar - , nt2::of_size_< BOOST_PP_ENUM_PARAMS(NT2_MAX_DIMENSIONS, D) >& of - , unsigned int const& version) - { - ar >> of.data_; - } - - template - inline void serialize( Archive& ar - , nt2::of_size_< BOOST_PP_ENUM_PARAMS(NT2_MAX_DIMENSIONS, D) >& of - , unsigned int const& file_version) - { - split_free(ar, of, file_version); - } -} } - -#endif diff --git a/inst/include/nt2/core/container/operators.hpp b/inst/include/nt2/core/container/operators.hpp deleted file mode 100644 index ea0a7b5..0000000 --- a/inst/include/nt2/core/container/operators.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_OPERATORS_HPP_INCLUDED -#define NT2_CORE_CONTAINER_OPERATORS_HPP_INCLUDED - -#include - -namespace nt2 { namespace container -{ - // unary operators - using boost::simd::operator~; - using boost::simd::operator!; - using boost::simd::operator++; - using boost::simd::operator--; - - // binary operators - using boost::simd::operator&; - using boost::simd::operator&=; - using boost::simd::operator|; - using boost::simd::operator|=; - using boost::simd::operator^; - using boost::simd::operator^=; - using boost::simd::operator+; - using boost::simd::operator+=; - using boost::simd::operator-; - using boost::simd::operator-=; - using boost::simd::operator*; - using boost::simd::operator*=; - using boost::simd::operator/; - using boost::simd::operator/=; - using boost::simd::operator%; - using boost::simd::operator%=; - using boost::simd::operator<<; - using boost::simd::operator<<=; - using boost::simd::operator>>; - using boost::simd::operator>>=; - - using boost::simd::operator&&; - using boost::simd::operator||; - - // comparison operators - using boost::simd::operator==; - using boost::simd::operator!=; - using boost::simd::operator<; - using boost::simd::operator>; - using boost::simd::operator<=; - using boost::simd::operator>=; -} } - -#endif diff --git a/inst/include/nt2/core/container/table/adapted/table.hpp b/inst/include/nt2/core/container/table/adapted/table.hpp deleted file mode 100644 index 1aef92c..0000000 --- a/inst/include/nt2/core/container/table/adapted/table.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_TABLE_ADAPTED_TABLE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_TABLE_ADAPTED_TABLE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY : Option of a table use its settings and semantic - template - struct option , Tag> - : option - {}; - - /// INTERNAL ONLY : add_settings to a table - template - struct add_settings< container::table, S2 > - { - typedef container::table::type> type; - }; - - /// INTERNAL ONLY : Extract settings from table - template - struct settings_of< container::table > - { - typedef S type; - }; -} } - -namespace boost { namespace dispatch { namespace meta -{ - /// INTERNAL ONLY : value_of for table - template struct value_of< nt2::container::table > - { - typedef T type; - }; - - template - struct value_of< nt2::container::table& > - { - typedef typename nt2::memory::container::reference type; - }; - - template - struct value_of< nt2::container::table const&> - { - typedef typename nt2::memory::container::const_reference type; - }; - - /// INTERNAL ONLY : model_of for table - template - struct model_of< nt2::container::table > - { - struct type - { - template struct apply - { - typedef nt2::container::table type; - }; - }; - }; - - /// INTERNAL ONLY : semantic_of for table - template - struct semantic_of< nt2::container::table > - { - typedef nt2::memory::container type; - }; -} } } - -#endif diff --git a/inst/include/nt2/core/container/table/kind.hpp b/inst/include/nt2/core/container/table/kind.hpp deleted file mode 100644 index ad88f28..0000000 --- a/inst/include/nt2/core/container/table/kind.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_TABLE_KIND_HPP_INCLUDED -#define NT2_CORE_CONTAINER_TABLE_KIND_HPP_INCLUDED - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag -{ - /*! - @brief Table semantic tag - - table_ tag marking a type as using the table semantic and defines - table default settings - **/ - struct table_ : nt2::container::domain - { - /// INTERNAL ONLY Table usually use whatever the use specify - template - struct option - { - typedef Settings type; - }; - - /// INTERNAL ONLY Table default option - template - struct default_ - { - typedef typename Option::default_type type; - }; - - /// INTERNAL ONLY How to build a terminal from this semantic - template - struct terminal_of - { - typedef nt2::container::table type; - }; - }; - - /// INTERNAL ONLY Table default option for size - template<> - struct table_::default_ - { - typedef _4D type; - }; - - /// INTERNAL ONLY Table default option for allocator - template<> - struct table_::default_ - { - typedef boost::simd::allocator type; - }; -} } - -#endif diff --git a/inst/include/nt2/core/container/table/table.hpp b/inst/include/nt2/core/container/table/table.hpp deleted file mode 100644 index e1e1919..0000000 --- a/inst/include/nt2/core/container/table/table.hpp +++ /dev/null @@ -1,152 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_TABLE_TABLE_HPP_INCLUDED -#define NT2_CORE_CONTAINER_TABLE_TABLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Disable the 'class : multiple assignment operators specified' warning -#if defined(BOOST_MSVC) -#pragma warning( push ) -#pragma warning( disable : 4522 ) // multiple assignment operators specified -#endif - -namespace nt2 { namespace container -{ - template - struct table - : expression< boost::proto::basic_expr< nt2::tag::terminal_ - , boost::proto::term - < nt2::memory - ::container< nt2::tag::table_ - , T,S> - > - > - , nt2::memory::container - > - { - typedef nt2::memory::container container_type; - typedef expression< boost::proto::basic_expr< nt2::tag::terminal_ - , boost::proto::term - > - , container_type - > nt2_expression; - - typedef typename container_type::pointer pointer; - typedef typename container_type::const_pointer const_pointer; - typedef typename container_type::iterator iterator; - typedef typename container_type::const_iterator const_iterator; - typedef typename container_type::allocator_type allocator_type; - - //========================================================================== - // table default constructor - //========================================================================== - table() {} - - //========================================================================== - // table constructor from its allocator - //========================================================================== - table( allocator_type const& a ) : nt2_expression(container_type(a)) {} - - //========================================================================== - // table copy constructor - //========================================================================== - table( table const& a0 ) : nt2_expression(a0) - { - } - - //========================================================================== - // table constructor from a single initializer. - // This version handles initializing from of_size or expression. - //========================================================================== - - template - table( A0 const& a0) - { - nt2::construct(*this,a0); - } - - //========================================================================== - // table constructor from a pair of initializer. - //========================================================================== - template - table( A0 const& a0, A1 const& a1 ) - { - nt2::construct(*this,a0,a1); - } - - //========================================================================== - // table constructor from a triplet of initializer. - // This version handles initializing from : { size, Iterator, Iterator } - //========================================================================== - template - table( A0 const& a0, A1 const& a1, A2 const& a2 ) - { - nt2::construct(*this,a0,a1,a2); - } - - //========================================================================== - // Enable base expression handling of assignment - //========================================================================== - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , table& - >::type - operator=(Xpr const& xpr) - { - using check = boost::mpl::bool_ - < meta::is_device_assign::value - && meta::is_container_and_terminal::value - >; - - return eval(xpr,check{}); - } - - template BOOST_FORCEINLINE - table& eval(Xpr const& xpr, boost::mpl::true_ const&) - { - boost::proto::value(*this).assign(boost::proto::value(xpr)); - return *this; - } - - template BOOST_FORCEINLINE - table& eval(Xpr const& xpr, boost::mpl::false_ const&) - { - nt2_expression::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE table& operator=(table const& xpr) - { - nt2_expression::operator=(xpr); - return *this; - } - - iterator begin() { return boost::proto::value(*this).begin(); } - const_iterator begin() const { return boost::proto::value(*this).begin(); } - - iterator end() { return boost::proto::value(*this).end(); } - const_iterator end() const { return boost::proto::value(*this).end(); } - }; -} } - -#if defined(BOOST_MSVC) -#pragma warning( pop ) -#endif - -#endif diff --git a/inst/include/nt2/core/container/view/adapted/shared_view.hpp b/inst/include/nt2/core/container/view/adapted/shared_view.hpp deleted file mode 100644 index 6b3ddbb..0000000 --- a/inst/include/nt2/core/container/view/adapted/shared_view.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_VIEW_ADAPTED_SHARED_VIEW_HPP_INCLUDED -#define NT2_CORE_CONTAINER_VIEW_ADAPTED_SHARED_VIEW_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - struct table_; -} } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY : Option of a shared_view use its settings and semantic - template - struct option , Tag> - : option - {}; - - /// INTERNAL ONLY : add_settinfs to a shared_view - template - struct add_settings< container::shared_view, S2 > - { - typedef typename add_settings::type sets_t; - typedef container::shared_view type; - }; - - /// INTERNAL ONLY : Extract settings from shared_view - template - struct settings_of< container::shared_view > - { - typedef S type; - }; -} } - -namespace boost { namespace dispatch { namespace meta -{ - /// INTERNAL ONLY : value_of for shared_view - template - struct value_of< nt2::container::shared_view > - { - typedef T type; - }; - - /// INTERNAL ONLY : model_of for shared_view - template - struct model_of< nt2::container::shared_view > - { - struct type - { - template struct apply - { - typedef nt2::container::shared_view type; - }; - }; - }; - - /// INTERNAL ONLY : semantic_of for shared_view - template - struct semantic_of< nt2::container::shared_view > - { - typedef typename nt2::container::shared_view::container_type type; - }; -} } } - -#endif diff --git a/inst/include/nt2/core/container/view/adapted/view.hpp b/inst/include/nt2/core/container/view/adapted/view.hpp deleted file mode 100644 index 66da1f9..0000000 --- a/inst/include/nt2/core/container/view/adapted/view.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_VIEW_ADAPTED_VIEW_HPP_INCLUDED -#define NT2_CORE_CONTAINER_VIEW_ADAPTED_VIEW_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - struct table_; -} } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY : Option of a view use its settings and semantic - template - struct option , Tag> - : option - {}; - - /// INTERNAL ONLY : add_settinfs to a view - template - struct add_settings< container::view, S2 > - { - typedef container::view::type> type; - }; - - /// INTERNAL ONLY : Extract settings from view - template - struct settings_of< container::view > - { - typedef S type; - }; -} } - -namespace boost { namespace dispatch { namespace meta -{ - /// INTERNAL ONLY : value_of for view - template - struct value_of< nt2::container::view > - { - typedef T type; - }; - - /// INTERNAL ONLY : model_of for view - template - struct model_of< nt2::container::view > - { - struct type - { - template struct apply - { - typedef nt2::container::view type; - }; - }; - }; - - /// INTERNAL ONLY : semantic_of for view - template - struct semantic_of< nt2::container::view > - { - typedef typename nt2::container::view::container_type type; - }; -} } } - -#endif diff --git a/inst/include/nt2/core/container/view/shared_view.hpp b/inst/include/nt2/core/container/view/shared_view.hpp deleted file mode 100644 index 3b2f416..0000000 --- a/inst/include/nt2/core/container/view/shared_view.hpp +++ /dev/null @@ -1,210 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_VIEW_SHARED_VIEW_HPP_INCLUDED -#define NT2_CORE_CONTAINER_VIEW_SHARED_VIEW_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace container -{ - template struct expression; - - /* shared_view; an expression of a container_shared_ref terminal. - * allows construction from an expression of a container_shared_ref terminal */ - template - struct shared_view - : expression< boost::proto - ::basic_expr< nt2::tag::terminal_ - , boost::proto::term< memory - ::container_shared_ref - > - , 0l - > - , memory::container& - > - { - typedef memory::container_shared_ref< Kind, T, S, false > container_ref; - typedef boost::proto::basic_expr< nt2::tag::terminal_ - , boost::proto::term - , 0l - > basic_expr; - typedef memory::container& container_type; - typedef expression nt2_expression; - - typedef typename container_ref::iterator iterator; - typedef typename container_ref::const_iterator const_iterator; - - iterator begin() const { return boost::proto::value(*this).begin(); } - iterator end() const { return boost::proto::value(*this).end(); } - - BOOST_FORCEINLINE - shared_view() - { - } - - BOOST_FORCEINLINE - shared_view( nt2_expression const& expr ) - : nt2_expression(expr) - { - } - - template - BOOST_FORCEINLINE - shared_view( Xpr const& expr ) - : nt2_expression(basic_expr::make(boost::proto::value(expr))) - { - } - - template - void reset(Xpr const& other) - { - shared_view tmp(other); - boost::proto::value(*this) = boost::proto::value(tmp); - this->size_ = tmp.size_; - } - - - //========================================================================== - // Enable base expression handling of assignment - //========================================================================== - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , shared_view& - >::type - operator=(Xpr const& xpr) - { - nt2_expression::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE - shared_view& operator=(shared_view const& xpr) - { - nt2_expression::operator=(xpr); - return *this; - } - - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , shared_view const& - >::type - operator=(Xpr const& xpr) const - { - nt2_expression::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE - shared_view const& operator=(shared_view const& xpr) const - { - nt2_expression::operator=(xpr); - return *this; - } - }; - - template - struct shared_view - : expression < boost::proto::basic_expr - < nt2::tag::terminal_ - , boost::proto::term - - > - , 0l - > - , memory::container const& - > - { - typedef memory::container_shared_ref container_ref; - typedef boost::proto::basic_expr< nt2::tag::terminal_ - , boost::proto::term - , 0l - > basic_expr; - typedef memory::container const& container_type; - typedef expression nt2_expression; - - typedef typename container_ref::iterator iterator; - typedef typename container_ref::const_iterator const_iterator; - - iterator begin() const { return boost::proto::value(*this).begin(); } - iterator end() const { return boost::proto::value(*this).end(); } - - BOOST_FORCEINLINE - shared_view() - { - } - - BOOST_FORCEINLINE - shared_view( nt2_expression const& expr ) - : nt2_expression(expr) - { - } - - template - shared_view( Xpr const& expr ) - : nt2_expression(basic_expr::make(boost::proto::value(expr))) - { - } - - template - BOOST_FORCEINLINE - void reset(Xpr const& other) - { - shared_view tmp(other); - boost::proto::value(*this) = boost::proto::value(tmp); - this->size_ = tmp.size_; - } - - //========================================================================== - // Enable base expression handling of assignment - //========================================================================== - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , shared_view& - >::type - operator=(Xpr const& xpr) - { - nt2_expression::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE - shared_view& operator=(shared_view const& xpr) - { - nt2_expression::operator=(xpr); - return *this; - } - - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , shared_view const& - >::type - operator=(Xpr const& xpr) const - { - nt2_expression::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE - shared_view const& operator=(shared_view const& xpr) const - { - nt2_expression::operator=(xpr); - return *this; - } - }; -} } - -namespace nt2 -{ - using nt2::container::shared_view; -} - -#endif diff --git a/inst/include/nt2/core/container/view/view.hpp b/inst/include/nt2/core/container/view/view.hpp deleted file mode 100644 index bbb1d47..0000000 --- a/inst/include/nt2/core/container/view/view.hpp +++ /dev/null @@ -1,225 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_CONTAINER_VIEW_VIEW_HPP_INCLUDED -#define NT2_CORE_CONTAINER_VIEW_VIEW_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#if defined(BOOST_MSVC) -#pragma warning( push ) -#pragma warning( disable : 4522 ) // multiple assignment operators specified -#endif - -namespace nt2 { namespace tag -{ - struct table_; -} } - -namespace nt2 { namespace container -{ - template struct expression; - - /* view; an expression of a container_ref terminal. - * allows construction from an expression of a container terminal */ - template - struct view - : expression< boost::proto::basic_expr < nt2::tag::terminal_ - , boost::proto::term - < memory::container_ref < Kind - , T - , S - > - > - , 0l - > - , memory::container& - > - { - typedef memory::container_ref container_ref; - typedef boost::proto::basic_expr< nt2::tag::terminal_ - , boost::proto::term - , 0l - > basic_expr; - typedef memory::container& container_type; - typedef expression nt2_expression; - - typedef typename container_ref::iterator iterator; - typedef typename container_ref::const_iterator const_iterator; - - iterator begin() const { return boost::proto::value(*this).begin(); } - iterator end() const { return boost::proto::value(*this).end(); } - - BOOST_FORCEINLINE - view() - { - } - - BOOST_FORCEINLINE - view( nt2_expression const& expr ) - : nt2_expression(expr) - { - } - - template - BOOST_FORCEINLINE - view( Xpr& expr ) - : nt2_expression(basic_expr::make(boost::proto::value(expr))) - { - } - - template - BOOST_FORCEINLINE - view( Xpr const& expr ) - : nt2_expression(basic_expr::make(boost::proto::value(expr))) - { - } - - template - void reset(Xpr& other) - { - view tmp(other); - boost::proto::value(*this) = boost::proto::value(tmp); - this->size_ = tmp.size_; - } - - //========================================================================== - // Enable base expression handling of assignment - //========================================================================== - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , view& - >::type - operator=(Xpr const& xpr) - { - nt2_expression::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE view& operator=(view const& xpr) - { - nt2_expression::operator=(xpr); - return *this; - } - - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , view const& - >::type - operator=(Xpr const& xpr) const - { - nt2_expression::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE view const& operator=(view const& xpr) const - { - nt2_expression::operator=(xpr); - return *this; - } - }; - - template - struct view - : expression< boost::proto - ::basic_expr< nt2::tag::terminal_ - , boost::proto::term - < memory::container_ref > - , 0l - > - , memory::container const& - > - { - typedef memory::container_ref container_ref; - typedef boost::proto::basic_expr< nt2::tag::terminal_ - , boost::proto::term< memory::container_ref < Kind - , T const - , S - > - > - , 0l - > basic_expr; - typedef memory::container const& container_type; - typedef expression nt2_expression; - - typedef typename container_ref::iterator iterator; - typedef typename container_ref::const_iterator const_iterator; - - iterator begin() const { return boost::proto::value(*this).begin(); } - iterator end() const { return boost::proto::value(*this).end(); } - - BOOST_FORCEINLINE - view() - { - } - - BOOST_FORCEINLINE - view( nt2_expression const& expr ) - : nt2_expression(expr) - { - } - - template - BOOST_FORCEINLINE - view( Xpr const& expr ) - : nt2_expression(basic_expr::make(boost::proto::value(expr))) - { - } - - template - void reset(Xpr const& other) - { - view tmp(other); - boost::proto::value(*this) = boost::proto::value(tmp); - this->size_ = tmp.size_; - } - - //========================================================================== - // Enable base expression handling of assignment - //========================================================================== - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , view& - >::type - operator=(Xpr const& xpr) - { - nt2_expression::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE view& operator=(view const& xpr) - { - nt2_expression::operator=(xpr); - return *this; - } - - template BOOST_FORCEINLINE - typename boost::disable_if< boost::is_base_of - , view const& - >::type - operator=(Xpr const& xpr) const - { - nt2_expression::operator=(xpr); - return *this; - } - - BOOST_FORCEINLINE view const& operator=(view const& xpr) const - { - nt2_expression::operator=(xpr); - return *this; - } - }; -} } - -namespace nt2 { using nt2::container::view; } - -#endif diff --git a/inst/include/nt2/core/functions.hpp b/inst/include/nt2/core/functions.hpp deleted file mode 100644 index 644f816..0000000 --- a/inst/include/nt2/core/functions.hpp +++ /dev/null @@ -1,280 +0,0 @@ -#ifndef NT2_CORE_FUNCTIONS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/functions/adjfun.hpp b/inst/include/nt2/core/functions/adjfun.hpp deleted file mode 100644 index 5f48672..0000000 --- a/inst/include/nt2/core/functions/adjfun.hpp +++ /dev/null @@ -1,179 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ADJFUN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ADJFUN_HPP_INCLUDED -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for adjfun functor - **/ - struct adjfun_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_adjfun_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_adjfun_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_adjfun_; - } - - /*! - @brief Apply a function to adjacent element of a table - - adjfun computes the application of a binary functor @c f to all elements of - @c a0. - - @par Semantic: - - For any given table expression @c a of size @c [d1,...,dn] which - first non singleton dimension is @c k and any binary functor @c f: - - @code - x = adjfun(f,a); - @endcode - - is equivalent to: - - @code - for(int in=1;in<=size(x,n);++in) - ... - for(int ik=1;ik<=size(x,k)-1;++ik) - ... - for(int i1=1;in<=size(x,1);++i1) - x(i1,...,ik,...,in) = f(a(i1,...,ik+1,...,in),a(i1,...,ik,...,in)); - @endcode - - This semantic implies that if @c a is of size @c [s1 ... sn] then the size - of @c adjfun(f,a) is equal to @c [s1 ... sk -1 ... sn]. - - @param f Binary functor to apply to a - @param a Table expression to process - - @par Example: - **/ - template BOOST_FORCEINLINE - typename meta::call::type - adjfun(Functor const& f, A0 const& a) - { - return typename make_functor::type()(f,a); - } - - /*! - @brief Apply a function to adjacent element of a table along some dimension - - adjfun computes the application of a binary functor @c f to all elements of - @c a0. - - @par Semantic: - - For any given table @c a of size @c [d1,d2,...,dn], any binary - functor @c f and a dimension index @c k: - - @code - x = adjfun(f,a,k); - @endcode - - is equivalent to: - - @code - for(int in=1;in<=size(x,n);++in) - ... - for(int ik=1;ik<=size(x,k)-1;++ik) - ... - for(int i1=1;in<=size(x,1);++i1) - x(i1,...,ik,...,in) = f(a(i1,...,ik+1,...,in),a(i1,...,ik,...,in)); - @endcode - - This semantic implies that if @c a is of size @c [s1 ... sn] then the size - of @c adjfun(f,a,k) is equal to @c [s1 ... sk -1 ... sn]. - - @param f Binary functor to apply to a0 - @param a Table to process - @param k Dimension along which to process @c a0 - - @par Example: - - **/ - template BOOST_FORCEINLINE - typename meta::call::type - adjfun(Functor const& f, A0 const& a, Along const& k) - { - return typename make_functor::type()(f,a,k); - } -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of - ::child_c::value_type::extent_type result_type; - - BOOST_FORCEINLINE result_type operator ()(Expr& e) const - { - result_type that = nt2::extent(boost::proto::child_c<0>(e)); - std::size_t along = boost::proto::child_c<1>(e); - - // If non-0 dimension along chosen direction, decrements it - if(along >= result_type::static_size) - { - fix_size(that, boost::mpl::bool_< !(result_type::static_size <= 0) >()); - } - else - { - if(that[along]) --that[along]; - } - - return that; - } - - BOOST_FORCEINLINE - void fix_size(result_type& that, boost::mpl::true_ const&) const - { - that[result_type::static_size-1] = 0; - } - - BOOST_FORCEINLINE - void fix_size(result_type&, boost::mpl::false_ const&) const {} - }; - - /// INTERNAL ONLY - template - struct value_type - { - typedef typename boost::proto::result_of:: - child_c::value_type::value_type value_t; - typedef typename boost::proto::result_of:: - child_c::value_type::value_type func_t; - typedef typename boost::dispatch::meta:: - result_of::type type; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/aggregate.hpp b/inst/include/nt2/core/functions/aggregate.hpp deleted file mode 100644 index 6d9213b..0000000 --- a/inst/include/nt2/core/functions/aggregate.hpp +++ /dev/null @@ -1,118 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_AGGREGATE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_AGGREGATE_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the aggregate function -**/ - -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for aggregate functor - **/ - struct aggregate_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_aggregate_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_aggregate_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_aggregate_; - } - - #if defined(DOXYGEN_ONLY) - /*! - @brief Agregate values in a single tree - - aggregate turn its parameters in a single blob node usable in a @nt2 - Abstract Syntax Tree. It has few uses in suer code but is required for - some other higher-order function (like the operator() overloads). - - @param args Variadic list of parameters to glob. - - @return A @nt2 expression containing each parameter as a child. - **/ - template - typename boost::dispatch::meta::call::type - aggregate(Args const&... args); - - #else - - #define M0(z,n,t) \ - template BOOST_FORCEINLINE \ - typename boost::dispatch::meta::call::type \ - aggregate(BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a)) \ - { \ - typename boost::dispatch::make_functor::type callee; \ - return callee( BOOST_PP_ENUM_PARAMS(n,a) ); \ - } \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_DISPATCH_MAX_META_ARITY,M0,~) - - #undef M0 - #endif -} - -namespace nt2 { namespace ext -{ - // INTERNAL ONLY - struct aggregate_value_ {}; - - /// INTERNAL ONLY - /// Aggregate value type is irrelevant, we just use a placeholder type. - template - struct value_type - { - typedef aggregate_value_ type; - }; - - /// INTERNAL ONLY - /// Aggregate size is irrelevant, just say it's [1] - template - struct size_of - { - typedef of_size_<1> result_type; - BOOST_FORCEINLINE result_type operator()(Expr&) const - { - return result_type(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/allbits.hpp b/inst/include/nt2/core/functions/allbits.hpp deleted file mode 100644 index 0ca6cc4..0000000 --- a/inst/include/nt2/core/functions/allbits.hpp +++ /dev/null @@ -1,163 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ALLBITS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ALLBITS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Allbits generator - - Create an array full of the Allbits constant. - - @par Semantic: - - allbits() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = allbits(); - @endcode - is equivalent to - @code - double x = Allbits(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = allbits(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Allbits() value. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = allbits(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Allbits() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = allbits(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Allbits() value. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = allbits(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Allbits() value. - - - For any type @c T, the following code: - @code - T x = allbits( as_() ); - @endcode - is equivalent to - @code - T x = Allbits(); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = allbits(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Allbits() value. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = allbits(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Allbits() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = allbits(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Allbits() value. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = allbits(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Allbits() value. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Allbits constant. - - @sa Allbits - **/ - template - details::unspecified allbits(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified allbits(Args const&... dims); - - /// @overload - template ClassName::type allbits(ClassName const& classname); - - /// @overload - double allbits(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Allbits,allbits, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/along.hpp b/inst/include/nt2/core/functions/along.hpp deleted file mode 100644 index 5a083f8..0000000 --- a/inst/include/nt2/core/functions/along.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2009 -2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 -2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ALONG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ALONG_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief along generic tag - - Represents the along function in generic contexts. - - @par Models: - Hierarchy - **/ - struct along_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_along_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_along_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_along_; - } - /*! - Applies an index \c ind on \c expr along the \c i-th dimension - by default \c i is the first non-singleton dimension of expr - - @par Semantic: - - For every parameters of types respectively T0, T1, T2: - - @code - auto r = along(a0,a1{,a2}); - @endcode - - is similar to: - - @code - auto r = a0(_, ..., a1, ..., _);//where a1 is in a2-th slot of a0 - @endcode - - a2 default to the @funcref{firstnonsingleton} dimension of a0. - - @param a0 the expression to index - @param a1 the indexer - @param a2 the dimension on which to index, optional, default to firstnonsingleton(a0) - - @return a0(_, ..., a1, ..., _) with @c a1 at the @c a2-th argument - - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::along_ , along, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::along_ , along, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::along_ , along, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::along_ , along, 3) - - namespace ext - { - //============================================================================ - // resize function expression - do nothing - //============================================================================ - template - struct resize - { - template BOOST_FORCEINLINE void operator()(Expr&, Sz const&) {} - }; -} -} - -#endif diff --git a/inst/include/nt2/core/functions/along_index.hpp b/inst/include/nt2/core/functions/along_index.hpp deleted file mode 100644 index d3c6213..0000000 --- a/inst/include/nt2/core/functions/along_index.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ALONG_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ALONG_INDEX_HPP_INCLUDED - -#include - - -namespace nt2 -{ - namespace tag - { - /*! - @brief along_index generic tag - - Represents the along_index function in generic contexts. - - @par Models: - Hierarchy - **/ - struct along_index_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_along_index_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_along_index_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_along_index_; - } - /*! - Computes the linear index \c ind along the \c i-th dimension - - @par Semantic: - - For every parameters of floating types respectively T0, T1, T2: - - @code - auto r = along_index(a0,a1,a2); - @endcode - - - \param a0 the indexer - \param a1 the dimension on which to index - \param a2 the size of the data being indexed - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::along_index_ , along_index, 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/arrayfun.hpp b/inst/include/nt2/core/functions/arrayfun.hpp deleted file mode 100644 index 2b08655..0000000 --- a/inst/include/nt2/core/functions/arrayfun.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ARRAYFUN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ARRAYFUN_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for bsxfun functor - **/ - struct arrayfun_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_arrayfun_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_arrayfun_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_arrayfun_; - } - - /*! - @brief Apply element-by-element operation to n expressions - - arrayfun(f,a,b) applies the element-by-element pfo @c f to expressions - @c a and @c b. - - The corresponding dimensions of @c a and @c b must be equal to each other. - - @param a0 Polymorphic Function object to apply - @param a1 First expression to process - @param a2 Second expression to process - @param a2 Third expression to process - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::arrayfun_, arrayfun, 4) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::arrayfun_, arrayfun, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::arrayfun_, arrayfun, 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/as_size.hpp b/inst/include/nt2/core/functions/as_size.hpp deleted file mode 100644 index b890da0..0000000 --- a/inst/include/nt2/core/functions/as_size.hpp +++ /dev/null @@ -1,147 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_AS_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_AS_SIZE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace details - { - // single scalar case : generate [s s] - template - BOOST_FORCEINLINE auto as_size( S const& s - , ext::scalar_< ext::arithmetic_ > const& - ) - -> decltype(nt2::of_size(s,s)) - { - return nt2::of_size(s,s); - } - - // fusion sequence case : return s itself - template - BOOST_FORCEINLINE S const& as_size( S const& s - , ext::fusion_sequence_ const& - ) - { - return s; - } - - // ast case : evaluate the table inside the result - template - BOOST_FORCEINLINE of_size_max as_size(S const& s, ext::ast_ const&) - { - BOOST_ASSERT_MSG( nt2::isrow(s) - , "Error: Size vector must be a row vector." - ); - - std::ptrdiff_t n = nt2::first_index<1>(s); - std::size_t l = nt2::length(s); - of_size_max that; - - if(l > 1) - { - for(std::size_t i=0; i < l; ++i) that[i] = s(n+i); - } - else - { - that[0] = that[1] = s(n); - } - - return that; - } - } - - /* - @brief Turn value into a proper size object - - Build an of_size_ instance based on its parameters and following the - Matlab semantic of sizes. - - @par Semantic: - - For any value @c s of type @c S, the code: - - @code - auto r = as_size(s); - @endcode - - is equivalent to: - - @code - auto r = of_size(s,s); - @endcode - - if @c S is a scalar type, to: - - @code - auto r = s; - @endcode - - if @c S is a Fusion Sequence type, and to: - - @code - auto r = of_size(s(1), ..., s(length(s))); - @endcode - - if @c S is a non-scalar expression. - - @param s Value to convert - @return An instance of of_size built properly. - */ - template - BOOST_FORCEINLINE auto as_size(S const& s) - -> decltype(nt2::details::as_size(s, nt2::meta::hierarchy_of_t())) - { - return nt2::details::as_size(s, nt2::meta::hierarchy_of_t()); - } - /* - @brief Turn value into a proper size object - - Build an of_size_ instance based on its parameters and following the - MAtlab semantic of sizes. - - @par Semantic: - - For any values s0,s1,sn... of type @c S, the code: - - @code - auto r = as_size(s0,s1,sn...); - @endcode - - is equivalent to: - - @code - auto r = of_size(s0,s1,sn...); - @endcode - - if @c S is a scalar type.: - - @param s0 First dimension of the resulting size - @param s1 Second dimension of the resulting size - @param sn Other dimensions of the resulting size - - @return An instance of of_size built properly. - */ - template - BOOST_FORCEINLINE auto as_size(S0 const& s0, S1 const& s1, Sn const&... sn) - -> decltype(nt2::of_size(s0,s1,sn...)) - { - return nt2::of_size(s0,s1,sn...); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/asum1.hpp b/inst/include/nt2/core/functions/asum1.hpp deleted file mode 100644 index 1417438..0000000 --- a/inst/include/nt2/core/functions/asum1.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ASUM1_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ASUM1_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the asum1 functor - **/ - struct asum1_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_asum1_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_asum1_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_asum1_; - } - /*! - @brief Sum of absolute values of a table expression along a dimension - - Compute the sum of the absolute value of all the elements of a - table expression along a given dimension. - - @par Semantic - - For any table expression @c t and any integer @c n: - - @code - auto r = asum1(t,n); - @endcode - - is equivalent to: - - @code - auto r = sum(abs(t),n); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @par Alias - - asum1 is also called: - * @c asum - * @c norm1 - - @see @funcref{firstnonsingleton}, @funcref{globalasum1} - @param a0 Table to process - @param a1 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asum1_, asum1 , 2 ) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asum1_, asum1 , 1 ) - - /// INTERNAL ONLY - /// Alias for asum1 - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asum1_, asum , 1 ) - - /// INTERNAL ONLY - /// Alias for asum1 - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asum1_, asum , 2 ) - - /// INTERNAL ONLY - /// Alias for asum1 - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asum1_, norm1 , 1 ) - - /// INTERNAL ONLY - /// Alias for asum1 - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asum1_, norm1 , 2 ) -} - -#endif diff --git a/inst/include/nt2/core/functions/asum2.hpp b/inst/include/nt2/core/functions/asum2.hpp deleted file mode 100644 index 7414c80..0000000 --- a/inst/include/nt2/core/functions/asum2.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ASUM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ASUM2_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the asum2 functor - **/ - struct asum2_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_asum2_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_asum2_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_asum2_; - } - /*! - @brief Sum of absolute values of a table expression along a dimension - - Compute the sum of the squared absolute value of all the elements - of a table expression along a given dimension. - - @par Semantic - - For any table expression @c t and any integer @c n: - - @code - auto r = asum2(t,n); - @endcode - - is equivalent to: - - @code - auto r = sum(sqr_abs(t),n); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{globalasum2} - @param a0 Table to process - @param a1 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asum2_, asum2, 2 ) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asum2_, asum2, 1 ) -} - -#endif diff --git a/inst/include/nt2/core/functions/asump.hpp b/inst/include/nt2/core/functions/asump.hpp deleted file mode 100644 index dca18e2..0000000 --- a/inst/include/nt2/core/functions/asump.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ASUMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ASUMP_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the asump functor - **/ - struct asump_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_asump_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_asump_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_asump_; - } - - /*! - @brief Sum of the power of absolute values of a table expression along a dimension - - Computes the sum of the pth power of the absolute value of all the elements - of a table along a given dimension. - - @par Semantic - - For any table expression and any arithmetic value @c - p and integer n : - - @code - auto r = asump(t,p n); - @endcode - - is equivalent to: - - @code - auto r = sum(pow_abs(t,p),n); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{pow_abs} - @param a0 Table to process - @param a1 Power at which absolute values are raised - @param a2 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asump_, asump, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::asump_, asump, 2) - -} - -#endif diff --git a/inst/include/nt2/core/functions/band.hpp b/inst/include/nt2/core/functions/band.hpp deleted file mode 100644 index 919bf8b..0000000 --- a/inst/include/nt2/core/functions/band.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_BAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_BAND_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief band generic tag - - Represents the band function in generic contexts. - - @par Models: - Hierarchy - **/ - struct band_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_band_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_band_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_band_; - } - - /*! - @brief Apply a diagonal masking to an expression - - Apply a mask on an expression that evaluates to 0 everywhere except on the - diagonal of the expression. - - @param a0 Expression to mask - - @par Alias: - diagonal - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::band_ , band , 1 ) - - /// INTERNAL ONLY - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::band_ , diagonal, 1 ) - - /*! - @brief Apply a band masking to an expression - - Apply a mask on an expression that evaluates to 0 everywhere except on a band - centered on the diagonal with a given width @c a1. - - @param a0 Expression to mask - @param a1 Width of the centered band. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::band_ , band , 2 ) - - /*! - @brief Apply a dual band masking to an expression - - Apply a mask on an expression that evaluates to 0 everywhere except on a - band ranging from sub/super-diagonal @c a1 and @c a2 - - @param a0 Expression to mask - @param a1 Index of the lowest diagonal to include in the mask. - @param a2 Index of the highest diagonal to include in the mask. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::band_ , band , 3 ) -} - -#endif diff --git a/inst/include/nt2/core/functions/bitincrement.hpp b/inst/include/nt2/core/functions/bitincrement.hpp deleted file mode 100644 index ba84e89..0000000 --- a/inst/include/nt2/core/functions/bitincrement.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_BITINCREMENT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_BITINCREMENT_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the bitincrement function -**/ - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Bitincrement,bitincrement, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/blkdiag.hpp b/inst/include/nt2/core/functions/blkdiag.hpp deleted file mode 100644 index 92f7c6c..0000000 --- a/inst/include/nt2/core/functions/blkdiag.hpp +++ /dev/null @@ -1,125 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_BLKDIAG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_BLKDIAG_HPP_INCLUDED - - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief blkdiag generic tag - - Represents the blkdiag function in generic contexts. - - @par Models: - Hierarchy - **/ - struct blkdiag_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_blkdiag_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_blkdiag_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_blkdiag_; - } - /*! - Builds a block diagonal matrix - - @par Semantic: - - - @code - auto r = blkdiag(a0,a1); - @endcode - - Build a block diagonal matrix by concatenating two matrix along their - diagonal. - - @see @funcref{cat}, @funcref{cath}, @funcref{catv}, @funcref{from_diag}, @funcref{diag_of} - @param a0 - - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::blkdiag_, blkdiag, 2) - - /// INTERNAL ONLY - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::blkdiag_, blkdiag, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - // TODO: case for dual static of_size_ - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator ()(Expr& e) const - { - if( !numel(boost::proto::child_c<0>(e).extent()) ) - { - return boost::proto::child_c<1>(e).extent(); - } - else if( !numel(boost::proto::child_c<1>(e).extent()) ) - { - return boost::proto::child_c<0>(e).extent(); - } - // otherwise compute the size properly - else - { - result_type sizee(boost::proto::child_c<0>(e).extent()); - sizee[0] += boost::fusion::at_c<0>(boost::proto::child_c<1>(e).extent()); - sizee[1] += boost::fusion::at_c<1>(boost::proto::child_c<1>(e).extent()); - - return sizee; - } - } - }; - - /// INTERNAL ONLY - template - struct value_type - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type type; - typedef typename boost::proto::result_of - ::child_c::value_type::value_type other_type; - - BOOST_MPL_ASSERT_MSG - ( (boost::is_same::value) - , NT2_INCOMPATIBLE_TYPE_IN_BLKDIAG_EXPRESSION - , (type,other_type) - ); - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/c180.hpp b/inst/include/nt2/core/functions/c180.hpp deleted file mode 100644 index fd64ed7..0000000 --- a/inst/include/nt2/core/functions/c180.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_C180_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_C180_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::C180,c180, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/cat.hpp b/inst/include/nt2/core/functions/cat.hpp deleted file mode 100644 index 06c294e..0000000 --- a/inst/include/nt2/core/functions/cat.hpp +++ /dev/null @@ -1,121 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CAT_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /// Tag for @c cat functor - struct cat_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cat_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cat_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cat_; - } - - /*! - Concatenates tables along specified dimension - - @param dim Dimension along which to concatenate - @param a0 First table to concatenate - @param a1 Second table to concatenate - - @return A lazy expression that will evaluate as the concatenation of a0 and a1 - - **/ - template - BOOST_FORCEINLINE - typename meta::call::type - cat(Dimension const& dim, A0 const& a0, A1 const& a1) - { - return typename make_functor::type()(dim,a0,a1); - } -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - /// Computes the extent of a cat expression as being the "concatenation" of - /// the initial tables' size - template - struct size_of - { - // Can't be anything else as along is defined at runtime - // TODO: Support cat(a0,a1) and computes exact of_size in this case - typedef of_size_max result_type; - - BOOST_FORCEINLINE result_type operator ()(Expr& e) const - { - // cat with empty matrix return the other matrix - if( !numel(boost::proto::child_c<1>(e).extent()) ) - { - return boost::proto::child_c<2>(e).extent(); - } - else if( !numel(boost::proto::child_c<2>(e).extent()) ) - { - return boost::proto::child_c<1>(e).extent(); - } - // otherwise cat the size properly - else - { - // Direction of concatenation - std::size_t along = boost::proto::child_c<0>(e); - - // Build return size - result_type sizee(boost::proto::child_c<1>(e).extent()); - sizee[along-1] += nt2::size(boost::proto::child_c<2>(e),along); - - return sizee; - } - } - }; - - /// INTERNAL ONLY - /// Computes the value type of a cat expression as being the same than first - /// child if both children have the same value type - template - struct value_type - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type type; - typedef typename boost::proto::result_of - ::child_c::value_type::value_type other_type; - - BOOST_MPL_ASSERT_MSG - ( (boost::is_same::value) - , NT2_INCOMPATIBLE_TYPE_IN_CAT_EXPRESSION - , (type,other_type) - ); - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/cdiff.hpp b/inst/include/nt2/core/functions/cdiff.hpp deleted file mode 100644 index c2af721..0000000 --- a/inst/include/nt2/core/functions/cdiff.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CDIFF_HPP_INCLUDED -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the cdiff function - **/ - struct cdiff_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cdiff_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cdiff_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cdiff_; - } - /*! - Computes centered diferences along a dimension - - @par Semantic: - - For every table expressions n and p - - @code - auto x = cdiff(a, n); - @endcode - - is similar to: - - @code - for(int in=1;in<=size(x,n);++in) - ... - for(int ik=2;ik<=size(x,k)-1;++ik) - ... - for(int i1=1;in<=size(x,1);++i1) - x(i1,...,ik,...,in) = a(i1,...,ik+1,...,in)-a(i1,...,ik-1,...,in); - @endcode - - - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::cdiff_, cdiff, 2) - /// overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::cdiff_, cdiff, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of - ::child_c::value_type::extent_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee(boost::proto::child_c<0>(e).extent()); - - std::size_t along = boost::proto::value(boost::proto::child_c<1>(e)); - sizee[along] = (sizee[along] >= 2) ? sizee[along]-2 : 0; - - return sizee; - } - }; - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/cgold.hpp b/inst/include/nt2/core/functions/cgold.hpp deleted file mode 100644 index 20fec5a..0000000 --- a/inst/include/nt2/core/functions/cgold.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CGOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CGOLD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Cgold generator - - Create an array full of the Cgold constant. - - @par Semantic: - - cgold() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = cgold(); - @endcode - is equivalent to - @code - double x = Cgold(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = cgold(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Cgold() value. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = cgold(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Cgold() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = cgold(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Cgold() value. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = cgold(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Cgold() value. - - - For any type @c T, the following code: - @code - T x = cgold( as_() ); - @endcode - is equivalent to - @code - T x = Cgold(); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = cgold(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Cgold() value. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = cgold(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Cgold() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = cgold(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Cgold() value. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = cgold(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Cgold() value. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Cgold constant. - - @sa Cgold - **/ - template - details::unspecified cgold(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified cgold(Args const&... dims); - - /// @overload - template ClassName::type cgold(ClassName const& classname); - - /// @overload - double cgold(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Cgold,cgold, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/cic.hpp b/inst/include/nt2/core/functions/cic.hpp deleted file mode 100644 index a05e28c..0000000 --- a/inst/include/nt2/core/functions/cic.hpp +++ /dev/null @@ -1,186 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CIC_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CIC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief cic generic tag - - Represents the cic function in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( cic_, double , 0, 0, 0 ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cic_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cic_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::cic_, cic, n) \ - /**/ - - #if defined(DOXYGEN_ONLY) - /*! - @brief C Column index generator - - Create an array where every element is equal to its C-based column index. - - @par Semantic: - - cic() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = cic(); - @endcode - is equivalent to - @code - double x = 0.; - @endcode - - - For any Integer @c n, the following code: - @code - auto x = cic(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table where, for - any indexes @c i and @c j, x(i,j) = double(j-1) - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = cic(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table where, for - any indexes @c i and @c j, x(i,j) = double(j-1) - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = cic(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table where, for any indexes @c i and @c j, x(i,j) = double(j-1) - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = cic(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table where, for any indexes @c i and @c j, x(i,j) = double(j-1) - - - For any type @c T, the following code: - @code - T x = cic( as_() ); - @endcode - is equivalent to - @code - T x = T(0); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = cic(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table where, for - any indexes @c i and @c j, x(i,j) = T(j-1) - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = cic(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table where, - for any indexes @c i and @c j, x(i,j) = T(j-1) - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = cic(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table where, for any indexes @c i and @c j, x(i,j) = T(j-1) - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = cic(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table where, for any indexes @c i and @c j, x(i,j) = T(j-1) - - @usage_output{cic.cpp,cic.out} - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions. - **/ - template - details::unspecified cic(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified cic(Args const&... dims); - - /// @overload - template ClassName::type cic(ClassName const& classname); - - /// @overload - double cic(); - - #else - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/cif.hpp b/inst/include/nt2/core/functions/cif.hpp deleted file mode 100644 index c05bc3f..0000000 --- a/inst/include/nt2/core/functions/cif.hpp +++ /dev/null @@ -1,189 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CIF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CIF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief cif generic tag - - Represents the cif function in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( cif_, double - , 1, 0x3f800000UL, 0x3ff0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cif_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cif_; - } - - #if defined(DOXYGEN_ONLY) - /*! - @brief FORTRAN Column index generator - - Create an array where every element is equal to its FORTRAN-based column - index. - - @par Semantic: - - cif() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = cif(); - @endcode - is equivalent to - @code - double x = 1.; - @endcode - - - For any Integer @c n, the following code: - @code - auto x = cif(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table where, for - any indexes @c i and @c j, x(i,j) = double(j) - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = cif(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table where, for - any indexes @c i and @c j, x(i,j) = double(j) - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = cif(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table where, for any indexes @c i and @c j, x(i,j) = double(j) - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = cif(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<1>(dims),at_c(dims)} - table where, for any indexes @c i and @c j, x(i,j) = double(j) - - - For any type @c T, the following code: - @code - T x = cif( as_() ); - @endcode - is equivalent to - @code - T x = T(1); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = cif(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table where, for - any indexes @c i and @c j, x(i,j) = T(j) - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = cif(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table where, - for any indexes @c i and @c j, x(i,j) = T(j) - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = cif(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table where, for any indexes @c i and @c j, x(i,j) = T(j) - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = cif(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<1>(dims),at_c(dims)} - table where, for any indexes @c i and @c j, x(i,j) = T(j) - - @usage_output{cif.cpp,cif.out} - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions. - **/ - template - details::unspecified cif(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified cif(Args const&... dims); - - /// @overload - template ClassName::type cif(ClassName const& classname); - - /// @overload - double cif(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::cif_, cif, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/class.hpp b/inst/include/nt2/core/functions/class.hpp deleted file mode 100644 index 18166e1..0000000 --- a/inst/include/nt2/core/functions/class.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CLASS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CLASS_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - /*! - @brief Retrieve the type specifier of an object - - For any given object, class_ returns a type specifier that contains - informations about the numerical type of values stored inside. - - @par Semantic - - For any given @c t of type @c T: - - @code - auto x = class_(t); - @endcode - - is equivalent to - - @code - auto x = nt2::meta::as_::type>(); - @endcode - - @param t Object to extract the numeric class from - - @return A type specifier describing the value type of t - **/ - template BOOST_FORCEINLINE - meta::as_::type> - class_( T const& t ) - { - boost::ignore_unused(t); - return meta::as_< typename meta::value_type_::type >(); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/colon.hpp b/inst/include/nt2/core/functions/colon.hpp deleted file mode 100644 index e6fa716..0000000 --- a/inst/include/nt2/core/functions/colon.hpp +++ /dev/null @@ -1,178 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COLON_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COLON_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief colon generic tag - - Represents the colon function in generic contexts. - - @par Models: - Hierarchy - **/ - struct colon_ : ext::state_constant_ - { - /// @brief Parent hierarchy - typedef ext::state_constant_ parent; - - /// @brief default value type for untyped calls - typedef double default_type; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_colon_( ext::adl_helper(), static_cast(args)... ) ) - }; - - /// INTERNAL ONLY - struct empty_colon_ : colon_ - { - typedef colon_ parent; - }; - - /// INTERNAL ONLY - struct relative_colon_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_colon_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_colon_; - } - - /*! - @brief Regular spaced values generator - - Creates an array filled with regularly spaced values. - - @par Semantic - - For any Scalar value @c l and @c h of type @c T, if h >= l, the - following code: - @code - auto x = colon(l,h); - @endcode - - generates an expression that evaluates as a @size2d{1,h-l+1} table of - type @c T for which, for any index @c i : - - @code - x(i) = l + i - @endcode - - If h < l, the generated expression evaluates an empty table. - - @usage_output{colon.cpp,colon.out} - - @param a0 First value of the generation space - @param a1 Last value of the generation space - - @return An Expression evaluating as an array of a given type and dimensions. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::colon_, colon, 2) - - /*! - @brief Regular spaced values generator with step - - Creates an array filled with values regularly spaced with a given step. - - @par Semantic - - For any Scalar value @c l, @c h and @c s of type @c T - @code - auto x = colon(l,s,h); - @endcode - - generates an expression that evaluates as a @size2d{1,fix((h-l+1)/s)} - table of type @c T for which, for any index @c i : - - @code - x(i) = l + i*s - @endcode - - If h < l, the generated expression evaluates an empty table. - - @usage_output{colon_step.cpp,colon_step.out} - - @param a0 First value of the generation space - @param a1 Step between generated values - @param a2 Last value of the generation space - - @return An Expression evaluating as an array of a given type and dimensions. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::colon_, colon, 3) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size {}; - - template - struct value_type - : meta::generative_value {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size {}; - - /// INTERNAL ONLY - template - struct value_type - { - typedef int type; - }; - - /// INTERNAL ONLY - template - struct size_of - { - typedef of_size_<1, -1> result_type; - BOOST_FORCEINLINE result_type operator()(Expr&) const - { - return result_type(); - } - }; - - /// INTERNAL ONLY - template - struct size_of - { - typedef of_size_<1, -1> result_type; - BOOST_FORCEINLINE result_type operator()(Expr&) const - { - return result_type(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/colon/relative_index.hpp b/inst/include/nt2/core/functions/colon/relative_index.hpp deleted file mode 100644 index e69caba..0000000 --- a/inst/include/nt2/core/functions/colon/relative_index.hpp +++ /dev/null @@ -1,134 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COLON_RELATIVE_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COLON_RELATIVE_INDEX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // When indexing on _, return the consecutive positions - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_index_, tag::cpu_ - , (A0)(Arity)(A1)(A2)(A3)(A4) - , ((expr_ < colon_< A0 > - , nt2::tag::terminal_ - , Arity - > - )) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (generic_< unspecified_ >) - (target_< unspecified_ >) - ) - { - typedef typename A4::type result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0&, const A1&, const A2&, const A3& p, const A4&) const - { - return p; - } - }; - - //============================================================================ - // When indexing on _(a, b) with an extremum, return the current offset - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_index_, tag::cpu_ - , (A0)(A1)(A2)(A3)(A4) - , ((node_ < A0 - , nt2::tag::relative_colon_ - , boost::mpl::long_<1> - ,nt2::container::domain> - )) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (generic_< unspecified_ >) - (target_< unspecified_ >) - ) - { - typedef typename A4::type result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& i, const A1& b, const A2& s, const A3& p, const A4&) const - { - return details:: - unity_colon_value ( boost::proto:: - value(boost::proto::child_c<0>(i)).lower(b,s) - , p - , meta::as_() - ) - (typename meta::scalar_of::type)b; - } - }; - - //============================================================================ - // When indexing on _(a, s, b) with an extremum, return the current offset - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_index_, tag::cpu_ - , (A0)(A1)(A2)(A3)(A4) - , ((node_ < A0 - , nt2::tag::relative_colon_ - , boost::mpl::long_<2> - ,nt2::container::domain> - )) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (generic_< unspecified_ >) - (target_< unspecified_ >) - ) - { - typedef typename A4::type result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& i, const A1& b, const A2& s, const A3& p, const A4&) const - { - return details:: - colon_value ( boost::proto:: - value(boost::proto::child_c<0>(i)).lower(b,s) - , boost::proto::value(boost::proto::child_c<1>(i)) - , p - , meta::as_() - ) - (typename meta::scalar_of::type)b; - } - }; - - //============================================================================ - // When indexing begin_/end_ +/- i, evaluate to proper extremum - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_index_, tag::cpu_ - , (A0)(Arity)(A1)(A2)(A3)(A4) - , ((expr_ < extremum_< A0 > - , nt2::tag::terminal_ - , Arity - > - )) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (generic_< unspecified_ >) - (target_< unspecified_ >) - ) - { - typedef typename A4::type result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& idx, const A1&, const A2& sz, const A3&, const A4&) const - { - return nt2::splat(boost::proto::value(idx).index(0u,sz)); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/colon/relative_size.hpp b/inst/include/nt2/core/functions/colon/relative_size.hpp deleted file mode 100644 index 54f06ba..0000000 --- a/inst/include/nt2/core/functions/colon/relative_size.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COLON_RELATIVE_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COLON_RELATIVE_SIZE_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Compute indexing size using _ - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_size_, tag::cpu_ - , (Idx)(Arity)(Size)(Base) - , ((expr_ < colon_< Idx > - , nt2::tag::terminal_ - , Arity - > - )) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef Size result_type; - - BOOST_FORCEINLINE result_type - operator()(const Idx&, const Size& sz, const Base&) const - { - return sz; - } - }; - - //============================================================================ - // Compute indexing size using relative mark-up (begin_ and/or end_) - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_size_, tag::cpu_ - , (Idx)(Size)(Base) - , ((node_ < Idx - , nt2::tag::relative_colon_ - , boost::mpl::long_<1> - ,nt2::container::domain> - )) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type - operator()(const Idx& i, const Size& sz, const Base& b) const - { - return details:: - unity_colon_size( boost::proto::value(boost::proto::child_c<0>(i)) - .lower( b, sz) - , boost::proto::value(boost::proto::child_c<0>(i)) - .upper( b,sz) - ); - } - }; - - //============================================================================ - // Compute indexing size using relative mark-up (begin_,end_) and stride - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_size_, tag::cpu_ - , (Idx)(Size)(Base) - , ((node_ < Idx - , nt2::tag::relative_colon_ - , boost::mpl::long_<2> - ,nt2::container::domain> - )) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type - operator()(const Idx& i, const Size& sz, const Base& b) const - { - return details:: - colon_size( boost::proto::value(boost::proto::child_c<0>(i)) - .lower(b,sz) - , boost::proto::value(boost::proto::child_c<1>(i)) - , boost::proto::value(boost::proto::child_c<0>(i)) - .upper(b,sz) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/cols.hpp b/inst/include/nt2/core/functions/cols.hpp deleted file mode 100644 index 304034b..0000000 --- a/inst/include/nt2/core/functions/cols.hpp +++ /dev/null @@ -1,147 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COLS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COLS_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief cols generic tag - - Represents the cols function in generic contexts. - - @par Models: - Hierarchy - **/ - struct cols_ : ext::state_constant_ - { - /// @brief Parent hierarchy - typedef ext::state_constant_ parent; - - /// @brief default value type for untyped calls - typedef double default_type; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cols_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cols_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cols_; - } - - #if defined(DOXYGEN_ONLY) - /*! - @brief Column index generator - - Create an array where every element is equal to its column index in an - arbitrary base indexing. - - @par Semantic: - - cols() semantic depends of its parameters type and quantity: - - - For any base index @c b of type @c T, the following code: - @code - auto x = cols(b); - @endcode - is equivalent to - @code - T x = b; - @endcode - - - For any base index @c b of type @c T and any Integer @c sz1,...,szn , - the following code: - @code - auto x = cols(sz1,...,szn, b); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table where, for - any indexes @c i and @c j, x(i,j) = T(j+b-1) - - - For any base index @c b of type @c T and any Expression @c dims evaluating - as a row vector of @c N elements, - the following code: - @code - auto x = cols(dims,b); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table where, for any indexes @c i and @c j, x(i,j) = T(j+b-1) - - - For any base index @c b of type @c T and any Fusion Sequence @c dims of @c - N elements, the following code: - @code - auto x = cols(dims,b); - @endcode - generates an expression that evaluates as a @sizes{at_c<1>(dims),at_c(dims)} - table where, for any indexes @c i and @c j, x(i,j) = T(j+b-1) - - @usage_output{cols.cpp,cols.out} - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param base Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions. - **/ - template - details::unspecified cols(Args const&... dims, Index const& base); - - /// @overload - template details::unspecified cols(Index const& base); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::cols_, cols, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/colvect.hpp b/inst/include/nt2/core/functions/colvect.hpp deleted file mode 100644 index b270fae..0000000 --- a/inst/include/nt2/core/functions/colvect.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COLVECT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COLVECT_HPP_INCLUDED - - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief colvect generic tag - - Represents the colvect function in generic contexts. - - @par Models: - Hierarchy - **/ - struct colvect_ : ext::reshaping_ - { - /// @brief Parent hierarchy - typedef ext::reshaping_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_colvect_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_colvect_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_colvect_; - } - /*! - Reshapes an expression into a column shaped table. - - @par Semantic: - - For every table expression - - @code - auto r = colvect(a0); - @endcode - - is similar to: - - @code - auto r = resize(a0, numel(a0), 1); - @endcode - - @see @funcref{rowvect}, @funcref{resize}, @funcref{numel} - - @param a0 - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::colvect_ , colvect, 1) - /// INTERNAL ONLY - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::colvect_ , colvect, 1) -} - -namespace nt2 { namespace ext -{ - //============================================================================ - // resize colvect expression - do nothing - //============================================================================ - template - struct resize - { - template BOOST_FORCEINLINE void operator()(Expr&, Sz const&) {} - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/adjfun.hpp b/inst/include/nt2/core/functions/common/adjfun.hpp deleted file mode 100644 index fbbe936..0000000 --- a/inst/include/nt2/core/functions/common/adjfun.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_ADJFUN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_ADJFUN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_)) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - typedef typename boost::proto::result_of::child_c::value_type v_t; - typedef typename boost::simd::ext::adapt_data::type target_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const&) const - { - // Types for indices computation - typedef typename A0::extent_type ext_t; - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript::type sub_t; - - // Compute position and shifted position - sub_t pos0 = as_subscript(a0.extent(), enumerate(p)); - - sub_t pos1 = pos0; - ++pos1[boost::proto::value(boost::proto::child_c<1>(a0))]; - - // Run the functor on shifted data and original data - return boost::proto::value(boost::proto::child_c<2>(a0)) - ( nt2::run( boost::proto::child_c<0>(a0) - , as_index(boost::proto::child_c<0>(a0).extent(), pos1) - , target_t() - ) - , nt2::run( boost::proto::child_c<0>(a0) - , as_index(boost::proto::child_c<0>(a0).extent(), pos0) - , target_t() - ) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/aggregate.hpp b/inst/include/nt2/core/functions/common/aggregate.hpp deleted file mode 100644 index 04e6917..0000000 --- a/inst/include/nt2/core/functions/common/aggregate.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_AGGREGATE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_AGGREGATE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ -#define M0(z,n,t) (A##n) -#define M1(z,n,t) (unspecified_) -#define M2(z,n,t) boost::cref(a##n) - -#define M3(z,n,t) \ -BOOST_DISPATCH_IMPLEMENT ( aggregate_, tag::cpu_ \ - , BOOST_PP_REPEAT(n,M0,~) \ - , BOOST_PP_REPEAT(n,M1,~) \ - ) \ -{ \ - typedef typename boost::proto::result_of::make_expr \ - < nt2::tag::aggregate_, container::domain \ - , BOOST_PP_ENUM_BINARY_PARAMS ( n \ - , const A \ - , & BOOST_PP_INTERCEPT) \ - >::type result_type; \ - \ - BOOST_FORCEINLINE result_type \ - operator()(BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) ) const \ - { \ - return boost::proto::make_expr \ - ( BOOST_PP_ENUM(n,M2,~) ); \ - } \ -}; \ -/**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_DISPATCH_MAX_META_ARITY,M3,~) - -#undef M0 -#undef M1 -#undef M2 -#undef M3 -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/band.hpp b/inst/include/nt2/core/functions/common/band.hpp deleted file mode 100644 index 9f3f92c..0000000 --- a/inst/include/nt2/core/functions/common/band.hpp +++ /dev/null @@ -1,136 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_BAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_BAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_ < A0, nt2::tag::band_ - , boost::mpl::long_<1> - , nt2::container::domain - > - )) - (generic_< integer_ >) - (target_< unspecified_ >) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - - // Retrieve 2D position from the linear index - s_t const pos = as_subscript(_2D(a0.extent()),enumerate(p)); - - // Return the upper triangular section with 1 on the diagonal - return nt2::if_else_zero( nt2::eq(pos[0],pos[1]) - , nt2::run(boost::proto::child_c<0>(a0),p,t) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_ < A0, nt2::tag::band_ - , boost::mpl::long_<2> - , nt2::container::domain - > - )) - (generic_< integer_ >) - (target_< unspecified_ >) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - typedef typename nt2::meta::as_signed::type p_t; - - // Retrieve the band width - std::ptrdiff_t o = boost::proto::value(boost::proto::child_c<1>(a0)); - - // Retrieve 2D position from the linear index - s_t const pos = as_subscript(_2D(a0.extent()), nt2::enumerate(p) ); - p_t const is = bitwise_cast(pos[0]); - p_t const js = bitwise_cast(pos[1]); - - // Return the band between +/-offset around the main diagonal - return nt2::if_else_zero( nt2::logical_and( nt2::le(is,js + o) - , nt2::ge(is,js - o) - ) - , nt2::run(boost::proto::child_c<0>(a0),p,t) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_ < A0, nt2::tag::band_ - , boost::mpl::long_<3> - , nt2::container::domain - > - )) - (generic_< integer_ >) - (target_< unspecified_ >) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - typedef typename nt2::meta::as_signed::type p_t; - - // Retrieve the band width and positive them - std::ptrdiff_t const od = boost::proto::value(boost::proto::child_c<1>(a0)); - std::ptrdiff_t const ou = boost::proto::value(boost::proto::child_c<2>(a0)); - - // Retrieve 2D position from the linear index - s_t const pos = as_subscript(_2D(a0.extent()), nt2::enumerate(p) ); - p_t const is = bitwise_cast(pos[0]); - p_t const js = bitwise_cast(pos[1]); - - // Return the band between +/-offset around the main diagonal - return nt2::if_else_zero( nt2::logical_and( nt2::le(is,js - od) - , nt2::ge(is,js - ou) - ) - , nt2::run(boost::proto::child_c<0>(a0),p,t) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/blkdiag.hpp b/inst/include/nt2/core/functions/common/blkdiag.hpp deleted file mode 100644 index 995caec..0000000 --- a/inst/include/nt2/core/functions/common/blkdiag.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_BLKDIAG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_BLKDIAG_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_ < A1, nt2::tag::blkdiag_, N - , nt2::container::domain - > - )) - ) - { - typedef A0& result_type; - - result_type operator()(A0& out, const A1& in) const - { - container::table r; - - if(numel(boost::proto::child_c<0>(in))) - { - if(numel(boost::proto::child_c<1>(in))) - { - r = zeros( in.extent(), meta::as_() ); - std::size_t s1 = size(boost::proto::child_c<0>(in),1) - , s2 = size(boost::proto::child_c<0>(in),2); - - r(_(1u , s1 ) , _(1u , s2 ) ) = boost::proto::child_c<0>(in); - r(_(s1+1, end_) , _(s2+1, end_) ) = boost::proto::child_c<1>(in); - } - else - { - r = boost::proto::child_c<0>(in); - } - } - else - { - r = boost::proto::child_c<1>(in); - } - - container::assign_swap(out, r); - - return out; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/cat.hpp b/inst/include/nt2/core/functions/common/cat.hpp deleted file mode 100644 index 2683d43..0000000 --- a/inst/include/nt2/core/functions/common/cat.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_CAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_CAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_ < A1, nt2::tag::cat_, N - , nt2::container::domain - > - )) - ) - { - typedef A0& result_type; - - result_type operator()(A0& out, const A1& in) const - { - container::table r( in.extent() ); - - if(numel(boost::proto::child_c<1>(in))) - { - if(numel(boost::proto::child_c<2>(in))) - { - std::size_t d = boost::proto::child_c<0>(in); - std::size_t l = size(boost::proto::child_c<1>(in),d); - std::size_t n = size(r,d); - - along(r,_(1,l) , d) = boost::proto::child_c<1>(in); - along(r,_(l+1,n),d) = boost::proto::child_c<2>(in); - } - else - { - r = boost::proto::child_c<1>(in); - } - } - else - { - r = boost::proto::child_c<2>(in); - } - - container::assign_swap(out, r); - - return out; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/cdiff.hpp b/inst/include/nt2/core/functions/common/cdiff.hpp deleted file mode 100644 index b62ef2d..0000000 --- a/inst/include/nt2/core/functions/common/cdiff.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_CDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_CDIFF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_)) - (generic_< integer_ >) - (target_< unspecified_ >) - ) - { - typedef typename Data::type result_type; - typedef typename A0::extent_type ext_t; - typedef typename meta::as_index::type i_t; - typedef typename meta:: - call)>::type p_t; - typedef typename result_of::as_subscript::type sub_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - std::size_t along = boost::proto::child_c<1>(a0); - ext_t ex0 = boost::proto::child_c<0>(a0).extent(); - - sub_t pos0 = as_subscript(a0.extent(),enumerate(p)); - sub_t pos1 = pos0; - pos1[along] += Two::type>(); - - return nt2::run(boost::proto::child_c<0>(a0),as_index(ex0, pos1),t) - - nt2::run(boost::proto::child_c<0>(a0),as_index(ex0, pos0),t); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/ctranspose.hpp b/inst/include/nt2/core/functions/common/ctranspose.hpp deleted file mode 100644 index 583a413..0000000 --- a/inst/include/nt2/core/functions/common/ctranspose.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_CTRANSPOSE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_CTRANSPOSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - // ctranspose scalar - BOOST_DISPATCH_IMPLEMENT ( ctranspose_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), conj(a0)) - }; - - // ctranspose optimizations - BOOST_DISPATCH_IMPLEMENT ( ctranspose_, tag::cpu_ - , (A0) - , ((node_, nt2::container::domain>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), conj(boost::proto::child_c<0>(a0))) - }; - - BOOST_DISPATCH_IMPLEMENT ( ctranspose_, tag::cpu_ - , (A0) - , ((node_, nt2::container::domain>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), boost::proto::child_c<0>(a0)) - }; - - BOOST_DISPATCH_IMPLEMENT ( ctranspose_, tag::cpu_ - , (A0) - , ((node_, nt2::container::domain>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), transpose(boost::proto::child_c<0>(a0))) - }; - - // ctranspose vector - template - struct ctranspose_row_vector - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), conj(colvect(a0))) - }; - BOOST_DISPATCH_REGISTER_TO_IF( ctranspose_, tag::cpu_ - , (A0) - , (nt2::details::is_definitely_row_vector) - , ((ast_)) - , nt2::ext::ctranspose_row_vector - ); - - template - struct ctranspose_col_vector - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), conj(rowvect(a0))) - }; - BOOST_DISPATCH_REGISTER_TO_IF( ctranspose_, tag::cpu_ - , (A0) - , (nt2::details::is_definitely_col_vector) - , ((ast_)) - , nt2::ext::ctranspose_col_vector - ); - - // ctranspose implementation - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_, nt2::container::domain>)) - (generic_< integer_ >) - ((target_< unspecified_ >)) - ) - { - typedef typename Data::type result_type; - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - return conj( nt2::run( transpose( boost::proto::child_c<0>(a0) ), p, t ) ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/diag_of.hpp b/inst/include/nt2/core/functions/common/diag_of.hpp deleted file mode 100644 index 0acb357..0000000 --- a/inst/include/nt2/core/functions/common/diag_of.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_DIAG_OF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_DIAG_OF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_)) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename boost::dispatch::meta:: - call::type - , State const&, Data const& - ) - >::type result_type; - - typedef typename meta::strip::type base_type; - typedef typename meta::as_index::type id_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - std::size_t offset = boost::proto::child_c<1>(a0); - return nt2::run ( boost::proto::child_c<0>(a0) - , nt2::enumerate(p*offset,offset) - , t - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_)) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename boost::dispatch::meta:: - call::type - , State const&, Data const& - ) - >::type result_type; - - typedef typename meta::strip::type base_type; - typedef typename meta::as_index::type id_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - std::size_t offset = boost::proto::child_c<2>(a0); - std::size_t start = boost::proto::child_c<1>(a0); - return nt2::run ( boost::proto::child_c<0>(a0) - , nt2::enumerate(start+p*offset,offset) - , t - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/diff.hpp b/inst/include/nt2/core/functions/common/diff.hpp deleted file mode 100644 index d3fd04a..0000000 --- a/inst/include/nt2/core/functions/common/diff.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_DIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_DIFF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_)) - (generic_< integer_ >) - (target_< unspecified_ >) - ) - { - typedef typename Data::type result_type; - typedef typename meta::as_index::type i_t; - typedef typename meta:: - call)>::type p_t; - typedef typename A0::extent_type ext_t; - typedef typename result_of::as_subscript::type sub_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - size_t along = boost::proto::child_c<1>(a0); - ext_t ex0 = boost::proto::child_c<0>(a0).extent(); - - sub_t pos0 = as_subscript(a0.extent(),enumerate(p)); - sub_t pos1 = pos0; - ++pos1[along]; - - return nt2::run(boost::proto::child_c<0>(a0),as_index(ex0, pos1),t) - - nt2::run(boost::proto::child_c<0>(a0),as_index(ex0, pos0),t); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/disp.hpp b/inst/include/nt2/core/functions/common/disp.hpp deleted file mode 100644 index 4e33057..0000000 --- a/inst/include/nt2/core/functions/common/disp.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_DISP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_DISP_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( disp_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef void result_type; - - result_type operator()(A0 const& a0) const - { - if(!nt2::isempty(a0)) std::cout << a0 << std::endl; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/display.hpp b/inst/include/nt2/core/functions/common/display.hpp deleted file mode 100644 index 3b82227..0000000 --- a/inst/include/nt2/core/functions/common/display.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_DISPLAY_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_DISPLAY_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( display_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef void result_type; - - result_type operator()(A0 const& a0) const - { - std::cout << "ans = \n " << a0 << std::endl; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( display_, tag::cpu_ - , (Tag)(Site) - , ((unspecified_< nt2::functor >)) - ) - { - typedef void result_type; - - result_type operator()(nt2::functor const&) const - { - std::string tag = type_id(); - std::size_t pos = tag.find_last_of(':')+1; - std::size_t sz = tag.size()-pos-1; - std::cout << "ans = \n @" << tag.substr(pos, sz) << std::endl; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( display_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - - result_type operator()(A0 const& a0, A1 const& a1) const - { - std::cout << a0 << " = \n " << a1 << std::endl; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/expand.hpp b/inst/include/nt2/core/functions/common/expand.hpp deleted file mode 100644 index c0e3631..0000000 --- a/inst/include/nt2/core/functions/common/expand.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_EXPAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_EXPAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_)) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - typedef typename meta::as_index::type i_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - // We get current position as a subscript - BOOST_AUTO_TPL( s - , as_subscript( boost::proto - ::value(boost::proto::child_c<1>(a0)) - , enumerate(p) - ) - ); - - // This code select between the actual values and 0 depending on the - // fact that the current linear index, once turned into a subscript of - // the destination matrix, is inside the old one. - return nt2::if_else - ( isinside( s, boost::proto::child_c<0>(a0) ) - , nt2::run( boost::proto::child_c<0>(a0) - , nt2::min - ( splat( boost::proto - ::value(boost::proto::child_c<2>(a0)) - ) - , as_index(boost::proto::child_c<0>(a0).extent(), s) - ) - , t - ) - , Zero() - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/expand_to.hpp b/inst/include/nt2/core/functions/common/expand_to.hpp deleted file mode 100644 index ef3b300..0000000 --- a/inst/include/nt2/core/functions/common/expand_to.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_EXPAND_TO_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_EXPAND_TO_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_)) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename boost::proto::result_of:: - child_c::value_type child0_t; - typedef typename A0::extent_type ext_t; - typedef typename Data::type result_type; - - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript::type s_t; - - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - // Grab position and size - s_t pos0 = as_subscript(a0.extent(), enumerate(p)); - ext_t sz0 = boost::proto::child_c<0>(a0).extent(); - - // If you're a singleton, you're always the smallest - for(std::size_t i = 0; i != ext_t::size(); ++i) - { - pos0[i] = nt2::min(splat(sz0[i]-1u), pos0[i]); - } - - // return each value potentially repeated - return nt2::run(boost::proto::child_c<0>(a0), as_index(sz0, pos0), t); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/fill_pattern.hpp b/inst/include/nt2/core/functions/common/fill_pattern.hpp deleted file mode 100644 index f4c8ad2..0000000 --- a/inst/include/nt2/core/functions/common/fill_pattern.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_FILL_PATTERN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_FILL_PATTERN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::fill_pattern_ - , N , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - typedef typename meta::as_index::type i_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - std::size_t n = boost::proto::value(boost::proto::child_c<2>(a0)); - i_t pos = nt2::enumerate(p) % splat(n); - - return nt2::run(boost::proto::child_c<1>(a0),pos,t); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/flipdim.hpp b/inst/include/nt2/core/functions/common/flipdim.hpp deleted file mode 100644 index e6ef36f..0000000 --- a/inst/include/nt2/core/functions/common/flipdim.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_FLIPDIM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_FLIPDIM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::flipdim_ - , N , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0& a0, State const& p, Data const& t) const - { - typedef typename boost::proto::result_of - ::child_c::value_type::extent_type ext_t; - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript::type sub_t; - - size_t along = boost::proto::child_c<1>(a0); - ext_t ex = a0.extent(); - - sub_t pos = as_subscript(ex,nt2::enumerate(p)); - pos[along] = dec(ex[along]-pos[along]); - - return nt2::run(boost::proto::child_c<0>(a0),as_index(ex,pos),t); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/fliplr.hpp b/inst/include/nt2/core/functions/common/fliplr.hpp deleted file mode 100644 index d7266f4..0000000 --- a/inst/include/nt2/core/functions/common/fliplr.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_FLIPLR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_FLIPLR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::fliplr_ - , N, nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type sub_t; - - // Retrieve 2D position from the linear index - _2D ex = a0.extent(); - sub_t pos = as_subscript(ex, nt2::enumerate(p)); - - // Compute the flipped start of the enumeration - pos[1] = dec(width(a0)-pos[1]); - - return nt2::run(boost::proto::child_c<0>(a0),as_index(ex,pos),t); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/flipud.hpp b/inst/include/nt2/core/functions/common/flipud.hpp deleted file mode 100644 index b628679..0000000 --- a/inst/include/nt2/core/functions/common/flipud.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_FLIPUD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_FLIPUD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::flipud_ - , N , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type sub_t; - - // Retrieve 2D position from the linear index - _2D ex = a0.extent(); - sub_t pos = as_subscript(ex, nt2::enumerate(p)); - - // Compute the flipped start of the enumeration - pos[0] = dec(height(a0)-pos[0]); - - return nt2::run( boost::proto::child_c<0>(a0) - , as_index(ex,pos) - , t - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/freqspace.hpp b/inst/include/nt2/core/functions/common/freqspace.hpp deleted file mode 100644 index a35160f..0000000 --- a/inst/include/nt2/core/functions/common/freqspace.hpp +++ /dev/null @@ -1,177 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_FREQSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_FREQSPACE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( freqspace_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_ < A0, nt2::tag::freqspace_ - , N0, nt2::container::domain - > - )) - ((node_ < A1, nt2::tag::tie_ - , N1, nt2::container::domain - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - typedef typename boost::proto::result_of::child_c::value_type c0_t; - typedef typename boost::dispatch::meta::semantic_of::type s0_t; - - eval(a0,a1,N0(),N1(), typename meta::is_scalar::type() ); - } - - // [f] = freqspace(scalar) - BOOST_FORCEINLINE result_type - eval( A0& a0, A1& a1 - , boost::mpl::long_<3> const&, boost::mpl::long_<1> const& - , boost::mpl::true_ const& - ) const - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type t_t; - - t_t s = t_t(2)/boost::proto::value(boost::proto::child_c<2>(a0)); - - boost::proto::child_c<0>(a1) = _( t_t(0.), s, t_t(1.) ); - } - - // [f1,f2] = freqspace(scalar) - BOOST_FORCEINLINE result_type - eval( A0& a0, A1& a1 - , boost::mpl::long_<3> const&, boost::mpl::long_<2> const& - , boost::mpl::true_ const& - ) const - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type t_t; - - std::ptrdiff_t n = boost::proto::value(boost::proto::child_c<2>(a0)); - t_t l,s,u; - - setup(n,l,s,u); - - a1 = nt2::tie( _(l,s,u), _(l,s,u) ); - } - - // [f] = freqspace(n, 'option') - BOOST_FORCEINLINE result_type - eval( A0& a0, A1& a1 - , boost::mpl::long_<4> const&, boost::mpl::long_<1> const& - , boost::mpl::true_ const& - ) const - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type t_t; - - t_t n = t_t(boost::proto::value(boost::proto::child_c<2>(a0))); - - boost::proto::child_c<0>(a1) = _(t_t(0),2/n,2*(n-1)/n); - } - - // [f1] = freqspace(size) - BOOST_FORCEINLINE result_type - eval( A0& a0, A1& a1 - , boost::mpl::long_<3> const&, boost::mpl::long_<1> const& - , boost::mpl::false_ const& - ) const - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type t0_t; - - std::ptrdiff_t m = boost::proto::child_c<2>(a0)(begin_+1); - - t0_t l0, u0, s0; - setup(m,l0,s0,u0); - - boost::proto::child_c<0>(a1) = _(l0,s0,u0); - } - - // [f1,f2] = freqspace(size) - BOOST_FORCEINLINE result_type - eval( A0& a0, A1& a1 - , boost::mpl::long_<3> const&, boost::mpl::long_<2> const& - , boost::mpl::false_ const& - ) const - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type t0_t; - - typedef typename boost::proto::result_of - ::child_c::value_type::value_type t1_t; - - std::ptrdiff_t m = boost::proto::child_c<2>(a0)(begin_); - std::ptrdiff_t n = boost::proto::child_c<2>(a0)(begin_+1); - - t0_t l0, u0, s0; - t1_t l1, u1, s1; - - setup(m,l1,s1,u1); - setup(n,l0,s0,u0); - - // These can't be merged as both can have different numels - boost::proto::child_c<0>(a1) = _(l0,s0,u0); - boost::proto::child_c<1>(a1) = _(l1,s1,u1); - } - - // [f,g] = freqspace(size, 'option') - BOOST_FORCEINLINE result_type - eval( A0& a0, A1& a1 - , boost::mpl::long_<4> const&, boost::mpl::long_<2> const& - , boost::mpl::false_ const& - ) const - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type t0_t; - - typedef typename boost::proto::result_of - ::child_c::value_type::value_type t1_t; - - std::ptrdiff_t m = boost::proto::child_c<2>(a0)(begin_); - std::ptrdiff_t n = boost::proto::child_c<2>(a0)(begin_+1); - - t0_t l0, u0, s0; - t1_t l1, u1, s1; - - setup(m,l1,s1,u1); - setup(n,l0,s0,u0); - - a1 = meshgrid( _(l0,s0,u0), _(l1,s1,u1) ); - } - - private: - - template - static BOOST_FORCEINLINE void setup(std::ptrdiff_t n, T& l, T& s, T& u) - { - T d = is_odd(n) ? T(1) : T(0); - - l = d/n - T(1); - s = T(2)/n; - u = T(1) + (d-2)/n; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/from_diag.hpp b/inst/include/nt2/core/functions/common/from_diag.hpp deleted file mode 100644 index 77bf3d9..0000000 --- a/inst/include/nt2/core/functions/common/from_diag.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_FROM_DIAG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_FROM_DIAG_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_ < A0, nt2::tag::from_diag_ - , boost::mpl::long_<1> - ,nt2::container::domain> - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - typedef typename meta::as_index::type i_t; - typedef typename meta:: - call)>::type p_t; - typedef typename result_of::as_subscript<_2D,p_t>::type s_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - // Retrieve 2D position from the linear index - s_t const pos = as_subscript( a0.extent() - , enumerate(p) - ); - - // Return a diagonal built from boost::proto::child_c<0>(a0) - return nt2::if_else ( nt2::eq( pos[0], pos[1] ) - , nt2::run(boost::proto::child_c<0>(a0), pos[1], t) - , Zero() - ); - } - }; - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - { - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_ < A0, nt2::tag::from_diag_ - , boost::mpl::long_<2> - ,nt2::container::domain> - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - typedef typename meta::as_index::type i_t; - typedef typename meta::as_signed::type si_t; - typedef typename meta:: - call)>::type p_t; - typedef typename result_of::as_subscript<_2D,p_t>::type s_t; - typedef typename s_t::value_type sp_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - // Retrieve 2D position from the linear index - s_t const pos = as_subscript( a0.extent() - , enumerate(p) - ); - - // Compute the offset and new position - std::ptrdiff_t o = boost::proto::value(boost::proto::child_c<1>(a0)); - si_t p0 = bitwise_cast(pos[0]) + o; - si_t p1 = bitwise_cast(pos[1]); - si_t pp = p1 - o + (o < 0 ? o : 0); - si_t nz = splat(numel(boost::proto::child_c<0>(a0))-1); - - return nt2::if_else ( nt2::eq( p0, p1 ) - , nt2::run( boost::proto::child_c<0>(a0) - , bitwise_cast ( max ( min(pp,nz) - , Zero() - ) - ) - , t - ) - , Zero() - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/generative.hpp b/inst/include/nt2/core/functions/common/generative.hpp deleted file mode 100644 index 3ac5a6e..0000000 --- a/inst/include/nt2/core/functions/common/generative.hpp +++ /dev/null @@ -1,145 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_GENERATIVE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_GENERATIVE_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - /// of_size + target - BOOST_DISPATCH_IMPLEMENT_G( nt2::ext::pure_constant_, tag::cpu_ - , (T)(A0)(Tag) - , (fusion_sequence_) - (target_< scalar_< unspecified_ > >) - ) - { - typedef typename boost::remove_const::type size_type; - typedef nt2::meta::constant_ constant_t; - typedef nt2::meta::as_ target_t; - typedef typename boost::proto::result_of - ::make_expr < Tag, nt2::container::domain - , size_type - , constant_t - , target_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const&) const - { - return boost::proto - ::make_expr(a0, constant_t(), target_t()); - } - }; - - /// INTERNAL ONLY - /// of_size - BOOST_DISPATCH_IMPLEMENT_G( nt2::ext::pure_constant_, tag::cpu_ - , (A0)(Tag) - , (fusion_sequence_) - ) - { - typedef typename boost::remove_const::type size_type; - typedef nt2::meta::constant_ constant_t; - typedef nt2::meta::as_ target_t; - typedef typename boost::proto::result_of - ::make_expr < Tag, nt2::container::domain - , size_type - , constant_t - , target_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::proto - ::make_expr ( a0 - , constant_t() - , target_t() - ); - } - }; - - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< arithmetic_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT_G( nt2::ext::pure_constant_, tag::cpu_ \ - , (Tag)BOOST_PP_REPEAT(n,M2,~) \ - , BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - typedef typename boost::dispatch::make_functor::type call_t; \ - BOOST_DISPATCH_RETURNS( n \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) ) \ - , (call_t()(nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a))) \ - ) \ - ) \ - }; \ - \ - BOOST_DISPATCH_IMPLEMENT_G( nt2::ext::pure_constant_, tag::cpu_ \ - , (Tag)BOOST_PP_REPEAT(n,M2,~)(T) \ - , BOOST_PP_REPEAT(n,M1,~) \ - (target_< scalar_< unspecified_ > >) \ - ) \ - { \ - typedef typename boost::dispatch::make_functor::type call_t; \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - , T const& tgt \ - ) \ - , (call_t() ( nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a)) \ - , tgt \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - - #undef M0 - #undef M1 - #undef M2 - - /// INTERNAL ONLY - /// size(...) - BOOST_DISPATCH_IMPLEMENT_G( nt2::ext::pure_constant_, tag::cpu_ - , (A0)(Tag) - , ((ast_< A0, nt2::container::domain >)) - ) - { - typedef typename boost::dispatch::make_functor::type call_t; - BOOST_DISPATCH_RETURNS(1, (A0 const& a0) - , (call_t()(nt2::as_size(a0))) - ) - }; - - /// INTERNAL ONLY - /// size(...) + target - BOOST_DISPATCH_IMPLEMENT_G( nt2::ext::pure_constant_, tag::cpu_ - , (Tag)(A0)(T) - , ((ast_< A0, nt2::container::domain >)) - (target_< scalar_< unspecified_ > >) - ) - { - typedef typename boost::dispatch::make_functor::type call_t; - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, T const& tgt) - , (call_t()(nt2::as_size(a0),tgt)) - ) - }; -} } } - -#endif diff --git a/inst/include/nt2/core/functions/common/globalmin.hpp b/inst/include/nt2/core/functions/common/globalmin.hpp deleted file mode 100644 index cc1ccf7..0000000 --- a/inst/include/nt2/core/functions/common/globalmin.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_GLOBALMIN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_GLOBALMIN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalmin_ - , tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call, const A0&)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalmin_ - , tag::cpu_ - , (A0)(A1) - , (unspecified_) - (scalar_ >) - ) - { - typedef typename meta::call, const A0&)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 & a1) const - { - result_type tmp = global(nt2::functor(), a0); - A1 k = nt2::globalfind(a0 == tmp)(1); - a1 = k; - return tmp; - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/ind2sub.hpp b/inst/include/nt2/core/functions/common/ind2sub.hpp deleted file mode 100644 index 03b4be8..0000000 --- a/inst/include/nt2/core/functions/common/ind2sub.hpp +++ /dev/null @@ -1,120 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_IND2SUB_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_IND2SUB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_DISABLE_ASSERTS) -#include -#include -#include -#endif - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_ < A0, nt2::tag::ind2sub_ - , N0, nt2::container::domain - > - )) - ((node_ < A1, nt2::tag::tie_ - , N1, nt2::container::domain - > - )) - ) - { - typedef void result_type; - typedef typename A0::value_type value_type; - typedef typename nt2::make_size::type dims_t; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - // Get base index - value_type bi = boost::proto::value(boost::proto::child_c<2>(a0)); - - // Compute real size to use - dims_t dz(boost::proto::value(boost::proto::child_c<0>(a0))); - - // Check every indices is inside requested size - BOOST_ASSERT_MSG( nt2::globalall( boost::proto::child_c<1>(a0) - <= value_type(nt2::numel(dz)+bi-1) - ) - , "ind2sub: Out of range index" - ); - - // Fill with proper computation - eval( boost::proto::child_c<1>(a0), a1, dz, bi - , boost::mpl::int_<0>() - , boost::mpl::int_() - , boost::mpl::bool_() - ); - } - - // General case - template - BOOST_FORCEINLINE void - eval( X const& a0, A1& a1, Size const& sz, value_type bi - , N const&, M const& m, boost::mpl::false_ const& - ) const - { - value_type ls = sz[N::value] ? sz[N::value] : 1; - - boost::proto::child_c(a1) = nt2::mod(a0-bi,ls)+bi; - - eval( ((a0-boost::proto::child_c(a1))/ls) + bi - , a1, sz, bi - , boost::mpl::int_() - , m - , boost::mpl::bool_<(N::value+1 == M::value-2)>() - ); - } - - // 2D ind2sub - remquo + additionnal base index work - template - BOOST_FORCEINLINE void - eval( X const& a0, A1& a1, Size const& sz, value_type bi - , N const&, M const&, boost::mpl::true_ const& - ) const - - { - value_type ls = sz[N::value] ? sz[N::value] : 1; - - // Perform real-enabled modulo here after base index realignment - boost::proto::child_c(a1) = nt2::mod(a0-bi,ls)+bi; - - // The j = p-i/ls comes from matlab ind2sub. It helps not - // requiring costly calls to trunc when calling ind2sub on - // real values. - boost::proto:: - child_c(a1) = ( (a0-boost::proto::child_c(a1))/ls ) - + bi; - } - - // 1D ind2sub - just copy over - template - BOOST_FORCEINLINE void - eval( X const& a0, A1& a1, Size const&, value_type - , boost::mpl::int_<0> const &, boost::mpl::int_<1> const & - , boost::mpl::false_ const& - ) const - { - boost::proto::child_c<0>(a1) = a0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/line.hpp b/inst/include/nt2/core/functions/common/line.hpp deleted file mode 100644 index 53488e6..0000000 --- a/inst/include/nt2/core/functions/common/line.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_LINE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_LINE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::line_ - , N , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type idx_t; - - std::size_t dist = boost::proto::child_c<3>(a0); - std::size_t start = boost::proto::child_c<2>(a0); - - return nt2::run ( boost::proto::child_c<0>(a0) - , nt2::enumerate(start+p*dist, dist) - , t - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/meshgrid.hpp b/inst/include/nt2/core/functions/common/meshgrid.hpp deleted file mode 100644 index 351b134..0000000 --- a/inst/include/nt2/core/functions/common/meshgrid.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_MESHGRID_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_MESHGRID_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( meshgrid_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_ < A0, nt2::tag::meshgrid_ - , N0, nt2::container::domain - > - )) - ((node_ < A1, nt2::tag::tie_ - , N1, nt2::container::domain - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - // Don't feed more than you ask - BOOST_ASSERT_MSG( N0::value >= N1::value - , "meshgrid: Too many output arguments" - ); - - typedef details::fill_grids < A0,A1,tag::meshgrid_ - , N0::value, N1::value - > filler_t; - boost::simd::meta::iterate( filler_t(a0,a1) ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/ndgrid.hpp b/inst/include/nt2/core/functions/common/ndgrid.hpp deleted file mode 100644 index 9fad66d..0000000 --- a/inst/include/nt2/core/functions/common/ndgrid.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_NDGRID_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_NDGRID_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ndgrid_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_ < A0, nt2::tag::ndgrid_ - , N0, nt2::container::domain - > - )) - ((node_ < A1, nt2::tag::tie_ - , N1, nt2::container::domain - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - // Don't feed more than you ask - BOOST_ASSERT_MSG( N0::value >= N1::value - , "ndgrid: Too many output arguments" - ); - - typedef details::fill_grids < A0,A1,tag::ndgrid_ - , N0::value, N1::value - > filler_t; - boost::simd::meta::iterate( filler_t(a0,a1) ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/rand.hpp b/inst/include/nt2/core/functions/common/rand.hpp deleted file mode 100644 index f4decb9..0000000 --- a/inst/include/nt2/core/functions/common/rand.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_RAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_RAND_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // rand evaluation - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((node_ < A1,nt2::tag::rand_ - , boost::mpl::long_<2> - , nt2::container::domain - > - )) - ) - { - typedef A0& result_type; - - result_type operator()(A0& a0, A1& a1) const - { - // Setup lhs memory using size informations from rhs - a0.resize( boost::proto::value(boost::proto::child_c<0>(a1)) ); - - // Forward to current random_stream and fill the data - current_prng_.generator_->rand(a0.data(),0,nt2::numel(a0)); - - return a0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/randi.hpp b/inst/include/nt2/core/functions/common/randi.hpp deleted file mode 100644 index ac9c26d..0000000 --- a/inst/include/nt2/core/functions/common/randi.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_RANDI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_RANDI_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N1) - , ((ast_)) - ((node_ < A1,nt2::tag::randi_ - , N1, nt2::container::domain - > - )) - ) - { - typedef A0& result_type; - - result_type operator()(A0& a0, A1& a1) const - { - // Setup lhs memory using size informations from rhs - a0.resize( boost::proto::value(boost::proto::child_c<2>(a1)) ); - - // Forward to current random_stream and fill the data - current_prng_.generator_ - ->randi ( a0.data() - , 0, nt2::numel(a0) - , boost::proto::value(boost::proto::child_c<0>(a1)) - , boost::proto::value(boost::proto::child_c<1>(a1)) - ); - - return a0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/randn.hpp b/inst/include/nt2/core/functions/common/randn.hpp deleted file mode 100644 index d7c19c3..0000000 --- a/inst/include/nt2/core/functions/common/randn.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_RANDN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_RANDN_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // randn evaluation - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((node_ < A1,nt2::tag::randn_ - , boost::mpl::long_<2> - , nt2::container::domain - > - )) - ) - { - typedef A0& result_type; - - result_type operator()(A0& a0, A1& a1) const - { - // Setup lhs memory using size informations from rhs - a0.resize( boost::proto::value(boost::proto::child_c<0>(a1)) ); - - // Forward to current randnom_stream and fill the data - current_prng_.generator_->randn(a0.data(),0,nt2::numel(a0)); - - return a0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/rephorz.hpp b/inst/include/nt2/core/functions/common/rephorz.hpp deleted file mode 100644 index e8b6b0d..0000000 --- a/inst/include/nt2/core/functions/common/rephorz.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_REPHORZ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_REPHORZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::rephorz_ - , N , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D, i_t>::type sub_t; - - // Retrieve pattern and its extent - _2D in_sz = boost::proto::child_c<0>(a0).extent(); - _2D out_sz = a0.extent(); - - sub_t pos = as_subscript(out_sz, nt2::enumerate(p)); - pos[1] = pos[1] % splat(in_sz[1]); - - return nt2::run ( boost::proto::child_c<0>(a0) - , as_index(in_sz, pos) - , t - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/repmat.hpp b/inst/include/nt2/core/functions/common/repmat.hpp deleted file mode 100644 index 15c9c3b..0000000 --- a/inst/include/nt2/core/functions/common/repmat.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_REPMAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_REPMAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::repmat_ - , N , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename A0::extent_type ext_t; - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript::type sub_t; - - // TODO: Precompute ? - ext_t in_sz = boost::proto::child_c<1>(a0).extent(); - - // Current position in the output - sub_t pos = as_subscript(a0.extent(), nt2::enumerate(p)); - - // TODO: Unroll this ? - for(std::size_t i=0; i(in_sz[i]); - - return nt2::run ( boost::proto::child_c<1>(a0) - , as_index(in_sz, pos) - , t - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/repvert.hpp b/inst/include/nt2/core/functions/common/repvert.hpp deleted file mode 100644 index e383db6..0000000 --- a/inst/include/nt2/core/functions/common/repvert.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_REPVERT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_REPVERT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::repvert_ - , N , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D, i_t>::type sub_t; - - // Retrieve pattern and its extent - _2D in_sz = boost::proto::child_c<0>(a0).extent(); - _2D out_sz = a0.extent(); - - sub_t pos = as_subscript(out_sz, nt2::enumerate(p)); - pos[0] = pos[0] % splat(in_sz[0]); - - return nt2::run ( boost::proto::child_c<0>(a0) - , as_index(in_sz, pos) - , t - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/resize.hpp b/inst/include/nt2/core/functions/common/resize.hpp deleted file mode 100644 index 559f9f4..0000000 --- a/inst/include/nt2/core/functions/common/resize.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_RESIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_RESIZE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::resize_ - , N , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type base_type; - typedef typename meta::strip::type result_type; - typedef typename meta::as_index::type i_t; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - i_t nl = splat(boost::proto::value(boost::proto::child_c<2>(a0))); - i_t pos = nt2::enumerate( p ); - - // Return 0 if out of bounds value in a0 instead - return nt2::if_else - ( nt2::le ( pos, nl ) - , nt2::run( boost::proto::child_c<0>(a0), nt2::min(pos,nl), t ) - , Zero() - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/tie.hpp b/inst/include/nt2/core/functions/common/tie.hpp deleted file mode 100644 index 4882097..0000000 --- a/inst/include/nt2/core/functions/common/tie.hpp +++ /dev/null @@ -1,167 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_TIE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_TIE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#define FUNCTION_PARAMS(z,n,t) BOOST_PP_TUPLE_ELEM(3, 0, t) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 1, t), n) BOOST_PP_TUPLE_ELEM(3, 2, t) -#define BOOST_PP_ITERATION_PARAMS_1 (3, ( 1, BOOST_DISPATCH_MAX_ARITY, "nt2/core/functions/common/tie.hpp")) -#include BOOST_PP_ITERATE() -#undef FUNCTION_PARAMS - -namespace nt2 { namespace ext -{ - template - struct value_type - { - // the usual; assignment behaves like assignment on the scalar values - template - struct impl - : meta::call::type >::type >::type - , typename meta::scalar_of< typename boost::dispatch::meta::semantic_of< typename boost::proto::result_of::child_c::type >::type >::type - ) - > - { - }; - - // if tie is used, we assume the semantic of assigning a value to - // a fusion sequence is always valid if assigning the first element is - // TODO: make nodes specify their semantic per output arity? - template - struct impl - : meta::call::type >::type, 0 >::type >::type - , typename meta::scalar_of< typename boost::dispatch::meta::semantic_of< typename boost::proto::result_of::child_c::type >::type >::type - ) - > - { - }; - - typedef impl< typename Expr::proto_child0::proto_tag - , boost::fusion::traits:: - is_sequence< typename boost::dispatch::meta:: - semantic_of< typename Expr::proto_child1 >::type - >::value - > impl_; - typedef typename impl_::type type; - }; - - // resizing a tie resizes all arguments - template - struct resize - { - template - struct impl - { - BOOST_FORCEINLINE impl(Expr& x_, Sz const& sz_) : x(x_), sz(sz_) {} - - template - BOOST_FORCEINLINE void operator()() const - { - boost::proto::child_c(x).resize(sz); - } - - Expr& x; - Sz const& sz; - - private: - impl& operator=(impl const&); - }; - - template - BOOST_FORCEINLINE void operator()(Expr& x, Sz const& sz) - { - boost::simd::meta::iterate(impl(x, sz)); - } - }; - - // semantic of assigning a fusion sequence to a fusion sequence is assumed - // to always be valid if assigning the first element is - // TODO: check other elements? - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - (fusion_sequence_) - ) - { - typedef typename boost::fusion::result_of::at_c::type first; - typedef typename boost::fusion::result_of::at_c::type first2; - typedef typename meta::call::type result_type; - }; - - // semantic of assigning a fusion sequence to a value can - // only take the first value - // Not allowed if the fusion sequence is actually a scalar - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0)(A1) - , (generic_< unspecified_ >) - (fusion_sequence_) - ) - { - BOOST_MPL_ASSERT_MSG( !boost::dispatch::meta::is_scalar::value, NT2_ASSIGN_SCALAR_SEQUENCE, (A0, A1) ); - - typedef typename boost::fusion::result_of::at_c::type first; - typedef typename meta::call::type result_type; - - result_type operator()(A0& a0, A1 const& a1) const - { - return a0 = boost::fusion::at_c<0>(a1); - } - }; -} } - -#endif -#else -#define n BOOST_PP_ITERATION() - -namespace boost { namespace dispatch { namespace meta -{ - template - struct value_of< boost::fusion::BOOST_PP_CAT(vector, n) > - { - typedef boost::fusion::BOOST_PP_CAT(vector, n)< BOOST_PP_ENUM(n, FUNCTION_PARAMS, (typename value_of<, A, >::type)) > type; - }; - - // necessary because otherwise scalar_of doesn't know that vector1< complex > is a scalar - template - struct scalar_of< boost::fusion::BOOST_PP_CAT(vector, n) > - { - typedef boost::fusion::BOOST_PP_CAT(vector, n)< BOOST_PP_ENUM(n, FUNCTION_PARAMS, (typename scalar_of<, A, >::type)) > type; - }; -} } } - -namespace nt2 { namespace meta -{ - // necessary otherwise references on the elements to do not get stripped - template - struct value_type_< boost::fusion::BOOST_PP_CAT(vector, n) > - { - typedef boost::fusion::BOOST_PP_CAT(vector, n)< BOOST_PP_ENUM(n, FUNCTION_PARAMS, (typename value_type_<, A, >::type)) > type; - }; -} } - -#undef n -#endif diff --git a/inst/include/nt2/core/functions/common/transpose.hpp b/inst/include/nt2/core/functions/common/transpose.hpp deleted file mode 100644 index 62c5b90..0000000 --- a/inst/include/nt2/core/functions/common/transpose.hpp +++ /dev/null @@ -1,120 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_TRANSPOSE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_TRANSPOSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - // transpose scalar - BOOST_DISPATCH_IMPLEMENT ( transpose_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), a0) - }; - - // transpose optimizations - BOOST_DISPATCH_IMPLEMENT ( transpose_, tag::cpu_ - , (A0) - , ((node_, nt2::container::domain>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), boost::proto::child_c<0>(a0)) - }; - - BOOST_DISPATCH_IMPLEMENT ( transpose_, tag::cpu_ - , (A0) - , ((node_, nt2::container::domain>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), conj(boost::proto::child_c<0>(a0))) - }; - - BOOST_DISPATCH_IMPLEMENT ( transpose_, tag::cpu_ - , (A0) - , ((node_, nt2::container::domain>)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), ctranspose(boost::proto::child_c<0>(a0))) - }; - - // transpose vector - template - struct transpose_row_vector - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), colvect(a0)) - }; - BOOST_DISPATCH_REGISTER_TO_IF( transpose_, tag::cpu_ - , (A0) - , (nt2::details::is_definitely_row_vector) - , ((ast_)) - , nt2::ext::transpose_row_vector - ); - - template - struct transpose_col_vector - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), rowvect(a0)) - }; - BOOST_DISPATCH_REGISTER_TO_IF( transpose_, tag::cpu_ - , (A0) - , (nt2::details::is_definitely_col_vector) - , ((ast_)) - , nt2::ext::transpose_col_vector - ); - - // transpose implementation - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_ < A0, nt2::tag::transpose_ - , boost::mpl::long_<1> - , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type sub_t; - - _2D sz(boost::proto::child_c<0>(a0).extent()); - - sub_t pos = as_subscript( a0.extent(), nt2::enumerate(p) ); - boost::swap(pos[0],pos[1]); - - return nt2::run ( boost::proto::child_c<0>(a0) - , as_index(sz, pos) - , t - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/tri1l.hpp b/inst/include/nt2/core/functions/common/tri1l.hpp deleted file mode 100644 index 46b8365..0000000 --- a/inst/include/nt2/core/functions/common/tri1l.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_TRI1L_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_TRI1L_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_< A0, nt2::tag::tri1l_ - , boost::mpl::long_<1> - , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - - // Retrieve 2D position from the linear index - s_t pos = as_subscript(_2D(a0.extent()),nt2::enumerate(p)); - - // Return the upper triangular section - return nt2::if_else ( nt2::eq(pos[0], pos[1]) - , One() - , nt2::if_else_zero ( nt2::ge (pos[0], pos[1]) - , nt2::run - ( boost::proto::child_c<0>(a0) - , p - , t - ) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_< A0, nt2::tag::tri1l_ - , boost::mpl::long_<2> - , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - typedef typename nt2::meta::as_signed::type p_t; - - // Retrieve the diagonal offset - std::ptrdiff_t o = boost::proto::value(boost::proto::child_c<1>(a0)); - - // Retrieve 2D position from the linear index - s_t pos = as_subscript(_2D(a0.extent()),nt2::enumerate(p)); - - p_t const is = bitwise_cast(pos[0]); - p_t const js = bitwise_cast(pos[1]) - splat(o); - - // Return the shifted lower triangular section with 1 on the diagonal - return nt2::if_else ( nt2::eq(is, js) - , One() - , nt2::if_else_zero ( nt2::gt(is, js) - , nt2::run - ( boost::proto::child_c<0>(a0) - , p - , t - ) - ) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/tri1u.hpp b/inst/include/nt2/core/functions/common/tri1u.hpp deleted file mode 100644 index 831a361..0000000 --- a/inst/include/nt2/core/functions/common/tri1u.hpp +++ /dev/null @@ -1,108 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_TRI1U_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_TRI1U_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_< A0, nt2::tag::tri1u_ - , boost::mpl::long_<1> - , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - - // Retrieve 2D position from the linear index - s_t pos = as_subscript(_2D(a0.extent()),nt2::enumerate(p)); - - // Return the upper triangular section with 1 on the diagonal - return nt2::if_else ( nt2::eq(pos[0], pos[1]) - , One() - , nt2::if_else_zero ( nt2::lt(pos[0], pos[1]) - , nt2::run - ( boost::proto::child_c<0>(a0) - , p - , t - ) - ) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_< A0, nt2::tag::tri1u_ - , boost::mpl::long_<2> - , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - typedef typename nt2::meta::as_signed::type p_t; - - // Retrieve the diagonal offset - std::ptrdiff_t o = boost::proto::value(boost::proto::child_c<1>(a0)); - - // Retrieve 2D position from the linear index - s_t pos = as_subscript(_2D(a0.extent()),nt2::enumerate(p)); - - p_t const is = bitwise_cast(pos[0]); - p_t const js = bitwise_cast(pos[1]) - splat(o); - - // Return the shifted upper triangular section with 1 on the diagonal - return nt2::if_else ( nt2::eq(is, js) - , One() - , nt2::if_else_zero ( nt2::lt(is, js) - , nt2::run - ( boost::proto::child_c<0>(a0) - , p - , t - ) - ) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/tril.hpp b/inst/include/nt2/core/functions/common/tril.hpp deleted file mode 100644 index 31622b8..0000000 --- a/inst/include/nt2/core/functions/common/tril.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_TRIL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_TRIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_< A0, nt2::tag::tril_ - , boost::mpl::long_<1> - , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - - // Retrieve 2D position from the linear index - s_t pos = as_subscript(_2D(a0.extent()),nt2::enumerate(p)); - - // Return the upper triangular section - return nt2::if_else_zero - ( nt2::ge (pos[0], pos[1]) - , nt2::run(boost::proto::child_c<0>(a0),p,t) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_< A0, nt2::tag::tril_ - , boost::mpl::long_<2> - , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - typedef typename nt2::meta::as_signed::type p_t; - - // Retrieve 2D position from the linear index - s_t pos = as_subscript(_2D(a0.extent()),nt2::enumerate(p)); - - // Return the upper triangular section - return nt2::if_else_zero - ( nt2::ge ( bitwise_cast(pos[0]) - , bitwise_cast(pos[1]) - - splat(boost::proto::value(boost::proto::child_c<1>(a0))) - ) - , nt2::run(boost::proto::child_c<0>(a0),p,t) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/triu.hpp b/inst/include/nt2/core/functions/common/triu.hpp deleted file mode 100644 index 50dcb71..0000000 --- a/inst/include/nt2/core/functions/common/triu.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_TRIU_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_TRIU_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_< A0, nt2::tag::triu_ - , boost::mpl::long_<1> - , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - - // Retrieve 2D position from the linear index - s_t pos = as_subscript(_2D(a0.extent()),nt2::enumerate(p)); - - // Return the upper triangular section - return nt2::if_else_zero - ( nt2::le (pos[0], pos[1]) - , nt2::run(boost::proto::child_c<0>(a0),p,t) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_< A0, nt2::tag::triu_ - , boost::mpl::long_<2> - , nt2::container::domain - > - )) - (generic_< integer_ >) - ((unspecified_)) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - typedef typename nt2::meta::as_signed::type p_t; - - // Retrieve the diagonal offset - std::ptrdiff_t o = boost::proto::value(boost::proto::child_c<1>(a0)); - - // Retrieve 2D position from the linear index - s_t pos = as_subscript(_2D(a0.extent()),nt2::enumerate(p)); - - // Return the upper triangular section - return nt2::if_else_zero - ( nt2::le ( bitwise_cast(pos[0]) - , bitwise_cast(pos[1]) - splat(o) - ) - , nt2::run(boost::proto::child_c<0>(a0),p,t) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/whereij.hpp b/inst/include/nt2/core/functions/common/whereij.hpp deleted file mode 100644 index cdffa9c..0000000 --- a/inst/include/nt2/core/functions/common/whereij.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_WHEREIJ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_WHEREIJ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::whereij_ - , N, nt2::container::domain - > - )) - (generic_< integer_ >) - (target_ >) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_2D,i_t>::type s_t; - - s_t pos = as_subscript(_2D(a0.extent()),enumerate(p)); - - return if_else( boost::proto::value(boost::proto::child_c<0>(a0))(pos[0],pos[1]) - , nt2::run(boost::proto::child_c<1>(a0), p, t) - , nt2::run(boost::proto::child_c<2>(a0), p, t) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/common/whereijk.hpp b/inst/include/nt2/core/functions/common/whereijk.hpp deleted file mode 100644 index 37d3f09..0000000 --- a/inst/include/nt2/core/functions/common/whereijk.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_COMMON_WHEREIJK_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_COMMON_WHEREIJK_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data)(N) - , ((node_ < A0, nt2::tag::whereijk_ - , N, nt2::container::domain - > - )) - (generic_< integer_ >) - (target_ >) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, State const& p, Data const& t) const - { - typedef typename meta::as_index::type i_t; - typedef typename result_of::as_subscript<_3D,i_t>::type s_t; - - s_t pos = as_subscript(_3D(a0.extent()),enumerate(p)); - - return if_else( boost::proto::value(boost::proto::child_c<0>(a0))(pos[0],pos[1],pos[2]) - , nt2::run(boost::proto::child_c<1>(a0), p, t) - , nt2::run(boost::proto::child_c<2>(a0), p, t) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/cons.hpp b/inst/include/nt2/core/functions/cons.hpp deleted file mode 100644 index f289644..0000000 --- a/inst/include/nt2/core/functions/cons.hpp +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CONS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#ifdef NT2_DONT_USE_PREPROCESSED_FILES -#include -#include -#endif - -namespace nt2 -{ - -#if !defined(NT2_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(NT2_CREATE_PREPROCESSED_FILES) && __INCLUDE_LEVEL__ == 0 -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/cons.hpp") -#undef BOOST_FORCEINLINE -#undef BOOST_ASSERT_MSG -#endif - -#define BOOST_PP_ITERATION_PARAMS_1 (3, ( 1, BOOST_PP_LIMIT_ITERATION-1, "nt2/core/functions/cons.hpp")) -#include BOOST_PP_ITERATE() - -#if defined(__WAVE__) && defined(NT2_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif -#endif - -} - -#endif -#else /* BOOST_PP_IS_ITERATING */ - -#define N BOOST_PP_ITERATION() - -template -BOOST_FORCEINLINE nt2::container::table > -cons(BOOST_PP_ENUM_PARAMS(N, T const& a)) -{ - T const data[] = { BOOST_PP_ENUM_PARAMS(N, a) }; - return nt2::container:: - table > - ( - nt2::of_size(N) - , &data[0] - , &data[0] + N - ); -} - -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, BOOST_PP_ENUM_PARAMS(N, T const& a)) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= N, "Incompatible size in cons"); - - T const data[] = { BOOST_PP_ENUM_PARAMS(N, a) }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + N - ); -} - -#undef N - -#endif diff --git a/inst/include/nt2/core/functions/construct.hpp b/inst/include/nt2/core/functions/construct.hpp deleted file mode 100644 index f6833f0..0000000 --- a/inst/include/nt2/core/functions/construct.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CONSTRUCT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CONSTRUCT_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the construct function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the construct function - **/ - struct construct_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_construct_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_construct_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_construct_; - } - - #if defined(DOXYGEN_ONLY) - /*! - @brief Extension point for container construction - - For any given @nt2 container, construct is able to perform its initialization - from a arbitrary number of parameters. This is called by all container - terminal in @nt2 and handles variability of parameters through the dispatch - system. - - @param c Container to initialize - @param args Arguments used to initialize said container - **/ - template - void construct(Container& c, Args&&... args); - #else - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::construct_, construct, 2) - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::construct_, construct, 3) - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::construct_, construct, 4) - #endif -} - -#endif - diff --git a/inst/include/nt2/core/functions/container/cumtrapz.hpp b/inst/include/nt2/core/functions/container/cumtrapz.hpp deleted file mode 100644 index fe63693..0000000 --- a/inst/include/nt2/core/functions/container/cumtrapz.hpp +++ /dev/null @@ -1,150 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CONTAINER_CUMTRAPZ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CONTAINER_CUMTRAPZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cumtrapz_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& y) const - { - size_t dim = nt2::firstnonsingleton(y); - return nt2::cumtrapz(y, dim); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( cumtrapz_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& x, A1 const& y) const - { - size_t dim = nt2::firstnonsingleton(y); - return nt2::cumtrapz(x, y, dim); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( cumtrapz_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - ((ast_)) - ) - { - typedef typename meta::call::type T0; - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& x, A1 const& y) const - { - size_t dim = nt2::firstnonsingleton(y); - return nt2::cumtrapz(y, dim)*x; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( cumtrapz_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ >) - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call::type T0; - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& x, A1 const& y, const A2& dim) const - { - return nt2::cumtrapz(y, dim)*x; - } - }; - BOOST_DISPATCH_IMPLEMENT ( cumtrapz_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename A0::extent_type extent_type; - typedef typename meta::call < tag::adjfun_(nt2::functor, A0 const&, const A1&)>::type T2; - typedef typename meta::call < tag::cumsum_(T2,const A1&)>::type T3; - typedef typename meta::call < tag::multiplies_(real_type, T3)>::type T4; - typedef typename meta::call < tag::Zero(extent_type, nt2::meta::as_)>::type T5; - typedef typename meta::call < tag::cat_(const A1&, T5, T4)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& y, const A1& dim) const - { - extent_type sizee = extent(y); - if((size_t(dim) <= numel(sizee)) && sizee[dim-1]) sizee[dim-1] = 1; - BOOST_AUTO_TPL(tmp2, nt2::adjfun(functor(), y, dim )); - BOOST_AUTO_TPL(tmp3, nt2::cumsum(tmp2, dim)); - BOOST_AUTO_TPL(tmp4, nt2::multiplies(Half(), tmp3)); - BOOST_AUTO_TPL(tmp5, nt2::zeros(sizee, nt2::meta::as_())); - return nt2::cat(dim, tmp5, tmp4); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( cumtrapz_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename A0::extent_type extent_type; - typedef typename meta::call < tag::adjfun_(functor, const A1&, const A2&)>::type T1; - typedef typename meta::call < tag::putalong_(const A0&, const A2&)>::type T2; - typedef typename meta::call < tag::diff_(T2, size_t, const A2&)>::type T3; - typedef typename meta::call < tag::extent_(T1)>::type T1b; - typedef typename meta::call < tag::expand_to_(T3, T1b)>::type T4; - typedef typename meta::call < tag::multiplies_(T4, T1)>::type T5; - typedef typename meta::call < tag::cumsum_(T5, const A2&)>::type T6; - typedef typename meta::call < tag::multiplies_(real_type, T6)>::type T7; - typedef typename meta::call < tag::Zero(extent_type, nt2::meta::as_)>::type T8; - typedef typename meta::call < tag::cat_(const A2&, T8, T7)>::type result_type; - - - BOOST_FORCEINLINE result_type operator()(A0 const& x, const A1& y, const A2& dim) const - { - BOOST_ASSERT_MSG(size(y, dim) == numel(x), "x numel is not equal to y dimension in dim direction"); - extent_type sizee = extent(y); - if((size_t(dim) <= numel(sizee))&&sizee[dim-1]) sizee[dim-1] = 1; - BOOST_AUTO_TPL(tmp1, nt2::adjfun(functor(), y, dim )); - BOOST_AUTO_TPL(tmp2, nt2::putalong(x, dim)); - BOOST_AUTO_TPL(tmp3, nt2::diff(tmp2, size_t(1), dim)); - BOOST_AUTO_TPL(tmp4, nt2::expand_to(tmp3, extent(tmp1))); - BOOST_AUTO_TPL(tmp5, nt2::multiplies(tmp4,tmp1)); - BOOST_AUTO_TPL(tmp6, nt2::cumsum(tmp5, dim)); - BOOST_AUTO_TPL(tmp7, nt2::multiplies(Half(), tmp6)); - BOOST_AUTO_TPL(tmp8, zeros(sizee, nt2::meta::as_())); - return nt2::cat(dim, tmp8, tmp7); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/ctranspose.hpp b/inst/include/nt2/core/functions/ctranspose.hpp deleted file mode 100644 index 551feb3..0000000 --- a/inst/include/nt2/core/functions/ctranspose.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CTRANSPOSE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CTRANSPOSE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief ctranspose generic tag - - Represents the ctranspose function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ctranspose_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ctranspose_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ctranspose_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ctranspose_; - } - /*! - Transpose and conjugate a matrix expression. - - @par Semantic: - - For every matricial expression - - @code - auto r = ctranspose(a0); - @endcode - - produces r such that for every valid couple of indices i, j: - - @code - r(j, i) = conj(a0(i, j)) - @endcode - - @see @funcref{transpose} - @par alias: @c ctrans, @c ct - @param a0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ctranspose_, ctranspose, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ctranspose_, ctrans, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ctranspose_, ct , 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - //BOOST_ASSERT(ndims(boost::proto::child_c<0>(e)) <= 2); - return _2D( boost::fusion::at_c<1>(boost::proto::child_c<0>(e).extent()) - , boost::fusion::at_c<0>(boost::proto::child_c<0>(e).extent()) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/cumtrapz.hpp b/inst/include/nt2/core/functions/cumtrapz.hpp deleted file mode 100644 index d60ef94..0000000 --- a/inst/include/nt2/core/functions/cumtrapz.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_CUMTRAPZ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_CUMTRAPZ_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief cumtrapz generic tag - - Represents the cumtrapz function in generic contexts. - - @par Models: - Hierarchy - **/ - struct cumtrapz_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cumtrapz_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cumtrapz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cumtrapz_; - } - /*! Computes the cumulate trapz of the vector elements using the - abscissae differences is they are given z = cumtrapz(y) computes - an approximation of the cumulative integral of y via the - trapezoidal method (with unit spacing). to compute the integral - for spacing different from one, multiply z by the spacing - increment or use cumtrapz(dx, y) where dx is the abscisae constant - and SCALAR spacing. - - @par Semantic: - - For every h of scalar type T0 and y of type T1: - - @code - T0 r = cumtrapz(h, y, dim); - @endcode - - is similar to: - - @code - T r(0] = zero; - for(int i=1;i < size(x); ++i) - r[i] = r[i-1]+(y[i-1]+y[i])*h*half; - @endcode - - this take place along the first non singleton dimension of y or - the dimension can be given by dim. - - @param a0 - @param a1 - @param a2 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cumtrapz_, cumtrapz, 3) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cumtrapz_, cumtrapz, 2) - /*! - Computes the cumulate trapz of the vector elements using the abscissae differences - is they are given - z = cumtrapz(y) computes an approximation of the cumulative - integral of y via the trapezoidal method (with unit spacing). - - @par Semantic: - - For every y of type T0: - - @code - T0 r = cumtrapz(y); - @endcode - - is similar to: - - @code - T r(0] = zero; - for(int i=1;i < size(x); ++i) - r[i] += (y[i-1]+y[i])*half; - @endcode - - @param a0 - - @return a value of the same type as the second parameter - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::cumtrapz_, cumtrapz, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/deltac.hpp b/inst/include/nt2/core/functions/deltac.hpp deleted file mode 100644 index 167f6fd..0000000 --- a/inst/include/nt2/core/functions/deltac.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DELTAC_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DELTAC_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include - -/* -In mathematics, the Kronecker delta or Kronecker's delta, named after Leopold Kronecker, is a function of two variables, usually integers. -The function is 1 if the variables are equal, and 0 otherwise: -\delta_{ij} = \begin{cases} -0 &\text{if } i \neq j \\ -1 &\text{if } i=j, \end{cases} -*/ - -namespace nt2 -{ - namespace tag - { - /*! - @brief deltac generic tag - - Represents the deltac function in generic contexts. - - @par Models: - Hierarchy - **/ - struct deltac_ : ext::state_constant_ - { - /// @brief Parent hierarchy - typedef ext::state_constant_ parent; - - /// @brief default value type for untyped calls - typedef double default_type; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_deltac_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_deltac_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_deltac_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::deltac_, deltac, 3) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::deltac_, deltac, 4) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::deltac_, deltac, 5) -} - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::generative_value - {}; - - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/deltaf.hpp b/inst/include/nt2/core/functions/deltaf.hpp deleted file mode 100644 index 692cbf6..0000000 --- a/inst/include/nt2/core/functions/deltaf.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DELTAF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DELTAF_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct deltaf_ : ext::state_constant_ - { - typedef ext::state_constant_ parent; - typedef double default_type; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_deltaf_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_deltaf_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_deltaf_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::deltaf_, deltaf, 3) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::deltaf_, deltaf, 4) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::deltaf_, deltaf, 5) -} - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::generative_value - {}; - - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/depth.hpp b/inst/include/nt2/core/functions/depth.hpp deleted file mode 100644 index 1e6b0f6..0000000 --- a/inst/include/nt2/core/functions/depth.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DEPTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DEPTH_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the depth function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for depth function - **/ - struct depth_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_depth_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_depth_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_depth_; - } - - /*! - @brief Size along the 3rd dimension of expressions - - Compute the number of element along the third dimension in a given entity. - - @param a0 Expression to compute the size in number of elements - - @return The number of elements stored in \c xpr along its third dimension - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::depth_, depth, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/details/cic.hpp b/inst/include/nt2/core/functions/details/cic.hpp deleted file mode 100644 index c7f5835..0000000 --- a/inst/include/nt2/core/functions/details/cic.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_CIC_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_CIC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct cic_; } } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY - /// Functor used to generate cic values - template struct constant_ - { - typedef Base base_type; - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const&sz, Target const&) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - return splat( as_subscript(sz,enumerate(p))[1] ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/cif.hpp b/inst/include/nt2/core/functions/details/cif.hpp deleted file mode 100644 index a751752..0000000 --- a/inst/include/nt2/core/functions/details/cif.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_CIF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_CIF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct cif_; } } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY - /// Functor used to generate cif values - template struct constant_ - { - typedef Base base_type; - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const&sz, Target const&) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - - return splat(as_subscript(sz,enumerate(p))[1]) + One(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/colon.hpp b/inst/include/nt2/core/functions/details/colon.hpp deleted file mode 100644 index ca06864..0000000 --- a/inst/include/nt2/core/functions/details/colon.hpp +++ /dev/null @@ -1,287 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_COLON_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_COLON_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag -{ - struct table_; - struct colon_; - struct unity_colon_; - struct terminal_; -} } - -namespace nt2 { namespace details -{ - /// INTERNAL ONLY - /// Factorized code for colon size evaluation - template - BOOST_FORCEINLINE std::size_t - colon_size(L const& l, S const& s, U const& u) - { - typedef typename meta::as_signed::type ltype; - typedef typename meta::as_signed::type utype; - return s ? ( ((u>l)==(s>0)) ? (utype(u)-ltype(l)+s)/s : (u == l)) : u; - } - - /// INTERNAL ONLY - /// Factorized code for colon evaluation - template - BOOST_FORCEINLINE typename Target::type - colon_value(L const& l, S const& s, Pos const& p, Target const&) - { - typedef typename Target::type type; - return nt2::fma ( nt2::enumerate(p) - , nt2::splat(s), nt2::splat(l) - ); - } - - /// INTERNAL ONLY - /// Same sign helper unity_colon_size - template BOOST_FORCEINLINE std::size_t - unity_helper( L const& l, U const& u - , B const&, B const& - ) - { - return (u >= l) ? static_cast(u-l+1) : 0u; - } - - /// INTERNAL ONLY - /// signed/unsigned helper unity_colon_size - template BOOST_FORCEINLINE std::size_t - unity_helper( L const& l, U const& u - , const boost::integral_constant& - , const boost::integral_constant& - ) - { - return (l <= 0) ? static_cast(u-l+1) - : ( u >= static_cast(l) ? static_cast(u-l+1) - : 0u - ); - } - - /// INTERNAL ONLY - /// unsigned/signed helper unity_colon_size - template BOOST_FORCEINLINE std::size_t - unity_helper( L const& l, U const& u - , const boost::integral_constant& - , const boost::integral_constant& - ) - { - return (u <= 0) ? 0u - : ( static_cast(u) >= l ? static_cast(u-l+1) - : 0u - ); - } - - /// INTERNAL ONLY - /// Factorized code for unity colon size evaluation - template - BOOST_FORCEINLINE std::size_t unity_colon_size(L const& l, U const& u) - { - return unity_helper ( l , u - , typename nt2::meta::is_signed::type() - , typename nt2::meta::is_signed::type() - ); - } - - /// INTERNAL ONLY - /// Factorized code for unity colon evaluation - template - BOOST_FORCEINLINE typename Target::type - unity_colon_value(T const& l, Pos const& p, Target const&) - { - typedef typename Target::type type; - return nt2::enumerate(p)+nt2::splat(l); - } - - /// INTERNAL ONLY - /// Storage for relative colon info - template struct relative_colon - { - typedef typename meta::is_extremum::type is_begin_t; - typedef typename meta::is_extremum::type is_end_t; - - Begin begin_; - End end_; - - // Computations of lower & upper have to take care of all - // begin/end or end/begin combinations - template std::ptrdiff_t lower(B const& b, S const& s) const - { - return lower(b,s,is_begin_t()); - } - - template std::ptrdiff_t upper(B const& b, S const& s) const - { - return upper(b,s,is_end_t()); - } - - private: - // lower/upper computations for scalar extremum - template - std::ptrdiff_t lower(B const&, S const&, boost::mpl::false_ const&) const - { - return begin_; - } - - template - std::ptrdiff_t upper(B const&, S const&, boost::mpl::false_ const&) const - { - return end_; - } - - // lower/upper computations for begin_/end_ - template - std::ptrdiff_t lower(B const& b, S const& s, boost::mpl::true_ const&) const - { - return begin_.index(b,s); - } - - template - std::ptrdiff_t upper(B const& b, S const& s, boost::mpl::true_ const&) const - { - return end_.index(b,s); - } - }; -} } - -namespace nt2 { namespace ext -{ - // _(a, b) - template - struct is_multiple_of - : boost::mpl::bool_< !(N % Cardinal) > - { - }; - - template - struct is_multiple_of - : boost::mpl::false_ - { - }; - - template - struct is_vectorizable_indexer< - nt2::container::expression< - boost::proto::basic_expr< - nt2::tag::colon_ - , boost::proto::list3< - nt2::container::expression< - boost::proto::basic_expr< - nt2::tag::terminal_ - , boost::proto::term< - nt2::of_size_<1l, N, 1l, 1l> - > - , 0l - > - , nt2::of_size_<1l, N, 1l, 1l> - > - , nt2::container::expression< - boost::proto::basic_expr< - nt2::tag::terminal_ - , boost::proto::term< - nt2::meta::constant_ - > - , 0l - > - , nt2::meta::constant_ - > - , nt2::container::expression< - boost::proto::basic_expr< - nt2::tag::terminal_ - , boost::proto::term< - boost::dispatch::meta::as_ - > - , 0l - > - , boost::dispatch::meta::as_ - > - > - , 3l - > - , nt2::memory::container< - tag::table_ - , T - , nt2::settings( - nt2::of_size_< - 1l - , N - , 1l - , 1l - > - ) - > - > - , Cardinal - > - : is_multiple_of - { - }; -} } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY - /// colon actual functor : precompute step and just iterate over - template struct constant_ - { - typedef Base base_type; - - constant_() {} - constant_( Base const& l, Base const& s) : lower_(l), step_(s) {} - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const&, Target const& t) const - { - return details::colon_value(lower_,step_,p,t); - } - - private: - Base lower_, step_; - }; - - /// INTERNAL ONLY - /// unity_colon actual functor : just forward form lower bound - template struct constant_ - { - typedef Base base_type; - - constant_() {} - constant_( Base const& l ) : lower_(l) {} - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const&, Target const& t) const - { - return details::unity_colon_value(lower_,p,t); - } - - private: - Base lower_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/cols.hpp b/inst/include/nt2/core/functions/details/cols.hpp deleted file mode 100644 index 5985ea8..0000000 --- a/inst/include/nt2/core/functions/details/cols.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_COLS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_COLS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct cols_; } } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY - /// Functor used to generate cols values - template struct constant_ - { - typedef Base base_type; - - constant_() : start_(Base()) {} - constant_(const Base & start) : start_(start) {} - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const& sz, Target const&) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - - return splat(as_subscript(sz,enumerate(p))[1]) - + splat(start_); - } - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const&, _0D const&, Target const&) const - { - typedef typename Target::type type; - return splat(start_); - } - - private : - Base start_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/delta.hpp b/inst/include/nt2/core/functions/details/delta.hpp deleted file mode 100644 index 9158101..0000000 --- a/inst/include/nt2/core/functions/details/delta.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_DELTA_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_DELTA_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - template struct delta_ {}; - - template - struct constant_, Base> - { - typedef Base base_type; - - constant_ () {} - - template - constant_(const I0& i, const J0& j) : i_(i-Index), j_(j-Index) - { - - } - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const& sz, Target const&) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - typedef typename meta::call)>::type p_t; - typedef typename nt2::result_of::as_subscript::type s_t; - typedef typename s_t::value_type v_t; - - // Retrieve 2D position from the linear index - s_t const pos = as_subscript(sz,nt2::enumerate(p)); - - // Return a 1 where it belongs - return nt2::if_else(nt2::logical_and(nt2::eq(pos[0],nt2::splat(i_)), - nt2::eq(pos[1],nt2::splat(j_))), - nt2::One(), nt2::Zero()); - } - - private: - ptrdiff_t i_, j_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/eye.hpp b/inst/include/nt2/core/functions/details/eye.hpp deleted file mode 100644 index 31958fb..0000000 --- a/inst/include/nt2/core/functions/details/eye.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_EYE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_EYE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct eye_; } } - -namespace nt2 { namespace meta -{ - template struct constant_ - { - typedef Base base_type; - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const& sz, Target const&) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - typedef typename meta:: - call)>::type p_t; - typedef typename nt2::result_of::as_subscript::type s_t; - - // Retrieve 2D position from the linear index - s_t const pos = as_subscript(sz,nt2::enumerate(p)); - - // Return a diagonal of 1 - return nt2::if_else_zero(nt2::eq(pos[0],pos[1]), One()); - } - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, _1D const&, Target const&) const - { - typedef typename Target::type type; - return nt2::if_else_zero(nt2::is_eqz(p), One()); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/fold_step.hpp b/inst/include/nt2/core/functions/details/fold_step.hpp deleted file mode 100644 index 073209f..0000000 --- a/inst/include/nt2/core/functions/details/fold_step.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_FOLD_STEP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_FOLD_STEP_HPP_INCLUDED - -/*! - @file - @brief Define and implements the fold_step function -**/ - -namespace nt2 -{ - /*! - @brief PreFold over a dimension - - Folds elements of @c a1 along a dimension, possibly in parallel, and - store the result in @c a0. - - @param Out Expression to store result in - @param In Expression to reduce - @param Bop Function to apply for binary reduction, first argument is accumulator - **/ - namespace details - { - template - inline Out fold_step(Out const & out, In& in, Bop const& bop - ,std::size_t begin - ,std::size_t size - ,std::size_t step) - { - Out result = out; - - for(std::size_t i=0, i_ = begin; i < size; i++, i_+=step) - result = bop(result, nt2::run(in, i_, meta::as_())); - - return result; - } - } - -} - -#endif diff --git a/inst/include/nt2/core/functions/details/function.hpp b/inst/include/nt2/core/functions/details/function.hpp deleted file mode 100644 index 80cf134..0000000 --- a/inst/include/nt2/core/functions/details/function.hpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_FUNCTION_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_FUNCTION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct function_index_; - } - - namespace ext - { - //============================================================================ - // resize function expression - do nothing - //============================================================================ - template - struct resize - { - template BOOST_FORCEINLINE void operator()(Expr&, Sz const&) {} - }; - - //============================================================================ - // Extension of value_type to handle function call nodes - // The returned value is the value_type of the leftmost children of the node - //============================================================================ - template - struct value_type - { - typedef typename boost::proto::result_of::child_c::type child0; - - typedef typename boost::dispatch::meta:: - scalar_of < typename boost::dispatch::meta:: - semantic_of::type - >::type type; - }; - - //============================================================================ - // Size of a function call node depends of the indexers - //============================================================================ - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type child1; - typedef size_of impl; - typedef typename impl::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return impl()(boost::proto::child_c<1>(e)); - } - }; - - //========================================================================== - // Size_of nullary function call case - handle expr() - //========================================================================== - template - struct size_of - : meta::size_as {}; - } - - namespace details - { - //========================================================================== - // Generator nullary function call case - handle expr() - //========================================================================== - template - struct generator - { - typedef typename boost::proto::result_of::child_c::type expr_t; - typedef typename boost::dispatch::meta::semantic_of::type sema_t; - - typedef container::expression < typename boost::remove_const::type - , sema_t - > result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return result_type(e); - } - }; - } -} - -#endif diff --git a/inst/include/nt2/core/functions/details/grids.hpp b/inst/include/nt2/core/functions/details/grids.hpp deleted file mode 100644 index 77ed7fc..0000000 --- a/inst/include/nt2/core/functions/details/grids.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_GRIDS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_GRIDS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct meshgrid_; } } - -namespace nt2 { namespace details -{ - // Prepare the data for the repetition in the grid - template - BOOST_FORCEINLINE - typename meta::call< tag::putalong_ - ( typename boost::proto::result_of - ::child_c::type - , std::size_t - ) - >::type - values( A0& a0, Tag const& ) - { - // meshgrid swap 0/1 dimension -- ask Mathworks - static const std::size_t J = (boost::is_same::value) - ? !Dim ? 1 : (Dim==1 ? 0 : Dim) - : Dim; - - return putalong( boost::proto::child_c(a0), J+1 ); - } - - // Iterate over the dimensions to generate grids for - template - struct fill_grids - { - fill_grids(A0& a0, A1& a1) : a0_(a0), a1_(a1) {} - - template BOOST_FORCEINLINE void operator()() const - { - eval(boost::mpl::bool_<(N1 > I && N0 > I)>()); - } - - template BOOST_FORCEINLINE - void eval(boost::mpl::true_ const&) const - { - boost::proto::child_c(a1_) = expand_to ( values(a0_,Tag() ) - , a0_.extent() - ); - } - - template BOOST_FORCEINLINE - void eval(boost::mpl::false_ const&) const {} - - private: - A0& a0_; - A1& a1_; - fill_grids& operator=(fill_grids const&); - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/homot.hpp b/inst/include/nt2/core/functions/details/homot.hpp deleted file mode 100644 index 88ad9f4..0000000 --- a/inst/include/nt2/core/functions/details/homot.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_HOMOT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_HOMOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct homot_; }} - -namespace nt2 { namespace meta -{ - template struct constant_ - { - typedef Base base_type; - - constant_ () {} - constant_(const Base& val) : val_(val) {} - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const&p , Size const& sz, Target const& ) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - typedef typename meta:: - call)>::type p_t; - typedef typename nt2::result_of::as_subscript::type s_t; - - // Retrieve 2D position from the linear index - s_t const pos = as_subscript(sz,nt2::enumerate(p)); - - // Return a diagonal of val_ - return nt2::if_else_zero(nt2::eq(pos[0],pos[1]), splat(val_)); - } - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, _1D const&, Target const&) const - { - typedef typename Target::type type; - return nt2::if_else_zero(nt2::is_eqz(p), splat(val_)); - } - - private: - Base val_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/indices.hpp b/inst/include/nt2/core/functions/details/indices.hpp deleted file mode 100644 index 0095fa3..0000000 --- a/inst/include/nt2/core/functions/details/indices.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_INDICES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_INDICES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct indices_; } } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY - /// Functor used to generate cif values - template struct constant_ - { - typedef Base base_type; - - constant_() {} - constant_(std::size_t d, std::ptrdiff_t b) : dim_(d-1), base_(b) {} - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const&sz, Target const&) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - typedef typename nt2::result_of::as_subscript::type s_t; - - s_t const pos = as_subscript(sz,nt2::enumerate(p)); - - return (dim_ >= pos.size()) ? nt2::splat(base_) - : splat(pos[dim_]) + splat(base_); - } - - private: - std::size_t dim_; - std::ptrdiff_t base_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/linspace.hpp b/inst/include/nt2/core/functions/details/linspace.hpp deleted file mode 100644 index 05f263e..0000000 --- a/inst/include/nt2/core/functions/details/linspace.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_LINSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_LINSPACE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct linspace_; }} - -namespace nt2 { namespace meta -{ - //============================================================================ - // linspace actual functor : precompute step and just iterate over - //============================================================================ - template struct constant_ - { - typedef Base base_type; - typedef typename meta::scalar_of::type real_type; - - constant_() {} - constant_ ( Base const& l, Base const& u, std::size_t n ) - : n_(n-1) - , lower_(l) - , step_((u-l)/real_type(n-1)) - , upper_(u) - {} - - template - typename Target::type - operator()(Pos const& p, Size const&, Target const&) const - { - typedef typename Target::type type; - type en = nt2::enumerate(p); - - return nt2::if_else ( eq(en, nt2::splat(n_)) - , nt2::splat(upper_) - , nt2::fma ( en - , nt2::splat(step_) - , nt2::splat(lower_) - ) - ); - } - - std::size_t n_; - Base lower_, step_, upper_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/logspace.hpp b/inst/include/nt2/core/functions/details/logspace.hpp deleted file mode 100644 index e2407c5..0000000 --- a/inst/include/nt2/core/functions/details/logspace.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_LOGSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_LOGSPACE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct logspace_; }} - -namespace nt2 { namespace meta -{ - template struct constant_ - { - typedef Base base_type; - - constant_() {} - constant_( Base const& l, Base const& u, std::size_t n ) - : lower_(n != 1?l:u), step_(n != 1?(u-l)/Base(n-1):Base(0)) - {} - - template - typename Target::type - operator()(Pos const& p, Size const&, Target const&) const - { - typedef typename Target::type type; - return nt2::exp10 ( nt2::fma( nt2::enumerate(p) - , nt2::splat(step_) - , nt2::splat(lower_) - ) - ); - } - - Base lower_, step_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/outer_fold_step.hpp b/inst/include/nt2/core/functions/details/outer_fold_step.hpp deleted file mode 100644 index 2ab783a..0000000 --- a/inst/include/nt2/core/functions/details/outer_fold_step.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_OUTER_FOLD_STEP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_OUTER_FOLD_STEP_HPP_INCLUDED - -/*! - @file - @brief Define and implements the outer_fold_step function -**/ - -#include - -namespace nt2 -{ - /*! - @brief PreFold over a dimension - - Folds elements of @c a1 along a dimension, possibly in parallel, and - store the result in @c a0. - - @param Out Expression to store result in - @param In Expression to reduce - @param Bop Function to apply for binary reduction, first argument is accumulator - **/ - namespace details - { - template - inline void outer_fold_step(Out& out, In& in - ,Neutral const & neutral - ,Bop const & bop - ,std::size_t begin - ,std::size_t size - ,std::size_t oout - ,std::size_t oin) - { - typedef typename boost::remove_reference::type::extent_type extent_type; - - extent_type ext = in.extent(); - std::size_t ibound = boost::fusion::at_c<0>(ext); - std::size_t mbound = boost::fusion::at_c<1>(ext); - std::size_t N = boost::simd::meta::cardinal_of::value; - - for (std::size_t i = 0, kout_ = oout + begin; i < size; i+=N, kout_+=N) - { - nt2::run(out, kout_, neutral(meta::as_())); - } - - for(std::size_t m=0, m_ = oin; m < mbound; m++, m_+=ibound) - { - for (std::size_t i = 0, kout_ = oout + begin, kin_ = m_ + begin; - i < size; - i+=N, kout_+=N, kin_+=N) - { - nt2::run(out, kout_, - bop( nt2::run(out, kout_, meta::as_()) - , nt2::run(in, kin_, meta::as_()) - ) - ); - } - } - } - } - -}; - -#endif diff --git a/inst/include/nt2/core/functions/details/pispace.hpp b/inst/include/nt2/core/functions/details/pispace.hpp deleted file mode 100644 index 841de21..0000000 --- a/inst/include/nt2/core/functions/details/pispace.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_PISPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_PISPACE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct pispace_; }} - -namespace nt2 { namespace meta -{ - //============================================================================ - // pispace actual functor : precompute step and just iterate over - //============================================================================ - template struct constant_ - { - typedef Base base_type; - constant_ () {} - constant_ ( Base const& l, std::size_t n ) - : lower_(l), step_((Log10_pi()-l)/(n-1)) - {} - - template - typename Target::type - operator()(Pos const& p, Size const&, Target const&) const - { - typedef typename Target::type type; - - return nt2::exp10(nt2::fma( nt2::enumerate(p) - , nt2::splat(step_) - , nt2::splat(lower_) - ) ); - } - - Base lower_, step_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/repnum.hpp b/inst/include/nt2/core/functions/details/repnum.hpp deleted file mode 100644 index 35b793d..0000000 --- a/inst/include/nt2/core/functions/details/repnum.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_REPNUM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_REPNUM_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace tag { struct repnum_; }} - -namespace nt2 { namespace meta -{ - template - struct constant_ - { - typedef Base base_type; - - constant_ () {} - constant_(const Base& val) : val_(val) {} - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const&, Size const&, Target const& ) const - { - return nt2::splat(val_); - } - - private: - Base val_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/ric.hpp b/inst/include/nt2/core/functions/details/ric.hpp deleted file mode 100644 index d48f252..0000000 --- a/inst/include/nt2/core/functions/details/ric.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_RIC_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_RIC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct ric_; } } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY - /// Functor used to generate ric values - template struct constant_ - { - typedef Base base_type; - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const&sz, Target const&) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - return splat( as_subscript(sz,enumerate(p))[0] ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/rif.hpp b/inst/include/nt2/core/functions/details/rif.hpp deleted file mode 100644 index 13dcb85..0000000 --- a/inst/include/nt2/core/functions/details/rif.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_RIF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_RIF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct rif_; } } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY - /// Functor used to generate rif values - template struct constant_ - { - typedef Base base_type; - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const&sz, Target const&) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - - - return splat(as_subscript(sz,enumerate(p))[0]) + One(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/rows.hpp b/inst/include/nt2/core/functions/details/rows.hpp deleted file mode 100644 index 41e7781..0000000 --- a/inst/include/nt2/core/functions/details/rows.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_ROWS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_ROWS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct rows_; } } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY - /// Functor used to generate rows values - template struct constant_ - { - typedef Base base_type; - - constant_() : start_(Base()) {} - constant_(const Base & start) : start_(start) {} - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const& p, Size const& sz, Target const&) const - { - typedef typename Target::type type; - typedef typename meta::as_index::type i_t; - - return splat(as_subscript(sz,enumerate(p))[0]) - + splat(start_); - } - - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const&, _0D const&, Target const&) const - { - typedef typename Target::type type; - return splat(start_); - } - - private : - Base start_; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/details/scan_step.hpp b/inst/include/nt2/core/functions/details/scan_step.hpp deleted file mode 100644 index ac7cadb..0000000 --- a/inst/include/nt2/core/functions/details/scan_step.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DETAILS_SCAN_STEP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DETAILS_SCAN_STEP_HPP_INCLUDED - -/*! - @file - @brief Define and implements the inner_scan_step function -**/ - -namespace nt2 -{ - /*! - @brief PreScan over inner dimension - - Folds elements of @c a2 along inner dimension, possibly in parallel, and - conditionnaly store the result in @c a1. - - @param Summary Value containing the updated summary - @param Out Expression to store result in - @param In Expression to reduce - @param Bop Function to apply for binary reduction, first argument is accumulator - **/ - namespace details - { - template - inline Summary scan_step( Summary summary - , Out& out, In& in - , Bop const& bop - , std::size_t begin - , std::size_t size - , std::size_t step - , bool prescan - ) - { - for(std::size_t i = 0, i_ = begin; i())); - if(!prescan) nt2::run(out, i_, summary); - } - - return summary; - } - } - -}; - -#endif diff --git a/inst/include/nt2/core/functions/diag_of.hpp b/inst/include/nt2/core/functions/diag_of.hpp deleted file mode 100644 index 92e71dd..0000000 --- a/inst/include/nt2/core/functions/diag_of.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DIAG_OF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DIAG_OF_HPP_INCLUDED - - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief diag_of generic tag - - Represents the diag_of function in generic contexts. - - @par Models: - Hierarchy - **/ - struct diag_of_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_diag_of_( ext::adl_helper(), static_cast(args)... ) ) - }; - - struct offset_diag_of_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_offset_diag_of_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_diag_of_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_diag_of_; - - template - BOOST_FORCEINLINE generic_dispatcher dispatching_offset_diag_of_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_offset_diag_of_; - } - - /*! - Extracts diagonal. - - @par Semantic: - - For every matrix expression - - @code - auto r = diag_of(a0{, k}); - @endcode - - Retrieves the k-th sub or super diagonal of an - expression. Contrary to diagonal, this is an extraction of data - and not a simple masking operation. (k defaults to 0) - - The code is similar to - - @code - auto r = tril(triu(a0, k), k); - @endcode - - k defaults to 0. - - @see @funcref{from_diag} - @param a0 - @param a1 optional, default to 0 - - @return an expression which eventually will evaluate to the result - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::offset_diag_of_, diag_of, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::diag_of_ , diag_of, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - { - typedef nt2::_1D result_type; - typedef typename boost::proto::result_of::child_c::type c0_t; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - c0_t a0 = boost::proto::child_c<0>(e); - return result_type(std::min(nt2::size(a0,1),nt2::size(a0,2))); - } - }; - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - { - typedef nt2::_1D result_type; - typedef typename boost::proto::result_of::child_c::type c0_t; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - c0_t a0 = boost::proto::child_c<0>(e); - std::ptrdiff_t w = nt2::width(a0); - std::ptrdiff_t h = nt2::height(a0); - std::ptrdiff_t m = boost::proto::child_c<3>(e); - - if(m < -h || m > w) return result_type(0); - - if(h <= w) - { - if(m <= 0) return result_type(h+m); - else if(m <= w-h) return result_type(h); - } - else - { - if(m <= w-h) return result_type(h+m); - else if(m <= 0) return result_type(w); - } - - return result_type(w-m); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/diff.hpp b/inst/include/nt2/core/functions/diff.hpp deleted file mode 100644 index d467ebe..0000000 --- a/inst/include/nt2/core/functions/diff.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DIFF_HPP_INCLUDED -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief tag for diff functor - **/ - struct diff_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_diff_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_diff_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_diff_; - } - /*! - Computes diferences along a dimension - - @par Semantic: - - For every table expressions n and p - - @code - auto x = cdiff(a, order, n); - @endcode - - is similar to: - - @code - for(int i=1;i <= order;++in) - { - for(int in=1;in<=size(x,n);++in) - ... - for(int ik=2;ik<=size(x,k)-1;++ik) - ... - for(int i1=1;in<=size(x,1);++i1) - x(i1,...,ik,...,in) = a(i1,...,ik+1,...,in)-a(i1,...,ik-1,...,in); - a = x; - } - - @endcode - - - @param a0 - @param a1 - @param a2 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::diff_ , diff, 3) - /// overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::diff_ , diff, 1) - /// overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::diff_ , diff, 2) -} -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of - ::child_c::value_type::extent_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee = boost::proto::child_c<0>(e).extent(); - std::size_t along = boost::proto::value(boost::proto::child_c<1>(e)); - if(sizee[along]) sizee[along]--; - - return sizee; - } - }; - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/disp.hpp b/inst/include/nt2/core/functions/disp.hpp deleted file mode 100644 index 2e9482a..0000000 --- a/inst/include/nt2/core/functions/disp.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DISP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DISP_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the disp function - */ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the disp functor - **/ - struct disp_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_disp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_disp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_disp_; - } - - /*! - @brief Display text or expressions - - @c disp(a0) displays the content of @c a0 in a way similar to MATLAB. - - @param a0 Value to display - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::disp_,disp,1) -} - -#endif diff --git a/inst/include/nt2/core/functions/display.hpp b/inst/include/nt2/core/functions/display.hpp deleted file mode 100644 index 8c1c8e0..0000000 --- a/inst/include/nt2/core/functions/display.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_DISPLAY_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_DISPLAY_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the display function - */ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the display functor - **/ - struct display_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_display_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_display_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_display_; - } - - /*! - @brief Display a value as unnamed - - @c disp(a0) displays the content of @c a0 in a way similar to MATLAB and - prefixed by the 'ans=' delimiter. - - @param a0 Value to display - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::display_,display,1) - - - /*! - @brief Display a value as unnamed - - @c disp(a0) displays the content of @c a0 in a way similar to MATLAB and - prefixed by an arbitrary string. - - @param a0 Name of the value to display - @param a1 Value to display - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::display_,display,2) -} - -/*! - @brief Display a named value - - For any given @c X, display the contents of @c X prefixed by the name of @c X - or its declaration in case of anonymous data. -**/ -#define NT2_DISPLAY(X) ::nt2::display(BOOST_PP_STRINGIZE(X),X) - -#endif diff --git a/inst/include/nt2/core/functions/eight.hpp b/inst/include/nt2/core/functions/eight.hpp deleted file mode 100644 index 9347c19..0000000 --- a/inst/include/nt2/core/functions/eight.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EIGHT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EIGHT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Eight,eight, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/eleven.hpp b/inst/include/nt2/core/functions/eleven.hpp deleted file mode 100644 index 5db43aa..0000000 --- a/inst/include/nt2/core/functions/eleven.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ELEVEN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ELEVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Eleven,eleven, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/erase.hpp b/inst/include/nt2/core/functions/erase.hpp deleted file mode 100644 index 55114c4..0000000 --- a/inst/include/nt2/core/functions/erase.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ERASE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ERASE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 -{ - template - void erase_impl(A& a, Phi const& phi) - { - std::size_t m = nt2::numel(phi); - if(!m) - return; - - std::size_t j = nt2::run(phi, 0u, meta::as_()); - std::size_t k = 0u; - std::size_t i = 0u; - - typename A::value_type* p = a.data(); - std::size_t n = nt2::numel(a); - - for(; i != n; ++i) - { - if(i != j) - { - p[k++] = p[i]; - } - else - { - if(i-k+1 < m) - { - j = nt2::run(phi, i-k+1, meta::as_()); - } - else - { - ++i; - break; - } - } - } - for(; i != n; ++i) - p[k++] = p[i]; - - // compute size: if only one size changes (+ trailing ones) then keep the shape, otherwise linearize - typedef typename nt2::make_size::type size_type; - size_type sz = a.extent(); - size_type phi_sz = phi.extent(); - - std::ptrdiff_t found = -1; - for(i=0; i!=sz.size(); ++i) - { - if(phi_sz[i] != sz[i]) - { - if(found == -1) - { - sz[i] -= phi_sz[i]; - found = i; - } - else - { - found = -1; - break; - } - } - } - - if(found == -1 || found == 0) - sz = nt2::of_size(1u, k); - a.resize(sz); - } - - template - void erase(A& a, Idx const& idx) - { - nt2::erase_impl(a, nt2::function_index(idx, a.extent(), meta::as_())); - } - - template - void erase(A& a, Idx const& idx, std::size_t dim) - { - nt2::erase_impl(a, nt2::along_index(idx, dim, a.extent())); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/expand.hpp b/inst/include/nt2/core/functions/expand.hpp deleted file mode 100644 index 0484909..0000000 --- a/inst/include/nt2/core/functions/expand.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPAND_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief expand generic tag - - Represents the expand function in generic contexts. - - @par Models: - Hierarchy - **/ - struct expand_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_expand_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_expand_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_expand_; - } - - /*! - Expands expression to a given size cropping or adding zeros if needed, - but preserving the position of elements inside the old remaining parts. - - @par semantic: - - expand(a,siz) is the upper left corner of a of size siz, assuming that - @c a is is infinetely extended with zeros in every dimensions. - - @param a0 expression to process - @param a1 size to expand to - @return an expression which eventually will evaluate to the result - **/ - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::expand_, expand, n) \ - /**/ - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - : meta::boxed_size - {}; - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expand_to.hpp b/inst/include/nt2/core/functions/expand_to.hpp deleted file mode 100644 index 499a458..0000000 --- a/inst/include/nt2/core/functions/expand_to.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPAND_TO_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPAND_TO_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief expand_to generic tag - - Represents the expand_to function in generic contexts. - - @par Models: - Hierarchy - **/ - struct expand_to_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_expand_to_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_expand_to_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_expand_to_; - } - - /*! - Expands expression to a given size enabling singleton expansion - - @par semantic: - - expand_to(a,siz) is conceptually equivalent (for additive element - types) to bsxfun(plus, a, zeros(siz)) - - size(a) and @c siz must be such that for every involved dimension - @c i size(a, i) == siz(i) or 1. - - Whenever a dimension of @c a or @c b is singleton (i.e equal to - one), expand_to virtually replicates the array along that - dimension to match the given dimension in siz. - - @param a0 expression to process - @param a1 size to expand to - @return an expression which eventually will evaluate to the result - **/ - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::expand_to_, expand_to, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - #undef M0 -} -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - : meta::boxed_size - {}; - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/adjfun.hpp b/inst/include/nt2/core/functions/expr/adjfun.hpp deleted file mode 100644 index 07f0568..0000000 --- a/inst/include/nt2/core/functions/expr/adjfun.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ADJFUN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ADJFUN_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( adjfun_, tag::cpu_ - , (Functor)(A0) - , (unspecified_) - ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::adjfun_ - , container::domain - , A0 const& - , std::size_t - , Functor - >::type result_type; - - BOOST_FORCEINLINE - result_type operator()(Functor const& f, A0 const& a0) const - { - std::size_t along = nt2::firstnonsingleton(a0) - 1u; - return boost::proto::make_expr< nt2::tag::adjfun_ - , container::domain - >( boost::cref(a0), along, f ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( adjfun_, tag::cpu_ - , (Functor)(A0)(Along) - , (unspecified_) - ((ast_)) - (scalar_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::adjfun_ - , container::domain - , A0 const& - , std::size_t - , Functor - >::type result_type; - - BOOST_FORCEINLINE - result_type operator()(Functor const& f, A0 const& a0, Along const& d) const - { - std::size_t along = d-1; - return boost::proto::make_expr< nt2::tag::adjfun_ - , container::domain - >( boost::cref(a0), along, f ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/along.hpp b/inst/include/nt2/core/functions/expr/along.hpp deleted file mode 100644 index 2755132..0000000 --- a/inst/include/nt2/core/functions/expr/along.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ALONG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ALONG_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type child1; - typedef size_of impl; - typedef typename impl::result_type result_type; - - result_type operator()(Expr& expr) const - { - return impl()(boost::proto::child_c<1>(expr)); - } - }; - - template - struct value_type - { - typedef typename boost::proto::result_of::child_c::value_type c0_t; - typedef typename meta::scalar_of::type type; - }; -} } - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( along_, tag::cpu_, - (A0)(A1), - ((ast_)) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0& a0, A1 const& a1), - along(a0, a1, nt2::firstnonsingleton(a0)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( along_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - (unspecified_) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0& a0, A1 const& a1, A2 const& a2), - (boost::proto::make_expr(boost::ref(a0), along_index(a1, a2, a0.extent()))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_, - (A0)(State)(Data), - ((node_ , nt2::container::domain>)) - (generic_< arithmetic_ > ) - (unspecified_) - ) - { - typedef typename boost::proto::result_of::child_c::value_type child0; - typedef typename boost::proto::result_of::child_c::value_type child1; - typedef typename meta::call< tag::run_( child0 const& - , typename meta::call< tag::run_( child1 const& - , State const& - , Data const& - ) - >::type - , Data const& - ) - >::type result_type; - - result_type operator()(A0& a0, State const& state, Data const& data) const - { - return nt2::run ( boost::proto::child_c<0>(a0) - , nt2::run( boost::proto::child_c<1>(a0) - , state - , data - ) - , data - ); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/along_index.hpp b/inst/include/nt2/core/functions/expr/along_index.hpp deleted file mode 100644 index c847518..0000000 --- a/inst/include/nt2/core/functions/expr/along_index.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ALONG_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ALONG_INDEX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - { - typedef typename boost::proto::result_of:: - value< typename boost::proto::result_of:: - child_c::value_type - >::type Sz; - typedef typename nt2::make_size < Sz::static_size - >::type result_type; - - result_type operator()(Expr& expr) const - { - result_type sz = boost::proto::value(boost::proto::child_c<2>(expr)); - std::size_t i = boost::proto::value(boost::proto::child_c<1>(expr)); - BOOST_ASSERT_MSG(i <= result_type::static_size, "Applying indexer along a dimension past the indexed size"); - sz[i-1] = numel(boost::proto::child_c<0>(expr)); - return sz; - } - }; - - template - struct value_type - { - typedef std::size_t type; - }; -} } - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( along_index_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2), - (boost::proto::make_expr(boost::cref(a0), boost::cref(a1), boost::cref(a2))) - ) - }; - - // TODO: take into account indexes - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_, - (A0)(State)(Data), - ((node_ , nt2::container::domain>)) - (generic_< arithmetic_ > ) - (unspecified_) - ) - { - typedef typename boost::mpl:: - if_< typename is_vectorizable_indexer< typename boost::proto::result_of::child_c::value_type - , typename meta::cardinal_of::type>::type - >::type - , State - , typename details::as_integer_target::type - >::type i_t; - typedef boost::array pos_type; - - typedef i_t result_type; - - result_type operator()(A0& a0, State const& state, Data const&) const - { - pos_type p = as_subscript(a0.extent(), nt2::enumerate(state)); - std::size_t i = boost::proto::value(boost::proto::child_c<1>(a0)); - if(i <= pos_type::static_size) - p[i-1] = relative_index( boost::proto::child_c<0>(a0) - , std::ptrdiff_t(1) // FIXME - , a0.extent()[i-1] - , p[i-1] - , boost::dispatch::meta::as_() - ); - return as_index(boost::proto::value(boost::proto::child_c<2>(a0)), p); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/arrayfun.hpp b/inst/include/nt2/core/functions/expr/arrayfun.hpp deleted file mode 100644 index 7899ab8..0000000 --- a/inst/include/nt2/core/functions/expr/arrayfun.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ARRAYFUN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ARRAYFUN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - #define M0(z, n, t) (A##n) - #define M1(z, n, t) (generic_< unspecified_ >) - - #define M3(z, n, t) \ - typename boost::dispatch::meta:: \ - as_ref< typename meta:: \ - call< tag::run_( typename boost::proto::result_of::child_c::type \ - , State const& \ - , typename boost::simd::ext:: \ - adapt_data< typename boost::proto::result_of::child_c::type \ - , Data \ - >::type \ - ) \ - >::type \ - >::type \ - /**/ - - #define M4(z, n, t) nt2::run(boost::proto::child_c(expr), state, boost::simd::ext::adapt_data::type, Data>::call(data)) - - #define M2(z, n, t) \ - BOOST_DISPATCH_IMPLEMENT ( arrayfun_, tag::cpu_ \ - , (F)BOOST_PP_REPEAT(n, M0, ~) \ - , (unspecified_) \ - BOOST_PP_REPEAT(n, M1, ~) \ - ) \ - { \ - typedef typename meta::result_of::type result_type; \ - \ - BOOST_FORCEINLINE result_type \ - operator()(F const& f, BOOST_PP_ENUM_BINARY_PARAMS(n, A, const& a)) const \ - { \ - return f(BOOST_PP_ENUM_PARAMS(n, a)); \ - } \ - }; \ - \ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ \ - , (Expr)(State)(Data) \ - , ((node_, nt2::container::domain>)) \ - (generic_< integer_ >) \ - (unspecified_) \ - ) \ - { \ - typedef typename meta:: \ - result_of< typename boost::proto::result_of::value< typename boost::proto::result_of::child_c::type >::type \ - ( BOOST_PP_ENUM(n, M3, ~) ) \ - >::type result_type; \ - \ - BOOST_FORCEINLINE result_type \ - operator()(Expr& expr, State const& state, Data const& data) const \ - { \ - return boost::proto::value(boost::proto::child_c<0>(expr))(BOOST_PP_ENUM(n, M4, ~)); \ - } \ - }; - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, 4, M2, ~) - #undef M4 - #undef M3 - #undef M2 - #undef M1 - #undef M0 - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/asum1.hpp b/inst/include/nt2/core/functions/expr/asum1.hpp deleted file mode 100644 index c954e8e..0000000 --- a/inst/include/nt2/core/functions/expr/asum1.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ASUM1_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ASUM1_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( asum1_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename meta - ::call::type - ) - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::sum(nt2::abs(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( asum1_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta - ::call::type - , A1 const& - ) - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - return nt2::sum(nt2::abs(a0), a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/asum2.hpp b/inst/include/nt2/core/functions/expr/asum2.hpp deleted file mode 100644 index 69991e8..0000000 --- a/inst/include/nt2/core/functions/expr/asum2.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ASUM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ASUM2_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( asum2_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename meta - ::call::type - ) - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::sum(nt2::sqr_abs(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( asum2_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta - ::call::type - , A1 const& - ) - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - return nt2::sum(nt2::sqr_abs(a0), a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/asump.hpp b/inst/include/nt2/core/functions/expr/asump.hpp deleted file mode 100644 index 37d7e5d..0000000 --- a/inst/include/nt2/core/functions/expr/asump.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ASUMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ASUMP_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( asump_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta - ::call::type - ) - > ::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& p) const - { - return nt2::sum(nt2::pow_abs(a0, p)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( asump_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - (scalar_ > ) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta - ::call::type - , A2 - ) - > ::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& p, A2 const& n) const - { - return nt2::sum(nt2::pow_abs(a0, p), n); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/band.hpp b/inst/include/nt2/core/functions/expr/band.hpp deleted file mode 100644 index 346ad05..0000000 --- a/inst/include/nt2/core/functions/expr/band.hpp +++ /dev/null @@ -1,121 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_BAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_BAND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( band_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::band_ - , container::domain - , A0 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using band: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::band_ - , container::domain - > ( boost::cref(a0) ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( band_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::band_ - , container::domain - , A0 const& - , A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using band: First input must be 2D." - ); - - // Band width must be positive - BOOST_ASSERT_MSG( a1 >= 0 - , "Error using band: Invalid band shape requested." - ); - - return boost::proto::make_expr< nt2::tag::band_ - , container::domain - > ( boost::cref(a0), a1); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( band_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::band_ - , container::domain - , A0 const& - , A1 - , A2 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1, A2 a2) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using band: First input must be 2D." - ); - - // Relative sub/superdiagonal index must be ordered - BOOST_ASSERT_MSG( a1 <= a2 - , "Error using band: Invalid band shape requested." - ); - - return boost::proto::make_expr< nt2::tag::band_ - , container::domain - > ( boost::cref(a0), a1, a2); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/blkdiag.hpp b/inst/include/nt2/core/functions/expr/blkdiag.hpp deleted file mode 100644 index c6ce7d5..0000000 --- a/inst/include/nt2/core/functions/expr/blkdiag.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_BLKDIAG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_BLKDIAG_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - /// Generates blkdiag from 1 expression - BOOST_DISPATCH_IMPLEMENT ( blkdiag_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be matrices - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using blkdiag: First input must be 2D." - ); - - return a0; - } - }; - - /// INTERNAL ONLY - /// Generates blkdiag from 2 expressions - BOOST_DISPATCH_IMPLEMENT ( blkdiag_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::blkdiag_ - , container::domain - , A0 const& - , A1 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A1 const& a1) const - { - // Expressions must be matrices - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using blkdiag: First input must be 2D." - ); - - BOOST_ASSERT_MSG( nt2::ismatrix(a1) - , "Error using blkdiag: Second input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::blkdiag_ - , container::domain - > (boost::cref(a0),boost::cref(a1)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/cat.hpp b/inst/include/nt2/core/functions/expr/cat.hpp deleted file mode 100644 index 33f497e..0000000 --- a/inst/include/nt2/core/functions/expr/cat.hpp +++ /dev/null @@ -1,125 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_CAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_CAT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates cat from 2 expressions - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( cat_, tag::cpu_, - (Dimension)(A1)(A2), - (scalar_ >) - ((ast_)) - ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::cat_ - , container::domain - , std::size_t - , A1 const& - , A2 const& - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(Dimension const& dim,A1 const& a1,A2 const& a2) const - { - BOOST_ASSERT_MSG ( arecatcompatible(a1, a2, dim) - , "cat arguments dimensions are not consistent." - ); - - return boost::proto::make_expr < nt2::tag::cat_ - , container::domain - > - ( std::size_t(dim) - , boost::cref(a1) - , boost::cref(a2) - ); - } - }; - - //============================================================================ - // Generates cat from expression/scalar - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( cat_, tag::cpu_, - (Dimension)(A1)(A2), - (scalar_ >) - ((ast_)) - (scalar_< unspecified_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::cat_ - , container::domain - , std::size_t - , A1 const& - , A2 - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(Dimension const& dim,A1 const& a1,A2 const& a2) const - { - BOOST_ASSERT_MSG ( arecatcompatible(a1, a2, dim) - , "cat arguments dimensions are not consistent." - ); - - return boost::proto::make_expr < nt2::tag::cat_ - , container::domain - > - ( std::size_t(dim) - , boost::cref(a1) - , a2 - ); - } - }; - - - //============================================================================ - // Generates cat from expression/scalar - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( cat_, tag::cpu_, - (Dimension)(A1)(A2), - (scalar_ >) - (scalar_< unspecified_ >) - ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::cat_ - , container::domain - , std::size_t - , A1 - , A2 const& - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(Dimension const& dim,A1 const& a1,A2 const& a2) const - { - BOOST_ASSERT_MSG ( arecatcompatible(a1, a2, dim) - , "cat arguments dimensions are not consistent." - ); - - return boost::proto::make_expr < nt2::tag::cat_ - , container::domain - > - ( std::size_t(dim) - , a1 - , boost::cref(a2) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/cdiff.hpp b/inst/include/nt2/core/functions/expr/cdiff.hpp deleted file mode 100644 index 91a0798..0000000 --- a/inst/include/nt2/core/functions/expr/cdiff.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_CDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_CDIFF_HPP_INCLUDED - -#include -#include - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( cdiff_, tag::cpu_, - (A0), - ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::cdiff_ - , container::domain - , A0 const& - , size_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::proto::make_expr< nt2::tag::cdiff_ - , container::domain - > - ( boost::cref(a0) - , nt2::firstnonsingleton(a0)-1 - ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( cdiff_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::cdiff_ - , container::domain - , A0 const& - , size_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, - A1 const& a1 ) const - { - return boost::proto::make_expr< nt2::tag::cdiff_ - , container::domain - > - ( boost::cref(a0) - , std::size_t(a1-1) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/colon.hpp b/inst/include/nt2/core/functions/expr/colon.hpp deleted file mode 100644 index 7f1c8b3..0000000 --- a/inst/include/nt2/core/functions/expr/colon.hpp +++ /dev/null @@ -1,202 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_COLON_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_COLON_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates colon from a pair of [low,begin_/end_+offset] - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (extremum_) - ) - { - typedef typename meta::strip::type base_t; - typedef typename meta::strip::type ext_t; - typedef details::relative_colon relative_t; - - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::relative_colon_ - , container::domain - , relative_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& l, A1 const& u) const - { - relative_t that = {l,u}; - return boost::proto:: - make_expr(that); - } - }; - - //============================================================================ - // Generates colon from a pair of [begin_/end_+offset, upper] - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1) - , (extremum_) - (scalar_< arithmetic_ >) - ) - { - typedef typename meta::strip::type ext_t; - typedef typename meta::strip::type base_t; - typedef details::relative_colon relative_t; - - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::relative_colon_ - , container::domain - , relative_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& l, A1 const& u) const - { - relative_t that = {l,u}; - return boost::proto:: - make_expr(that); - } - }; - - //============================================================================ - // Generates colon from a pair of [begin_/end_+offset, begin_/end_+offset] - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1) - , (extremum_) - (extremum_) - ) - { - typedef typename meta::strip::type ext0_t; - typedef typename meta::strip::type ext1_t; - typedef details::relative_colon relative_t; - - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::relative_colon_ - , container::domain - , relative_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& l, A1 const& u) const - { - relative_t that = {l,u}; - return boost::proto:: - make_expr(that); - } - }; - - //============================================================================ - // Generates colon from a pair of [low,step,begin_/end_+offset] - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - (extremum_) - ) - { - typedef typename boost::common_type::type base_t; - typedef typename meta::strip::type ext_t; - typedef details::relative_colon relative_t; - - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::relative_colon_ - , container::domain - , relative_t - , base_t - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& l, A1 const& s, A2 const& u) const - { - relative_t that = {l,u}; - return boost::proto:: - make_expr < tag::relative_colon_ - , container::domain - > ( that - , base_t(s) - ); - } - }; - - //============================================================================ - // Generates colon from a pair of [begin_/end_+offset,step,upper] - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1)(A2) - , (extremum_) - (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef typename meta::strip::type ext_t; - typedef typename boost::common_type::type base_t; - typedef details::relative_colon relative_t; - - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::relative_colon_ - , container::domain - , relative_t - , base_t - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& l, A1 const& s, A2 const& u) const - { - relative_t that = {l,u}; - return boost::proto:: - make_expr < tag::relative_colon_ - , container::domain - > ( that - , base_t(s) - ); - } - }; - - //============================================================================ - // Generates colon from a pair of [begin_/end_+offset,step,upper] - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1)(A2) - , (extremum_) - (scalar_< arithmetic_ >) - (extremum_) - ) - { - typedef typename meta::strip::type ext0_t; - typedef typename meta::strip::type ext1_t; - typedef details::relative_colon relative_t; - - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::relative_colon_ - , container::domain - , relative_t - , typename meta::strip::type - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& l, A1 const& s, A2 const& u) const - { - relative_t that = {l,u}; - return boost::proto:: - make_expr < tag::relative_colon_ - , container::domain - > ( that - , s - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/cols.hpp b/inst/include/nt2/core/functions/expr/cols.hpp deleted file mode 100644 index 22d923d..0000000 --- a/inst/include/nt2/core/functions/expr/cols.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_COLS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_COLS_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cols_, tag::cpu_ - , (A0)(T) - , ((ast_)) - (scalar_< unspecified_ >) - ) - { - BOOST_DISPATCH_RETURNS( 2, ( const A0& a0, T const& s ) - , (nt2::cols(nt2::as_size(a0),s) ) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/colvect.hpp b/inst/include/nt2/core/functions/expr/colvect.hpp deleted file mode 100644 index 1b5cd22..0000000 --- a/inst/include/nt2/core/functions/expr/colvect.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_COLVECT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_COLVECT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type::extent_type ext_t; - typedef typename meta::call::type num; - - typedef of_size_< mpl_value::value > result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return result_type(nt2::numel(boost::proto::child_c<0>(e))); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/deltac.hpp b/inst/include/nt2/core/functions/expr/deltac.hpp deleted file mode 100644 index af93580..0000000 --- a/inst/include/nt2/core/functions/expr/deltac.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_DELTAC_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_DELTAC_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deltac_, tag::cpu_ - , (A0)(A1)(AST)(T) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ((ast_)) - ((target_ > > )) - ) - { - BOOST_DISPATCH_RETURNS_ARGS ( 4 - , ( A0 i, A1 j, const AST& s, T const& t) - , ( A0 i, A1 j, const AST& s, T const& ) - , (nt2::deltac(i, j, nt2::as_size(s), T())) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/deltaf.hpp b/inst/include/nt2/core/functions/expr/deltaf.hpp deleted file mode 100644 index 1facd33..0000000 --- a/inst/include/nt2/core/functions/expr/deltaf.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_DELTAF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_DELTAF_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deltaf_, tag::cpu_ - , (A0)(A1)(AST)(T) - , (scalar_< integer_ >) - (scalar_< integer_ >) - ((ast_)) - ((target_ > > )) - ) - { - BOOST_DISPATCH_RETURNS_ARGS ( 4 - , ( A0 i, A1 j, const AST& s, T const& t) - , ( A0 i, A1 j, const AST& s, T const& ) - , (nt2::deltaf(i, j, nt2::as_size(s), T())) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/depth.hpp b/inst/include/nt2/core/functions/expr/depth.hpp deleted file mode 100644 index 40436d3..0000000 --- a/inst/include/nt2/core/functions/expr/depth.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_DEPTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_DEPTH_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( depth_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::size(a0, 3); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/diag_of.hpp b/inst/include/nt2/core/functions/expr/diag_of.hpp deleted file mode 100644 index 3650f36..0000000 --- a/inst/include/nt2/core/functions/expr/diag_of.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_DIAG_OF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_DIAG_OF_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( diag_of_, tag::cpu_, (A0), ((ast_)) ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::diag_of_ - , container::domain - , A0 const& - , std::size_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "??? Error using ==> diag_of " - "First input must be 2D" - ); - - std::size_t offset = 1 + nt2::size(a0,1); - - return boost::proto::make_expr< nt2::tag::diag_of_ - , container::domain - > ( boost::cref(a0) - , offset - ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( offset_diag_of_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::offset_diag_of_ - , container::domain - , A0 const& - , std::size_t - , std::size_t - , A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "??? Error using ==> diag_of " - "First input must be 2D" - ); - - std::size_t offset = 1 + nt2::size(a0,1); - std::size_t start = (a1 > 0) ? a1*nt2::size(a0,1) : -a1; - - return boost::proto::make_expr< nt2::tag::offset_diag_of_ - , container::domain - > ( boost::cref(a0) - , start - , offset - , a1 - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/diff.hpp b/inst/include/nt2/core/functions/expr/diff.hpp deleted file mode 100644 index b543684..0000000 --- a/inst/include/nt2/core/functions/expr/diff.hpp +++ /dev/null @@ -1,102 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_DIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_DIFF_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( diff_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::diff_ - , container::domain - , A0 const& - , std::size_t - , std::size_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::proto::make_expr< nt2::tag::diff_ - , container::domain - > ( boost::cref(a0) - , std::size_t(nt2::firstnonsingleton(a0)-1) - , std::size_t(1) - ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( diff_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (scalar_ >) - (scalar_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::diff_ - , container::domain - , A0 const& - , std::size_t - , std::size_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()( A0 const& a0 - , A1 const& order - , A2 const& al - ) const - { - return boost::proto::make_expr< nt2::tag::diff_ - , container::domain - > ( boost::cref(a0) - , std::size_t(al-1) - , std::size_t(order) - ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( diff_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::diff_ - , container::domain - , A0 const& - , std::size_t - , std::size_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, - A1 const& order ) const - { - return boost::proto::make_expr< nt2::tag::diff_ - , container::domain - > ( boost::cref(a0) - , std::size_t(nt2::firstnonsingleton(a0)-1) - , std::size_t(order) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/display.hpp b/inst/include/nt2/core/functions/expr/display.hpp deleted file mode 100644 index 46fc32d..0000000 --- a/inst/include/nt2/core/functions/expr/display.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_DISPLAY_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_DISPLAY_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( display_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef void result_type; - - result_type operator()(A0 const& a0) const - { - nt2::details::disp("ans",std::cout,a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( display_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - ((ast_)) - ) - { - typedef void result_type; - - result_type operator()(A0 const& a0, A1 const& a1) const - { - nt2::details::disp(a0,std::cout,a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/expand.hpp b/inst/include/nt2/core/functions/expr/expand.hpp deleted file mode 100644 index a9f306f..0000000 --- a/inst/include/nt2/core/functions/expr/expand.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_EXPAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_EXPAND_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - expand from ast + fusion sequence as size - BOOST_DISPATCH_IMPLEMENT ( expand_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (fusion_sequence_) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1) - , (boost::proto::make_expr< nt2::tag::expand_ - , container::domain - > ( boost::cref(a0) - , a1 - , nt2::numel(a0)-1 - ) - ) - ) - }; - - /// INTERNAL ONLY - expand from scalar + fusion sequence as size - BOOST_DISPATCH_IMPLEMENT ( expand_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (fusion_sequence_) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1) - , (boost::proto::make_expr< nt2::tag::expand_ - , container::domain - > ( boost::cref(a0) - , a1 - , 0 - ) - ) - ) - }; - /// INTERNAL ONLY - expand from ast + ast as size - BOOST_DISPATCH_IMPLEMENT ( expand_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1) - , (nt2::expand(a0,nt2::as_size(a1))) - ) - }; - - /// INTERNAL ONLY - expand from scalar + ast as size - BOOST_DISPATCH_IMPLEMENT ( expand_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1) - , (nt2::expand(a0,nt2::as_size(a1))) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/expand_to.hpp b/inst/include/nt2/core/functions/expr/expand_to.hpp deleted file mode 100644 index e1dd206..0000000 --- a/inst/include/nt2/core/functions/expr/expand_to.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_EXPAND_TO_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_EXPAND_TO_HPP_INCLUDED - -#include -#include -#include -#include - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( expand_to_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (fusion_sequence_) - ) - { - typedef typename boost::remove_const::type sizes_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::expand_to_ - , container::domain - , A0 const& - , sizes_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - BOOST_ASSERT_MSG( isexpandable_to(a0, a1) - , "Incompatible expansion pattern" - ); - - return boost::proto:: - make_expr < nt2::tag::expand_to_ - , container::domain - > ( boost::cref(a0), a1 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( expand_to_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS( 2, (A0 const& a0, A1 const& a1) - , nt2::expand_to(a0,nt2::as_size(a1)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( expand_to_, tag::cpu_ - , (A0)(A1) - , (scalar_ > ) - (unspecified_) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), repnum(a0, a1) ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/extent.hpp b/inst/include/nt2/core/functions/expr/extent.hpp deleted file mode 100644 index 6bfea7b..0000000 --- a/inst/include/nt2/core/functions/expr/extent.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_EXTENT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_EXTENT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( extent_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename A0::extent_type const& result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return a0.extent(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/fill_pattern.hpp b/inst/include/nt2/core/functions/expr/fill_pattern.hpp deleted file mode 100644 index 21cf606..0000000 --- a/inst/include/nt2/core/functions/expr/fill_pattern.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FILL_PATTERN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FILL_PATTERN_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fill_pattern_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (fusion_sequence_) - ) - { - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::fill_pattern_ - , container::domain - , typename boost::remove_const::type - , A0 const& - , std::size_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& p, A1 const& sz) const - { - return boost::proto - ::make_expr < nt2::tag::fill_pattern_ - , container::domain - > ( sz, boost::cref(p), nt2::numel(p) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( fill_pattern_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS( 2, ( A0 const& a0, A1 const& a1 ) - , (nt2::fill_pattern(a0,nt2::as_size(a1))) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/find.hpp b/inst/include/nt2/core/functions/expr/find.hpp deleted file mode 100644 index cabc02f..0000000 --- a/inst/include/nt2/core/functions/expr/find.hpp +++ /dev/null @@ -1,250 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FIND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FIND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - { - typedef nt2::_1D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - ptrdiff_t k = boost::proto::value(boost::proto::child_c<1>(e)); - - BOOST_ASSERT_MSG( k > 0 - , "Error using find: second argument " - "must be a positive scalar integer." - ); - - ptrdiff_t n = ptrdiff_t(nt2::nbtrue(nt2::colvect(boost::proto::child_c<0>(e)))(1)); - return result_type((k > 0)? nt2::min(k, n) : 0); - } - }; - - template - struct size_of - : meta::size_as - { - typedef nt2::_1D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return result_type(nt2::nbtrue(nt2::colvect(boost::proto::child_c<0>(e)))(1)); - } - - }; - - template - struct value_type - { - typedef std::ptrdiff_t type; - }; - - BOOST_DISPATCH_IMPLEMENT ( find_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_)) - ((node_)) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::type child0; - typedef typename boost::proto::result_of::child_c::type child1; - typedef typename boost::dispatch::meta::terminal_of::type in0_t; - typedef typename in0_t::value_type value_type; - typedef typename boost::dispatch::meta::terminal_of::type out_t; - typedef typename out_t::value_type index_type; - typedef typename boost::dispatch::meta::as_integer::type idx_t; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - bool first = true; - getparams(a0, first, N0()); - compute(a0, a1, first, N1()); - } - private : - - BOOST_FORCEINLINE // i = find(x, ...) - void compute(A0 const &a0, A1 & a1, bool& first, - boost::mpl::long_<1> const &//number of outputs - ) const - { - child1& idx = boost::proto::child_c<0>(a1); - child0& a = boost::proto::child_c<0>(a0); - idx.resize(extent(a0)); - ptrdiff_t k = numel(idx); - ptrdiff_t m = nt2::numel(a); - if(!k) return; - if(first) - { - for(std::ptrdiff_t i=0, z = 0; z!= k; ++i) - { - value_type value = nt2::run(a, i, meta::as_()); - if(value) - { - idx(++z) = index_type(i+1); - } - } - } - else - { - for(std::ptrdiff_t i=m-1, z = k; z!=0; --i) - { - value_type value = nt2::run(a, i, meta::as_()); - if(value) - { - idx(z) = index_type(i+1); - --z; - } - } - } - } - - - BOOST_FORCEINLINE // [i, j]= find(x) - void compute(A0 const &a0, A1 & a1, bool& first, - boost::mpl::long_<2> const &//number of outputs - ) const - { - child1& idx = boost::proto::child_c<0>(a1); - child1& jdx = boost::proto::child_c<1>(a1); - child0& a = boost::proto::child_c<0>(a0); - idx.resize(extent(a0)); - jdx.resize(extent(a0)); - ptrdiff_t k = numel(idx); - if(!k) return; - ptrdiff_t t = nt2::numel(a); - ptrdiff_t m = nt2::size(a, 1); - ptrdiff_t n = t/m; - if(first) - { - for(ptrdiff_t i=0, z = 0; z!=k; ++i) - { - value_type value = nt2::run(a, i, meta::as_()); - if(value) - { - boost::array aa = nt2::as_subscript(boost::fusion:: make_vector(idx_t(m),idx_t(n)), idx_t(i) ); - idx(++z) = index_type(aa[1]+1); - jdx( z) = index_type(aa[0]+1); - } - } - } - else - { - for(ptrdiff_t i=t-1, z = k+1; z!=0; --i) - { - value_type value = nt2::run(a, i, meta::as_()); - if(value) - { - boost::array aa = nt2::as_subscript(boost::fusion:: make_vector(idx_t(m),idx_t(n)), idx_t(i) ); - idx(z) = index_type(aa[1]+1); - jdx(z) = index_type(aa[0]+1); - --z; - } - } - } - } - - - BOOST_FORCEINLINE // [i, j]= find(x) - void compute(A0 const &a0, A1 & a1, bool& first, - boost::mpl::long_<3> const &//number of outputs - ) const - { - typedef typename boost::proto::result_of::child_c::type child2; - typedef typename boost::proto::result_of::child_c::type child3; - child1& idx = boost::proto::child_c<0>(a1); - child2& jdx = boost::proto::child_c<1>(a1); - child3& v = boost::proto::child_c<2>(a1); - child0& a = boost::proto::child_c<0>(a0); - idx.resize(extent(a0)); - jdx.resize(extent(a0)); - v.resize(extent(a0)); - ptrdiff_t k = numel(idx); - if(!k) return; - ptrdiff_t t = nt2::numel(a); - ptrdiff_t m = nt2::size(a, 1); - ptrdiff_t n = t/m; - if(first) - { - for(ptrdiff_t i=0, z = 0; z!=k; ++i) - { - value_type value = nt2::run(a, i, meta::as_()); - if(value) - { - boost::array aa = nt2::as_subscript(boost::fusion:: make_vector(idx_t(m),idx_t(n)), idx_t(i) ); - idx(++z) = index_type(aa[1]+1); - jdx(z) = index_type(aa[0]+1); - v(z) = value; - } - } - } - else - { - for(ptrdiff_t i=t-1, z = k; z!=0; --i) - { - value_type value = nt2::run(a, i, meta::as_()); - if(value) - { - boost::array aa = nt2::as_subscript(boost::fusion:: make_vector(idx_t(m),idx_t(n)), idx_t(i) ); - idx(z) = index_type(aa[1]+1); - jdx(z) = index_type(aa[0]+1); - v(z) = value; - --z; - } - } - } - } - - BOOST_FORCEINLINE // i = find(x) - void getparams(A0 const &, bool&, - boost::mpl::long_<1> const &//number of inputs - ) const - {} - - BOOST_FORCEINLINE // i = find(x, k) - void getparams(A0 const &, bool&, - boost::mpl::long_<2> const &//number of inputs - ) const - {} - - BOOST_FORCEINLINE // i = find(x, k, 'f') or i = find(x, k, 'l') - void getparams(A0 const &a0, bool& first, - boost::mpl::long_<3> const &//number of inputs - ) const - { - first = boost::proto::value(boost::proto::child_c<2>(a0)); - } - - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/findi.hpp b/inst/include/nt2/core/functions/expr/findi.hpp deleted file mode 100644 index a45a2b0..0000000 --- a/inst/include/nt2/core/functions/expr/findi.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FINDI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FINDI_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( findi_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call < tag::findi_(A0 const& - , meta::as_) - >::type result_type; - - result_type operator()(A0 const& a0) const - { - return nt2::findi(a0, meta::as_()); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( findi_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (target_< scalar_< integer_ > >) - ) - { - typedef typename A0::value_type stype; - typedef typename boost::dispatch::meta::as_integer::type idx_t; - typedef typename A1::type index_type; - typedef nt2::memory::container term; - typedef boost::dispatch::meta::terminal_of_shared result; - typedef typename result::type result_type; - result_type operator()(A0 const& a0, A1 const&) const - { - result_type ret = result::make(); - - std::size_t t = nt2::numel(a0); - std::size_t m = nt2::size(a0, 1); - std::size_t n = t/m; - for(std::size_t i=0; i!=t; ++i) - { - stype value = nt2::run(a0, i, meta::as_()); - if(value) - { - boost::array a = nt2::as_subscript(boost::fusion:: make_vector(idx_t(m),idx_t(n)), idx_t(i) ); - boost::proto::value(ret).push_back(index_type(a[1]+1)); - } - } - - return ret; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/findj.hpp b/inst/include/nt2/core/functions/expr/findj.hpp deleted file mode 100644 index ebb48a8..0000000 --- a/inst/include/nt2/core/functions/expr/findj.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FINDJ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FINDJ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( findj_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call < tag::findj_(A0 const& - , meta::as_) - >::type result_type; - - result_type operator()(A0 const& a0) const - { - return nt2::findj(a0, meta::as_()); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( findj_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (target_< scalar_< integer_ > >) - ) - { - typedef typename A0::value_type stype; - typedef typename boost::dispatch::meta::as_integer::type idx_t; - typedef typename A1::type index_type; - typedef nt2::memory::container term; - typedef boost::dispatch::meta::terminal_of_shared result; - typedef typename result::type result_type; - - result_type operator()(A0 const& a0, A1 const&) const - { - result_type ret = result::make(); - - std::size_t t = nt2::numel(a0); - std::size_t m = nt2::size(a0, 1); - std::size_t n = t/m; - for(std::size_t i=0; i!=t; ++i) - { - stype value = nt2::run(a0, i, meta::as_()); - if(value) - { - boost::array a = nt2::as_subscript( boost::fusion::make_vector(idx_t(m),idx_t(n)), idx_t(i) ); - boost::proto::value(ret).push_back(index_type(a[0]+1)); - } - } - - return ret; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/first_index.hpp b/inst/include/nt2/core/functions/expr/first_index.hpp deleted file mode 100644 index b3509d3..0000000 --- a/inst/include/nt2/core/functions/expr/first_index.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FIRST_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FIRST_INDEX_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( first_index_,tag::cpu_ - , (A0)(A1) - , ((ast_)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef typename boost::mpl:: - at_c< typename A0::index_type::index_type, A1::value-1>::type - result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&, const A1&) const - { - result_type that; - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( first_index_,tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef std::ptrdiff_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&, const A1& d) const - { - typedef typename A0::index_type::index_type idx_t; - - BOOST_ASSERT_MSG - ( (d <= NT2_MAX_DIMENSIONS) && (d > 0) - , "Dimension index is out of bound" - ); - - switch(d) - { - #define M0(z,n,t) \ - case BOOST_PP_INC(n): return boost::mpl::at_c::type::value; \ - /**/ - BOOST_PP_REPEAT(NT2_MAX_DIMENSIONS,M0,~) - #undef M0 - default : return 1; - } - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/firstnonsingleton.hpp b/inst/include/nt2/core/functions/expr/firstnonsingleton.hpp deleted file mode 100644 index 4746955..0000000 --- a/inst/include/nt2/core/functions/expr/firstnonsingleton.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FIRSTNONSINGLETON_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FIRSTNONSINGLETON_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( firstnonsingleton_, tag::cpu_ - , (A0), ((ast_)) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return firstnonsingleton(a0.extent()); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/firstoflength.hpp b/inst/include/nt2/core/functions/expr/firstoflength.hpp deleted file mode 100644 index 34e4c1d..0000000 --- a/inst/include/nt2/core/functions/expr/firstoflength.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FIRSTOFLENGTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FIRSTOFLENGTH_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( firstoflength_, tag::cpu_ - , (A0)(A1), ((ast_))(scalar_ > ) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& dim) const - { - return firstoflength(a0.extent(), dim); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/flipdim.hpp b/inst/include/nt2/core/functions/expr/flipdim.hpp deleted file mode 100644 index 937f762..0000000 --- a/inst/include/nt2/core/functions/expr/flipdim.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FLIPDIM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FLIPDIM_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( flipdim_, tag::cpu_, (A0)(A1), - ((ast_)) - (scalar_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::flipdim_ - , container::domain - , A0 const& - , std::size_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - std::size_t d = a1-1; - return boost::proto::make_expr< nt2::tag::flipdim_ - , container::domain - > ( boost::cref(a0), d); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( flipdim_, tag::cpu_, (A0), - ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::flipdim_ - , container::domain - , A0 const& - , std::size_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - std::size_t d = nt2::firstnonsingleton(a0)-1; - return boost::proto::make_expr< nt2::tag::flipdim_ - , container::domain - > ( boost::cref(a0), d); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/fliplr.hpp b/inst/include/nt2/core/functions/expr/fliplr.hpp deleted file mode 100644 index 366d032..0000000 --- a/inst/include/nt2/core/functions/expr/fliplr.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FLIPLR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FLIPLR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( fliplr_, tag::cpu_, (A0), ((ast_)) ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::fliplr_ - , container::domain - , A0 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using fliplr: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::fliplr_ - , container::domain - > ( boost::cref(a0) ); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/flipud.hpp b/inst/include/nt2/core/functions/expr/flipud.hpp deleted file mode 100644 index b9d2f89..0000000 --- a/inst/include/nt2/core/functions/expr/flipud.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FLIPUD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FLIPUD_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( flipud_, tag::cpu_, (A0), ((ast_)) ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::flipud_ - , container::domain - , A0 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using flipud: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::flipud_ - , container::domain - > ( boost::cref(a0) ); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/freqspace.hpp b/inst/include/nt2/core/functions/expr/freqspace.hpp deleted file mode 100644 index bfb26a5..0000000 --- a/inst/include/nt2/core/functions/expr/freqspace.hpp +++ /dev/null @@ -1,133 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FREQSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FREQSPACE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( freqspace_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::freqspace_ - , container::domain - , _2D - , meta::as_ - , A0 - >::type result_type; - - BOOST_FORCEINLINE result_type operator ()(const A0& a0) const - { - BOOST_ASSERT_MSG( numel(a0) == 2, "freqspace: Invalid index size" ); - - std::size_t m = a0(first_index<1>(a0)); - - return boost::proto - ::make_expr < nt2::tag::freqspace_ - , container::domain - > ( _2D(1,1+m/2) - , meta::as_() - , a0 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( freqspace_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (target_< scalar_ > >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::freqspace_ - , container::domain - , _2D, A1, A0 - >::type result_type; - - BOOST_FORCEINLINE result_type - operator ()(const A0& a0,const A1& a1) const - { - BOOST_ASSERT_MSG( numel(a0) == 2, "freqspace: Invalid index size"); - - std::size_t m = a0(first_index<1>(a0)); - - return boost::proto - ::make_expr < nt2::tag::freqspace_ - , container::domain - > ( _2D(1,1+m/2), a1, a0 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( freqspace_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (unspecified_) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::freqspace_ - , container::domain - , _2D - , meta::as_ - , A0, A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator ()(const A0& a0, const A1& a1) const - { - BOOST_ASSERT_MSG( numel(a0) == 2, "freqspace: Invalid index size" ); - - std::size_t m = a0(first_index<1>(a0)); - - return boost::proto - ::make_expr < nt2::tag::freqspace_ - , container::domain - > ( _2D(1,1+m/2) - , meta::as_() - , a0, a1 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( freqspace_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_< A0 , nt2::container::domain>)) - (unspecified_) - (target_< scalar_ > >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::freqspace_ - , container::domain - , _2D, A2, A0, A1 - >::type result_type; - - - BOOST_FORCEINLINE result_type - operator ()(const A0& a0, const A1& a1, const A2& a2) const - { - BOOST_ASSERT_MSG( numel(a0) == 2, "freqspace: Invalid index size"); - - std::size_t m = a0(first_index<1>(a0)); - - return boost::proto - ::make_expr < nt2::tag::freqspace_ - , container::domain - > ( _2D(1,m), a2, a0, a1 ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/from_diag.hpp b/inst/include/nt2/core/functions/expr/from_diag.hpp deleted file mode 100644 index 1ef7cb7..0000000 --- a/inst/include/nt2/core/functions/expr/from_diag.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FROM_DIAG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FROM_DIAG_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( from_diag_, tag::cpu_, (A0), ((ast_)) ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::from_diag_ - , container::domain - , A0 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::isvector(a0) - , "??? Error using ==> from_diag " - "First input must be a vector" - ); - - return boost::proto::make_expr< nt2::tag::from_diag_ - , container::domain - > ( boost::cref(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( from_diag_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::from_diag_ - , container::domain - , A0 const& - , A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::isvector(a0) - , "??? Error using ==> from_diag " - "First input must be a vector" - ); - - return boost::proto::make_expr< nt2::tag::from_diag_ - , container::domain - > ( boost::cref(a0) - , a1 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( from_diag_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::from_diag_ - , container::domain - , A0 - , A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return boost::proto::make_expr< nt2::tag::from_diag_ - , container::domain - > ( a0 - , a1 - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/function.hpp b/inst/include/nt2/core/functions/expr/function.hpp deleted file mode 100644 index 029dad0..0000000 --- a/inst/include/nt2/core/functions/expr/function.hpp +++ /dev/null @@ -1,245 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FUNCTION_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FUNCTION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0)(N0)(I0) - , ((node_)) - ((node_, nt2::container::domain>)) - ) - { - typedef A0& result_type; - - result_type operator()(A0& a0, I0&) const - { - typedef typename A0::proto_child0::proto_child0 container_ref; - typedef typename container_ref::base_t base_t; - typedef boost::proto::basic_expr< nt2::tag::terminal_, boost::proto::term, 0l> basic_expr; - typedef nt2::container::expression nt2_expr; - - nt2_expr c(basic_expr::make(static_cast(*boost::proto::value(boost::proto::child_c<0>(a0)).base()))); - nt2::erase(c, boost::proto::child_c<0>(boost::proto::child_c<1>(a0))); - return a0; - } - }; - - // handle erase for a(_, 1) = _(), lhs is a terminal because contiguous - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0)(I0) - , ((node_, nt2::container::domain>)) - ((node_, nt2::container::domain>)) - ) - { - typedef A0& result_type; - - result_type operator()(A0& a0, I0& i0) const - { - return (*this)(a0, i0, typename meta::is_container::type()); - } - - - result_type operator()(A0& a0, I0&, boost::mpl::true_) const - { - a0.resize(nt2::of_size(0)); - return a0; - } - - result_type operator()(A0& a0, I0&, boost::mpl::false_) const - { - typedef typename A0::proto_child0 container_ref; - typedef typename container_ref::base_t base0_t; - typedef typename meta::add_settings::type base_t; - - typedef boost::proto::basic_expr< nt2::tag::terminal_, boost::proto::term, 0l> basic_expr; - typedef nt2::container::expression nt2_expr; - - // FIXME: this static_cast isn't really safe - nt2_expr c(basic_expr::make(static_cast(*boost::proto::value(a0).base()))); - std::size_t b = c.data()-a0.data(); - nt2::erase(c, nt2::aggregate(_(b+1u, b+numel(a0)))); - return a0; - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( function_, tag::cpu_ - , (A0)(I0) - , ((ast_))(colon_) - ) - { - BOOST_DISPATCH_RETURNS_ARGS ( 2 - , (A0& a0, I0 const& io) - , (A0& a0, I0 const&) - , nt2::colvect(a0) - ); - }; - - template - struct function_find - { - typedef T type; - static T const& call(A0&, T const& t) - { - return t; - } - }; - - template - struct function_find >::type> - { - typedef typename A0::value_type stype; - typedef typename meta::as_index::type itype; - typedef typename meta::call)>::type type; - static type call(A0&, T const& t) - { - return nt2::globalfind(t, meta::as_()); - } - }; - - template::value> - struct function_impl - { - typedef typename boost::proto::result_of:: - make_expr < nt2::tag::function_ - , container::domain - , A0& - , typename meta:: - call< tag::function_index_( I const& - , typename A0::extent_type - , meta::as_ - ) - >::type - >::type type; - - static type call(A0& a0, I const& indices) - { - return boost::proto::make_expr - ( boost::reference_wrapper(a0) - , function_index(indices, a0.extent(), meta::as_()) - ); - } - }; - - template - struct function_impl - { - // A0's semantic is a container - template - struct impl - { - typedef typename meta:: - call< tag::function_index_( I const& - , typename A0::extent_type - , meta::as_ - ) - >::type Idx; - - typedef typename container::as_view_impl::type type0; - typedef typename meta::add_settings::type type; - - typedef typename type::nt2_expression nt2_expr; - typedef typename nt2_expr::proto_base_expr basic_expr; - typedef typename type::proto_child0 container_ref; - - static type call(A0& a0, I const& indices) - { - Idx idx = nt2::function_index(indices, a0.extent(), meta::as_()); - std::size_t b = nt2::run(idx, 0u, meta::as_()); - - return nt2_expr(basic_expr::make(container_ref(boost::proto::value(a0), boost::proto::value(a0).begin()+b, idx.extent()))); - } - }; - - // A0's semantic is a scalar, we can't use views - template - struct impl - { - typedef typename boost::dispatch::meta::semantic_of::type type; - static type call(A0& a0, I const&) - { - return a0; - } - }; - - typedef impl< meta::is_scalar< typename boost::dispatch::meta::semantic_of::type >::value > impl_; - - typedef typename impl_::type type; - static type call(A0& a0, I const& indices) - { - return impl_::call(a0, indices); - } - }; - -#define M1(z,n,t) (I##n) -#define M2(z,n,t) (unspecified_) -#define M3(z,n,t) typename nt2::ext::function_find::type -#define M4(z,n,t) function_find::call(a0, i##n) - -#define M0(z,n,t) \ -BOOST_DISPATCH_IMPLEMENT ( function_, tag::cpu_ \ - , (A0)BOOST_PP_REPEAT(n,M1,~) \ - , ((ast_))BOOST_PP_REPEAT(n,M2,~) \ - ) \ -{ \ - typedef typename meta:: \ - call< tag::aggregate_(BOOST_PP_ENUM(n, M3, ~)) \ - >::type indices; \ - \ - typedef function_impl impl; \ - typedef typename impl::type result_type; \ - \ - BOOST_FORCEINLINE result_type \ - operator()(A0& a0, BOOST_PP_ENUM_BINARY_PARAMS(n,const I,& i) ) const \ - { \ - return impl::call(a0, nt2::aggregate(BOOST_PP_ENUM(n,M4,~))); \ - } \ -}; \ -/**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - -#undef M0 -#undef M1 -#undef M2 -#undef M3 -#undef M4 -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/function_index.hpp b/inst/include/nt2/core/functions/expr/function_index.hpp deleted file mode 100644 index b8571e7..0000000 --- a/inst/include/nt2/core/functions/expr/function_index.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_FUNCTION_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_FUNCTION_INDEX_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( function_index_, tag::cpu_ - , (I)(N)(Sz)(Idx) - , ((node_)) - (fusion_sequence_) - (target_< unspecified_ >) - ) - { - typedef typename nt2::make_size::type size_type; - typedef typename boost::proto::result_of:: - make_expr < nt2::tag::function_index_ - , container::domain - , I - , typename boost::remove_const::type - , size_type - , Idx - >::type result_type; - - result_type operator()(I const& i, Sz const& sz, Idx const& idx) const - { - size_type compact(sz); - return boost::proto::make_expr< tag::function_index_ - , container::domain - >( i, sz, compact, idx); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/global.hpp b/inst/include/nt2/core/functions/expr/global.hpp deleted file mode 100644 index ac5b332..0000000 --- a/inst/include/nt2/core/functions/expr/global.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_GLOBAL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_GLOBAL_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( global_, tag::cpu_, - (A0)(A1), - (unspecified_) - ((ast_)) - ) - { - typedef typename A1::value_type value_type; - typedef typename meta::result_of::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return a0(nt2::colvect(a1))(1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( global_, tag::cpu_, - (A0)(A1), - (unspecified_) - (generic_ > ) - ) - { - typedef typename meta::result_of::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - return a0(a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( global_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - ((ast_)) - (unspecified_) - ) - { - typedef typename A1::value_type value_type; - typedef typename meta::result_of::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - return a0(nt2::colvect(a1), a2)(1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( global_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - (generic_ > ) - (unspecified_) - ) - { - typedef typename meta::result_of::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1, A2 const& a2) const - { - return a0(a1, a2); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/globalfind.hpp b/inst/include/nt2/core/functions/expr/globalfind.hpp deleted file mode 100644 index 3474993..0000000 --- a/inst/include/nt2/core/functions/expr/globalfind.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_GLOBALFIND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_GLOBALFIND_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalfind_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call < tag::globalfind_(A0 const& - , meta::as_) - >::type result_type; - - result_type operator()(A0 const& a0) const - { - return nt2::globalfind(a0, meta::as_()); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalfind_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (target_< scalar_< integer_ > >) - ) - { - typedef typename A0::value_type stype; - typedef typename A1::type index_type; - typedef nt2::memory::container term; - typedef boost::dispatch::meta::terminal_of_shared result; - typedef typename result::type result_type; - - result_type operator()(A0 const& a0, A1 const&) const - { - typename meta::as_elementwise::type a00 = meta::as_elementwise::call(a0); - - result_type ret = result::make(); - - std::size_t m = nt2::numel(a00); - for(std::size_t i=0; i!=m; ++i) - { - stype value = nt2::run(a00, i, meta::as_()); - if(value) - boost::proto::value(ret).push_back(index_type(i+1)); - } - - return ret; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/globalnorm.hpp b/inst/include/nt2/core/functions/expr/globalnorm.hpp deleted file mode 100644 index 44fd442..0000000 --- a/inst/include/nt2/core/functions/expr/globalnorm.hpp +++ /dev/null @@ -1,183 +0,0 @@ -/******************************************************************************* - * Copyright 2003-2014 LASMEA UMR 6602 CNRS/U.B.P - * Copyright 2011-2014 LRI UMR 8623 CNRS/Univ Paris Sud XI - * - * Distributed under the Boost Software License, Version 1.0. - * See accompanying file LICENSE.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt - ******************************************************************************/ -#ifndef NT2_CORE_FUNCTIONS_EXPR_GLOBALNORM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_GLOBALNORM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - // Default globalnorm is globalnorm2 - BOOST_DISPATCH_IMPLEMENT ( globalnorm_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS( 1 - , (A0 const &a0) - , nt2::globalnorm2(a0) - ); - }; - - // Selects globalnorm from dynamic norm value - BOOST_DISPATCH_IMPLEMENT ( globalnorm_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const &a0, A1 a1) const - { - BOOST_ASSERT_MSG( (a1 > 0) || (a1 == Minf()) - , "p must be strictly positive or infinite" - ); - - if(a1 == Two()) return nt2::globalnorm2(a0); - if(a1 == One()) return nt2::globalasum1(a0); - if(a1 == Inf()) return nt2::globalmax(nt2::abs(a0)); - if(a1 == Minf()) return nt2::globalmin(nt2::abs(a0)); - - return nt2::globalnormp(a0, a1); - } - }; - - // Selects globalnorm from static norm value - BOOST_DISPATCH_IMPLEMENT ( globalnorm_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (mpl_integral_< scalar_< fundamental_ > >) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const &a0, A1 const& a1) const - { - BOOST_ASSERT_MSG( (A1::value > 0), "p must be strictly positive" ); - return eval(a0, a1); - } - - template - BOOST_FORCEINLINE result_type eval( A0 const &a0 - , boost::mpl::int_ const& - ) const - { - return nt2::globalnormp(a0, Value); - } - - BOOST_FORCEINLINE result_type eval( A0 const &a0 - , boost::mpl::int_<1> const& - ) const - { - return nt2::globalasum1(a0); - } - - BOOST_FORCEINLINE result_type eval( A0 const &a0 - , boost::mpl::int_<2> const& - ) const - { - return nt2::globalnorm2(a0); - } - }; - - // Selects globalnorm from static norm value tag - BOOST_DISPATCH_IMPLEMENT ( globalnorm_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (target_ >) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const &a0, A1 const&) const - { - return eval(a0, typename A1::type()); - } - - BOOST_FORCEINLINE result_type eval(A0 const &a0, tag::Inf const&) const - { - return nt2::globalmax(nt2::abs(a0)); - } - - BOOST_FORCEINLINE result_type eval(A0 const &a0, tag::Minf const&) const - { - return nt2::globalmin(nt2::abs(a0)); - } - - BOOST_FORCEINLINE result_type eval(A0 const &a0, tag::One const&) const - { - return nt2::globalasum1(a0); - } - - BOOST_FORCEINLINE result_type eval(A0 const &a0, tag::Two const&) const - { - return nt2::globalnorm2(a0); - } - - BOOST_FORCEINLINE result_type eval(A0 const &a0, tag::inf_ const&) const - { - return nt2::globalmax(nt2::abs(a0)); - } - - BOOST_FORCEINLINE result_type eval(A0 const &a0, tag::minf_ const&) const - { - return nt2::globalmin(nt2::abs(a0)); - } - - BOOST_FORCEINLINE result_type eval(A0 const &a0, tag::one_ const&) const - { - return nt2::globalasum1(a0); - } - - BOOST_FORCEINLINE result_type eval(A0 const &a0, tag::two_ const&) const - { - return nt2::globalnorm2(a0); - } - - BOOST_FORCEINLINE result_type eval(A0 const &a0, tag::fro_ const&) const - { - return nt2::globalnorm2(a0); - } - - template - BOOST_FORCEINLINE result_type eval(A0 const &a0, Tag const&) const - { - // outside of Inf, Minf, One and Two we get back to the dynamic normp - typename boost::dispatch::make_functor::type callee; - type_t value = callee( nt2::meta::as_() ); - - BOOST_ASSERT_MSG( value > 0, "Norm value must be strictly positive" ); - return globalnormp(a0, value); - } - }; -} } - -#endif - - diff --git a/inst/include/nt2/core/functions/expr/globalnormp.hpp b/inst/include/nt2/core/functions/expr/globalnormp.hpp deleted file mode 100644 index c04de94..0000000 --- a/inst/include/nt2/core/functions/expr/globalnormp.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_GLOBALNORMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_GLOBALNORMP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( globalnormp_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call - , const A0& - , const A1& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return global(nt2::functor(), a0, a1); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/core/functions/expr/height.hpp b/inst/include/nt2/core/functions/expr/height.hpp deleted file mode 100644 index 30f98ad..0000000 --- a/inst/include/nt2/core/functions/expr/height.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_HEIGHT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_HEIGHT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( height_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::size(a0, 1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/homot.hpp b/inst/include/nt2/core/functions/expr/homot.hpp deleted file mode 100644 index beff4be..0000000 --- a/inst/include/nt2/core/functions/expr/homot.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_HOMOT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_HOMOT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( homot_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS( 2, ( const A0& a0, const A1& a1) - , (nt2::homot( a0, nt2::as_size(a1))) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/horzcat.hpp b/inst/include/nt2/core/functions/expr/horzcat.hpp deleted file mode 100644 index 6b688e1..0000000 --- a/inst/include/nt2/core/functions/expr/horzcat.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_HORZCAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_HORZCAT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates horzcat from 1 variable - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( horzcat_, tag::cpu_, - (A0), - (unspecified_) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - //============================================================================ - // Generates linearize_ from 2 variables - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( horzcat_, tag::cpu_, - (A0)(A1), - (unspecified_) - (unspecified_) - ) - { - typedef typename meta::call < tag::cat_ ( std::size_t - , A0 const& - , A1 const& - ) - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A1 const& a1) const - { - return cat(2u,a0,a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/ifvectvert.hpp b/inst/include/nt2/core/functions/expr/ifvectvert.hpp deleted file mode 100644 index 147d0c7..0000000 --- a/inst/include/nt2/core/functions/expr/ifvectvert.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_IFVECTVERT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_IFVECTVERT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type c0_t; - // TODO: static size - typedef typename nt2::make_size::type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type siz; - siz[0] = nt2::numel(boost::proto::child_c<0>(e)); - if(nt2::isvector(boost::proto::child_c<0>(e))) - return siz; - else - return extent(boost::proto::child_c<0>(e)); - } - }; -} } - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( ifvectvert_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/ind2sub.hpp b/inst/include/nt2/core/functions/expr/ind2sub.hpp deleted file mode 100644 index 86cc286..0000000 --- a/inst/include/nt2/core/functions/expr/ind2sub.hpp +++ /dev/null @@ -1,184 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_IND2SUB_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_IND2SUB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::value_as - {}; - - template - struct size_of - : meta::size_as - {}; - - /// INTERNAL ONLY - ind2sub(size,IND) - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 a0, A1 const& a1) - , nt2::ind2sub(a0,a1,1) - ); - }; - - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1) - , nt2::ind2sub(a0,a1,1) - ); - }; - - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1) - , nt2::ind2sub(a0,a1,1) - ); - }; - - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< arithmetic_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 a1) - , nt2::ind2sub(a0,a1,1) - ); - }; - - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ >) - ((ast_)) - (scalar_< arithmetic_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::ind2sub_ - , container::domain - , _2D - , A1 const& - , A2 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, A1 const& a1, A2 a2) const - { - return boost::proto::make_expr< nt2::tag::ind2sub_ - , container::domain - > ( as_size(a0,1) - , boost::cref(a1) - , a2 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1)(A2) - , (fusion_sequence_) - ((ast_)) - (scalar_< arithmetic_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::ind2sub_ - , container::domain - , typename boost::remove_const::type - , A1 const& - , A2 - >::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const& a1, A2 a2) const - { - return boost::proto::make_expr< nt2::tag::ind2sub_ - , container::domain - > ( a0 - , boost::cref(a1) - , a2 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - ((ast_)) - (scalar_< arithmetic_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::ind2sub_ - , container::domain - , of_size_max - , A1 const& - , A2 - >::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 const& a1, A2 a2) const - { - return boost::proto::make_expr< nt2::tag::ind2sub_ - , container::domain - > ( as_size(a0) - , boost::cref(a1) - , a2 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::ind2sub_ - , container::domain - , of_size_max - , A1 - , A2 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1, A2 a2) const - { - return boost::proto::make_expr< nt2::tag::ind2sub_ - , container::domain - > ( as_size(a0) - , a1 - , a2 - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/indices.hpp b/inst/include/nt2/core/functions/expr/indices.hpp deleted file mode 100644 index 3c2c66d..0000000 --- a/inst/include/nt2/core/functions/expr/indices.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_INDICES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_INDICES_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( indices_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((array_< scalar_< integer_ > - , boost::mpl::size_t<2> - > - )) - ) - { - BOOST_DISPATCH_RETURNS( 2, (A0 const& a0, A1 const& a1) - , (nt2::indices(nt2::as_size(a0),a1)) - ) - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( indices_, tag::cpu_ - , (A0)(A1)(T) - , ((ast_)) - ((array_< scalar_< integer_ > - , boost::mpl::size_t<2> - > - )) - (target_< scalar_< unspecified_ > >) - ) - { - BOOST_DISPATCH_RETURNS( 3, (A0 const& a0, A1 const& a1, T const& tgt) - , (nt2::indices(nt2::as_size(a0),a1,tgt)) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/ismember.hpp b/inst/include/nt2/core/functions/expr/ismember.hpp deleted file mode 100644 index d84abdd..0000000 --- a/inst/include/nt2/core/functions/expr/ismember.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ISMEMBER_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ISMEMBER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_)) - ) - { - typedef A0& result_type; - typedef typename boost::proto::result_of::child_c::value_type t_type; - typedef typename t_type::value_type value_type; - typedef typename meta::as_integer::type i_type; - - result_type operator()(A0& out, const A1& in) const - { - container::table a = colvect(boost::proto::child_c<0>(in)); - container::table b = unique(boost::proto::child_c<1>(in)); - container::table c = bsearch(rowvect(b), rowvect(a)); - i_type n = numel(b); - auto c1 = min(inc(c), n); - finalize(out, in, a, b, c, c1, N()); - out.resize(boost::proto::child_c<0>(in).extent()); - return out; - } - private : - template < class T1, class T2, class T3, class T4> - static BOOST_FORCEINLINE void finalize(A0& out, A1&, - const T1& a, const T2& b, - const T3& c, const T4& c1, - boost::mpl::long_<2> const&) - { - out = logical_or(eq(a, b(c)), eq(a, b(c1))); - } - template < class T1, class T2, class T3, class T4> - static BOOST_FORCEINLINE void finalize(A0& out, A1&in, - const T1& a, const T2& b, - const T3& c, const T4& c1, - boost::mpl::long_<3> const&) - { - value_type tol = boost::proto::child_c<2>(in)*max(abs(a)); - out = logical_or(le(abs(a-b(c)), tol), le(abs(a-b(c1)), tol)); - } - - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/kron.hpp b/inst/include/nt2/core/functions/expr/kron.hpp deleted file mode 100644 index a3a111f..0000000 --- a/inst/include/nt2/core/functions/expr/kron.hpp +++ /dev/null @@ -1,102 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_KRON_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_KRON_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - /// Generates kron from 2 scalar - BOOST_DISPATCH_IMPLEMENT( kron_, tag::cpu_, - (A0)(A1), - (scalar_>) - (scalar_>) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1 & a1) const - { - return a0*a1; - } - }; - - /// INTERNAL ONLY - /// Generates kron from one scalar one expression one scalar - BOOST_DISPATCH_IMPLEMENT( kron_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_>) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - a0*a1) - }; - - /// INTERNAL ONLY - /// Generates kron from one expression one scalar - BOOST_DISPATCH_IMPLEMENT( kron_, tag::cpu_, - (A0)(A1), - (scalar_>) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - a0*a1) - }; - /// INTERNAL ONLY - /// Generates kron from 2 expressions - // The algorithm is based on a Bruno Luong Maylab one so : - // Copyright (c) 2009, Bruno Luong - // 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 - - // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER OR 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. - BOOST_DISPATCH_IMPLEMENT( kron_, tag::cpu_, - (A0)(A1), - ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - (nt2::reshape(bsxfun(nt2::functor() - , reshape(a0, 1, height(a0), 1, width(a0)) - , reshape(a1, height(a1), 1, width(a1), 1)) - , height(a0)*height(a1), width(a0)*width(a1) - )) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/last_index.hpp b/inst/include/nt2/core/functions/expr/last_index.hpp deleted file mode 100644 index 82047f6..0000000 --- a/inst/include/nt2/core/functions/expr/last_index.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_LAST_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_LAST_INDEX_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( last_index_,tag::cpu_ - , (A0)(A1) - , ((ast_)) - (mpl_integral_< scalar_< integer_ > >) - ) - { - typedef std::ptrdiff_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1&) const - { - return first_index(a0) - 1 - + result_type(nt2::size(a0,A1::value)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( last_index_,tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef std::ptrdiff_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& d) const - { - return first_index(a0,d) - 1 + result_type(nt2::size(a0,d)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/length.hpp b/inst/include/nt2/core/functions/expr/length.hpp deleted file mode 100644 index a251c31..0000000 --- a/inst/include/nt2/core/functions/expr/length.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_LENGTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_LENGTH_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( length_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename meta:: - call::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::length( a0.extent() ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/line.hpp b/inst/include/nt2/core/functions/expr/line.hpp deleted file mode 100644 index 241aa04..0000000 --- a/inst/include/nt2/core/functions/expr/line.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_LINE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_LINE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of - ::child_c::value_type::extent_type ext_t; - - typedef typename make_size::type result_type; - - BOOST_FORCEINLINE result_type operator ()(Expr& e) const - { - result_type that(1); - std::size_t along = boost::proto::child_c<1>(e); - that[along] = boost::proto::child_c<0>(e).extent()[along]; - - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( line_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ > ) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 ind) - , nt2::line(a0,ind,nt2::firstnonsingleton(a0)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( line_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (scalar_ > ) - (scalar_ > ) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::line_ - , container::domain - , A0 const& - , std::size_t - , std::size_t - , std::size_t - >::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, A1 ind, A2 dim) const - { - std::size_t along = dim-1; - typename A0::extent_type ex1 = a0.extent(); - ex1[along] = 1; - - return boost::proto::make_expr< nt2::tag::line_ - , container::domain - > ( boost::cref(a0) - , along - , as_index( a0.extent() - , as_subscript(ex1, ind) - ) - , nt2::linesstride(a0, dim) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/linesstride.hpp b/inst/include/nt2/core/functions/expr/linesstride.hpp deleted file mode 100644 index ae59df4..0000000 --- a/inst/include/nt2/core/functions/expr/linesstride.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_LINESSTRIDE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_LINESSTRIDE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( linesstride_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0,const A1& dim) const - { - if (isempty(a0)) return 1; - size_t d = size_t(dim); - if(d > a0.extent().size()) return numel(a0); - size_t stride = 1; - for(size_t i=1; i < d; ++i) - { - stride *= size(a0, i); - } - return stride; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/mean.hpp b/inst/include/nt2/core/functions/expr/mean.hpp deleted file mode 100644 index 89c6b12..0000000 --- a/inst/include/nt2/core/functions/expr/mean.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_MEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_MEAN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mean_, tag::cpu_, - (A0), - ((ast_)) ) - { - typedef typename A0::value_type value_type; - typedef typename meta::call < nt2::tag::sum_(A0 const&)>::type T1; - typedef typename meta::call < nt2::tag::multiplies_(value_type, T1)>::type result_type; - - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - value_type f = nt2::rec(value_type(nt2::size(a0, nt2::firstnonsingleton(a0)))); - return nt2::multiplies(f, nt2::sum(a0)); - } - }; - BOOST_DISPATCH_IMPLEMENT ( mean_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::call < nt2::tag::sum_(A0 const&, A1 const &)>::type T1; - typedef typename meta::call < nt2::tag::multiplies_(value_type, T1)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - value_type f = nt2::rec(value_type(nt2::size(a0, a1))); - return nt2::multiplies(f, nt2::sum(a0, a1)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/meanad.hpp b/inst/include/nt2/core/functions/expr/meanad.hpp deleted file mode 100644 index eeb8b13..0000000 --- a/inst/include/nt2/core/functions/expr/meanad.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_MEANAD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_MEANAD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( meanad_, tag::cpu_, - (A0), - ((ast_)) ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - std::size_t dim = nt2::firstnonsingleton(a0); - return nt2::meanad(a0,dim); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( meanad_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call::type T0; - typedef typename meta::call::type T1; - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& dim) const - { - return nt2::mean(nt2::abs(nt2::center(a0, dim)), dim); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/median.hpp b/inst/include/nt2/core/functions/expr/median.hpp deleted file mode 100644 index fa2b532..0000000 --- a/inst/include/nt2/core/functions/expr/median.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_MEDIAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_MEDIAN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( median_, tag::cpu_, - (A0), - ((ast_)) - ) - { - typedef typename A0::value_type value_type; - typedef table tab_t; - typedef tab_t result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::median(a0,firstnonsingleton(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( median_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef table tab_t; - typedef tab_t result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& dim) const - { - tab_t sa0 = nt2::sort(a0, dim, 'a'); - size_t idx = nt2::size(a0, dim); - size_t mid = idx >> 1; - if (is_odd(idx)) - return nt2::along(sa0, mid+1 , dim); - else - return nt2::meanof(nt2::along(sa0, mid, dim), - nt2::along(sa0, mid+1, dim)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/medianad.hpp b/inst/include/nt2/core/functions/expr/medianad.hpp deleted file mode 100644 index f1ce43b..0000000 --- a/inst/include/nt2/core/functions/expr/medianad.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_MEDIANAD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_MEDIANAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( medianad_, tag::cpu_, - (A0), - ((ast_)) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - std::size_t dim = nt2::firstnonsingleton(a0); - return nt2::medianad(a0,dim); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( medianad_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call::type T0; - typedef typename meta::call::type E0; - typedef typename meta::call::type T0b; - typedef typename meta::call::type T1; - typedef typename meta::call::type T2; - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& dim) const - { - BOOST_AUTO_TPL(t0, nt2::median(a0, dim)); - BOOST_AUTO_TPL(t1, a0 - nt2::expand_to(t0, extent(a0))); - BOOST_AUTO_TPL(t2, nt2::abs(t1)); - BOOST_AUTO_TPL(t3,nt2::median(t2, dim)); - return t3; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/meshgrid.hpp b/inst/include/nt2/core/functions/expr/meshgrid.hpp deleted file mode 100644 index d37bbc5..0000000 --- a/inst/include/nt2/core/functions/expr/meshgrid.hpp +++ /dev/null @@ -1,121 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_MESHGRID_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_MESHGRID_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::value_as - {}; - - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type c0_t; - typedef typename boost::proto::result_of::child_c::value_type c1_t; - - typedef typename - meta::call::type d0_t; - - typedef typename - meta::call::type d1_t; - - typedef typename mpl_value::type s0_t; - typedef typename mpl_value::type s1_t; - - typedef of_size_ result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type that( nt2::numel( boost::proto::child_c<1>(e) ) - , nt2::numel( boost::proto::child_c<0>(e) ) - ); - return that; - } - }; - - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type c0_t; - typedef typename boost::proto::result_of::child_c::value_type c1_t; - typedef typename boost::proto::result_of::child_c::value_type c2_t; - - typedef typename - meta::call::type d0_t; - - typedef typename - meta::call::type d1_t; - - typedef typename - meta::call::type d2_t; - - typedef typename mpl_value::type s0_t; - typedef typename mpl_value::type s1_t; - typedef typename mpl_value::type s2_t; - - typedef of_size_ result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type that( nt2::numel( boost::proto::child_c<1>(e) ) - , nt2::numel( boost::proto::child_c<0>(e) ) - , nt2::numel( boost::proto::child_c<2>(e) ) - ); - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( meshgrid_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - BOOST_DISPATCH_RETURNS( 2 - , ( A0 a0, A0 a1 ) - , ( boost::proto::make_expr - < nt2::tag::meshgrid_ - , nt2::container::domain - > - ( a0, a1 ) - ) - ); - }; - - BOOST_DISPATCH_IMPLEMENT ( meshgrid_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - BOOST_DISPATCH_RETURNS( 3 - , ( A0 a0, A0 a1, A0 a2 ) - , ( boost::proto::make_expr - < nt2::tag::meshgrid_ - , nt2::container::domain - > - ( a0, a1, a2 ) - ) - ); - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/nanasum2.hpp b/inst/include/nt2/core/functions/expr/nanasum2.hpp deleted file mode 100644 index 54a4fbe..0000000 --- a/inst/include/nt2/core/functions/expr/nanasum2.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_NANASUM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_NANASUM2_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nanasum2_, tag::cpu_, - (A0), - ((ast_)) ) - { - typedef typename meta::call < nt2::tag::is_nan_(A0 const &)>::type T2; - typedef typename meta::call < nt2::tag::sqr_abs_(A0 const&)>::type T3; - typedef typename meta::call < nt2::tag::if_zero_else_(T2, T3)>::type T4; - typedef typename meta::call < nt2::tag::sum_(T4)>::type result_type; - - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::sum(nt2::if_zero_else(nt2::is_nan(a0), nt2::sqr_abs(a0))); - } - }; - BOOST_DISPATCH_IMPLEMENT ( nanasum2_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call < nt2::tag::is_nan_(A0 const &)>::type T2; - typedef typename meta::call < nt2::tag::sqr_abs_(A0 const&)>::type T3; - typedef typename meta::call < nt2::tag::if_zero_else_(T2, T3)>::type T4; - typedef typename meta::call < nt2::tag::sum_(T4, A1 const &)>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - return nt2::sum(nt2::if_zero_else(nt2::is_nan(a0), nt2::sqr_abs(a0)), a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/nanmean.hpp b/inst/include/nt2/core/functions/expr/nanmean.hpp deleted file mode 100644 index 7d04d6a..0000000 --- a/inst/include/nt2/core/functions/expr/nanmean.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_NANMEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_NANMEAN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nanmean_, tag::cpu_, - (A0), - ((ast_)) ) - { - typedef typename meta::call < nt2::tag::nanmean_(A0 const &, std::size_t)>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - std::size_t dim = nt2::firstnonsingleton(a0); - return nt2::nanmean(a0, dim); - } - }; - BOOST_DISPATCH_IMPLEMENT ( nanmean_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::call < nt2::tag::nansum_(A0 const &, A1 const &)>::type T1; - typedef typename meta::call < nt2::tag::is_not_nan_(A0 const &)>::type T2; - typedef typename meta::call < nt2::tag::nbtrue_(T2, A1 const &)>::type T3; - typedef typename meta::call < nt2::tag::max_(T3, value_type)>::type T3b; - typedef typename meta::call < nt2::tag::rec_(T3b)>::type T4; - typedef typename meta::call < nt2::tag::multiplies_(T4, T1 const&)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - return nt2::multiplies(nt2::rec(nt2::max(nt2::nbtrue(nt2::is_not_nan(a0), a1), - One())), nt2::nansum(a0, a1)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/nansum.hpp b/inst/include/nt2/core/functions/expr/nansum.hpp deleted file mode 100644 index 42e6907..0000000 --- a/inst/include/nt2/core/functions/expr/nansum.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_NANSUM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_NANSUM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nansum_, tag::cpu_, - (A0), - ((ast_)) ) - { - typedef typename meta::call < nt2::tag::is_nan_(A0 const &)>::type T2; - typedef typename meta::call < nt2::tag::if_zero_else_(T2, A0 const &)>::type T3; - typedef typename meta::call < nt2::tag::sum_(T3)>::type result_type; - - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::sum(nt2::if_zero_else(nt2::is_nan(a0), a0)); - } - }; - BOOST_DISPATCH_IMPLEMENT ( nansum_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call < nt2::tag::is_nan_(A0 const &)>::type T2; - typedef typename meta::call < nt2::tag::if_zero_else_(T2, A0 const &)>::type T3; - typedef typename meta::call < nt2::tag::sum_(T3, A1 const &)>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - return nt2::sum(nt2::if_zero_else(nt2::is_nan(a0), a0), a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/nblines.hpp b/inst/include/nt2/core/functions/expr/nblines.hpp deleted file mode 100644 index a1f90ca..0000000 --- a/inst/include/nt2/core/functions/expr/nblines.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_NBLINES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_NBLINES_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - - - BOOST_DISPATCH_IMPLEMENT ( nblines_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0,const A1& dim) const - { - if (nt2::isempty(a0)) - return 0; - else - return nt2::numel(a0)/nt2::size(a0, dim); - } - }; -} } - -#endif - diff --git a/inst/include/nt2/core/functions/expr/ndgrid.hpp b/inst/include/nt2/core/functions/expr/ndgrid.hpp deleted file mode 100644 index 5bf1836..0000000 --- a/inst/include/nt2/core/functions/expr/ndgrid.hpp +++ /dev/null @@ -1,92 +0,0 @@ -#if !BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_NDGRID_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_NDGRID_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::value_as - {}; - - #define BOOST_PP_FILENAME_1 "nt2/core/functions/expr/ndgrid.hpp" - #define BOOST_PP_ITERATION_LIMITS (2, NT2_MAX_DIMENSIONS) - #include BOOST_PP_ITERATE() - -} } - -#endif - -#else - - #define N BOOST_PP_ITERATION() - - #define M1(z,n,txt) (scalar_< unspecified_ >) - #define M2(z,n,txt) nt2::numel( boost::proto::child_c(e) ) - - #define M3(z,n,txt) \ - typedef typename boost::proto::result_of::child_c::value_type c##n; \ - typedef typename \ - meta::call::type d##n; \ - typedef typename mpl_value::type s##n; \ - /**/ - - #define M4(z,n,txt) s##n::value - - template - struct size_of - { - BOOST_PP_REPEAT(N,M3,~) - typedef of_size_ result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type that( BOOST_PP_ENUM(N,M2,~) ); - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ndgrid_, tag::cpu_ - , (A0) - , BOOST_PP_REPEAT(N,M1,~) - ) - { - BOOST_DISPATCH_RETURNS( N - , ( BOOST_PP_ENUM_PARAMS(N, A0 a) ) - , ( boost::proto::make_expr - < nt2::tag::ndgrid_ - , nt2::container::domain - > - ( BOOST_PP_ENUM_PARAMS(N, a) ) - ) - ); - }; - - #undef M4 - #undef M3 - #undef M2 - #undef M1 - - #undef N - -#endif diff --git a/inst/include/nt2/core/functions/expr/ndims.hpp b/inst/include/nt2/core/functions/expr/ndims.hpp deleted file mode 100644 index fc3c527..0000000 --- a/inst/include/nt2/core/functions/expr/ndims.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_NDIMS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_NDIMS_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ndims_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - typedef typename A0::extent_type extent_type; - extent_type sz = a0.extent(); - std::size_t i = sz.size(); - - // If less than 2D, then return 2 directly - if(i < 2) return 2; - - std::size_t d = nt2::ndims(sz); - - // ndims is either 2, |c-e| or, if d is 0, sz.size() - return d ? ( (d < 2) ? 2 : d) : i; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/norm2.hpp b/inst/include/nt2/core/functions/expr/norm2.hpp deleted file mode 100644 index f012368..0000000 --- a/inst/include/nt2/core/functions/expr/norm2.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_NORM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_NORM2_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( norm2_, tag::cpu_, - (A0), - ((ast_)) ) - { - typedef typename meta::call::type) >::type - result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::sqrt(nt2::asum2(a0)); - } - }; - BOOST_DISPATCH_IMPLEMENT ( norm2_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call::type) >::type - result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return nt2::sqrt(nt2::asum2(a0, a1)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/normp.hpp b/inst/include/nt2/core/functions/expr/normp.hpp deleted file mode 100644 index c9f1b74..0000000 --- a/inst/include/nt2/core/functions/expr/normp.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_NORMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_NORMP_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( normp_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::as_real::type value_type; - typedef typename meta::call::type, - value_type) >::type - result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& p) const - { - value_type one_o_p = nt2::rec(value_type(p)); - return nt2::pow(nt2::asump(a0, p), one_o_p); - } - }; - BOOST_DISPATCH_IMPLEMENT ( normp_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - (scalar_ > ) - (scalar_ > ) - ) - { - typedef typename meta::as_real::type value_type; - typedef typename meta::call::type , - value_type)>::type - result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& p, A2 const& n) const - { - value_type one_o_p = nt2::rec(value_type(p)); - return nt2::pow(nt2::asump(a0, p, n), one_o_p); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/numel.hpp b/inst/include/nt2/core/functions/expr/numel.hpp deleted file mode 100644 index 66e82be..0000000 --- a/inst/include/nt2/core/functions/expr/numel.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_NUMEL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_NUMEL_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( numel_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename - meta::call::type result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - return nt2::numel(nt2::extent(a0)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/putalong.hpp b/inst/include/nt2/core/functions/expr/putalong.hpp deleted file mode 100644 index 24a2a76..0000000 --- a/inst/include/nt2/core/functions/expr/putalong.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_PUTALONG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_PUTALONG_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( putalong_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef typename A0::extent_type base_t; - typedef typename make_size::type ext_t; - - static BOOST_FORCEINLINE ext_t local_size(A0 const& a0, A1 const& a1) - { - ext_t that(1); - that[a1-1] = nt2::numel(a0); - return that; - } - - BOOST_DISPATCH_RETURNS( 2, (A0 const& a0, A1 const& a1) - , (nt2::reshape(a0, local_size(a0, a1))) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/rand.hpp b/inst/include/nt2/core/functions/expr/rand.hpp deleted file mode 100644 index 40a4807..0000000 --- a/inst/include/nt2/core/functions/expr/rand.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_RAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_RAND_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - /// size(...) - BOOST_DISPATCH_IMPLEMENT ( rand_, tag::cpu_ - , (A0) - , ((ast_< A0, nt2::container::domain >)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0) - , nt2::rand(nt2::as_size(a0)) - ) - }; - - /// INTERNAL ONLY - /// size(...) + target - BOOST_DISPATCH_IMPLEMENT ( rand_, tag::cpu_ - , (A0)(T) - , ((ast_< A0, nt2::container::domain >)) - (target_< scalar_< unspecified_ > >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, T const& tgt) - , (nt2::rand(nt2::as_size(a0),tgt)) - ) - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/randi.hpp b/inst/include/nt2/core/functions/expr/randi.hpp deleted file mode 100644 index a313af6..0000000 --- a/inst/include/nt2/core/functions/expr/randi.hpp +++ /dev/null @@ -1,158 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_RANDI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_RANDI_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - // imax + size - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >) - ((ast_< A1, nt2::container::domain >)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 a0, A1 const& sz) - , (nt2::randi(a0,nt2::as_size(sz))) - ) - }; - - // imin/max + size - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - ((ast_< A1, nt2::container::domain >)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& sz) - , (nt2::randi(a0,nt2::as_size(sz))) - ) - }; - - // imin/max + size - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ - , (A0)(A1) - , ((ast_< A0, nt2::container::domain >)) - (fusion_sequence_) - ) - { - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::randi_, container::domain - , typename A0::value_type - , typename A0::value_type - , typename boost::remove_const::type - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& sz) const - { - BOOST_ASSERT_MSG( numel(a0) <= 2, "randi: invalid range size"); - - std::size_t i = first_index<1>(a0); - - typename A0::value_type imin = numel(a0) == 2 ? a0(i) : 1; - typename A0::value_type imax = numel(a0) == 2 ? a0(i+1) : a0(i); - - return boost::proto - ::make_expr < nt2::tag::randi_ - , container::domain - >( imin,imax, sz ); - } - }; - - // imin/max + size - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ - , (A0)(A1) - , ((ast_< A0, nt2::container::domain >)) - ((ast_< A1, nt2::container::domain >)) - ) - { - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::randi_, container::domain - , typename A0::value_type - , typename A0::value_type - , of_size_max - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& sz) const - { - BOOST_ASSERT_MSG( numel(a0) <= 2, "randi: invalid range size"); - - std::size_t i = first_index<1>(a0); - - typename A0::value_type imin = numel(a0) == 2 ? a0(i) : 1; - typename A0::value_type imax = numel(a0) == 2 ? a0(i+1) : a0(i); - - return boost::proto - ::make_expr < nt2::tag::randi_ - , container::domain - >( imin,imax, nt2::as_size(sz) ); - } - }; - - // imin/max - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ - , (A0) - , ((ast_< A0, nt2::container::domain >)) - ) - { - typedef typename A0::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - BOOST_ASSERT_MSG( numel(a0) <= 2, "randi: invalid range size"); - - std::size_t i = first_index<1>(a0); - - result_type imin = numel(a0) == 2 ? a0(i) : 1; - result_type imax = numel(a0) == 2 ? a0(i+1) : a0(i); - - result_type that; - current_prng_.generator_->randi(&that,0,1,imin,imax); - return that; - } - }; - - - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< arithmetic_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ \ - , (T)BOOST_PP_REPEAT(n,M2,~) \ - , ((ast_)) \ - BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( T const& imax \ - , BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - ) \ - , (nt2::randi( imax \ - , nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a))\ - ) \ - ) \ - ) \ - }; \ - /**/ - - // randi(imax, ... ) + randi([imin imax], ...) - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - - #undef M0 - #undef M1 - #undef M2 - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/randn.hpp b/inst/include/nt2/core/functions/expr/randn.hpp deleted file mode 100644 index 3945b1d..0000000 --- a/inst/include/nt2/core/functions/expr/randn.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_RANDN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_RANDN_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - /// size(...) - BOOST_DISPATCH_IMPLEMENT ( randn_, tag::cpu_ - , (A0) - , ((ast_< A0, nt2::container::domain >)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0) - , nt2::randn(nt2::as_size(a0)) - ) - }; - - /// INTERNAL ONLY - /// size(...) + target - BOOST_DISPATCH_IMPLEMENT ( randn_, tag::cpu_ - , (A0)(T) - , ((ast_< A0, nt2::container::domain >)) - (target_< scalar_< unspecified_ > >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, T const& tgt) - , (nt2::randn(nt2::as_size(a0),tgt)) - ) - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/relative_index.hpp b/inst/include/nt2/core/functions/expr/relative_index.hpp deleted file mode 100644 index d0f510a..0000000 --- a/inst/include/nt2/core/functions/expr/relative_index.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_RELATIVE_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_RELATIVE_INDEX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // When indexing an expression, evaluate a type with right cardinal then convert - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_index_, tag::cpu_ - , (A0)(A1)(A2)(A3)(A4) - , ((ast_)) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (generic_< unspecified_ >) - (target_< unspecified_ >) - ) - { - typedef typename A4::type result_type; - typedef typename boost::simd::meta:: - vector_of< typename A0::value_type - , meta::cardinal_of::value - >::type value_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& idx, const A1& bi, const A2&, const A3& p, const A4&) const - { - return nt2::splat(nt2::run(idx,p,meta::as_())-(typename A0::value_type)bi); - } - }; - - //============================================================================ - // When indexing a scalar, evaluate as scalar type of expression then convert - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_index_, tag::cpu_ - , (A0)(Arity)(A1)(A2)(A3)(A4) - , ((expr_ < scalar_< unspecified_ > - , nt2::tag::terminal_ - , Arity - > - )) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (generic_< unspecified_ >) - (target_< unspecified_ >) - ) - { - typedef typename A4::type result_type; - - BOOST_FORCEINLINE result_type - operator()(const A0& idx, const A1& bi, const A2&, const A3&, const A4&) const - { - return nt2::splat(nt2::run(idx,0u,meta::as_())-(typename A0::value_type)bi); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/relative_size.hpp b/inst/include/nt2/core/functions/expr/relative_size.hpp deleted file mode 100644 index 08bc90d..0000000 --- a/inst/include/nt2/core/functions/expr/relative_size.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_RELATIVE_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_RELATIVE_SIZE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Compute indexing size using any expression in the non 1D cases - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( relative_size_, tag::cpu_ - , (Idx)(Size)(Base) - , ((ast_)) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename meta::call::type result_type; - - BOOST_FORCEINLINE result_type - operator()(const Idx& idx, const Size&, const Base& ) const - { - return nt2::numel( idx ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/rephorz.hpp b/inst/include/nt2/core/functions/expr/rephorz.hpp deleted file mode 100644 index a12eb8c..0000000 --- a/inst/include/nt2/core/functions/expr/rephorz.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_REPHORZ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_REPHORZ_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates rephorz from 1 expression - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( rephorz_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - //============================================================================ - // Generates linearize_ from 2 expressions - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( rephorz_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& n) - , (boost::proto::make_expr< nt2::tag::rephorz_ - , container::domain - > (boost::cref(a0), n) - ) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/repmat.hpp b/inst/include/nt2/core/functions/expr/repmat.hpp deleted file mode 100644 index c238fab..0000000 --- a/inst/include/nt2/core/functions/expr/repmat.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_REPMAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_REPMAT_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates from an expression and an extent - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( repmat_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (fusion_sequence_) - ) - { - typedef typename boost::remove_const::type size_type; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::repmat_ - , container::domain - , size_type - , A0 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& s) const - { - return boost::proto - ::make_expr < nt2::tag::repmat_ - , container::domain - > ( s - , boost::cref(a0) - ); - } - }; - - //============================================================================ - // Generates from an expression and a size - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( repmat_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS( 2, ( const A0& a0, const A1& a1) - , (nt2::repmat( a0, nt2::as_size(a1))) - ) - }; - - //============================================================================ - // Generates repnum from scalar + N size value - //============================================================================ - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< integer_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( repmat_, tag::cpu_ \ - , BOOST_PP_REPEAT(BOOST_PP_INC(n),M2,~) \ - , ((ast_)) \ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS ( BOOST_PP_INC(n) \ - , const A,& a \ - ) \ - ) \ - , (nt2::repmat \ - ( a0, nt2::as_size \ - (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_INC(n),a)) \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M2 - #undef M1 - #undef M0 -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/repnum.hpp b/inst/include/nt2/core/functions/expr/repnum.hpp deleted file mode 100644 index 5a572b4..0000000 --- a/inst/include/nt2/core/functions/expr/repnum.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_REPNUM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_REPNUM_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( repnum_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS ( 2, ( const A0& a0, const A1& a1) - , (nt2::repnum( a0, nt2::as_size(a1))) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/repvert.hpp b/inst/include/nt2/core/functions/expr/repvert.hpp deleted file mode 100644 index 45ddaf3..0000000 --- a/inst/include/nt2/core/functions/expr/repvert.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_REPVERT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_REPVERT_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates repvert from 1 expression - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( repvert_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - //============================================================================ - // Generates linearize_ from expression and integer - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( repvert_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& n) - , (boost::proto::make_expr< nt2::tag::repvert_ - , container::domain - > (boost::cref(a0), n) - ) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/reshape.hpp b/inst/include/nt2/core/functions/expr/reshape.hpp deleted file mode 100644 index 314749a..0000000 --- a/inst/include/nt2/core/functions/expr/reshape.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_RESHAPE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_RESHAPE_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY : reshape from expression + of_size - BOOST_DISPATCH_IMPLEMENT ( reshape_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (fusion_sequence_) - ) - { - typedef typename boost::remove_const::type sizes_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::reshape_ - , container::domain - , A0 & - , sizes_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 & a0, A1 const& a1) const - { - BOOST_ASSERT_MSG - ( nt2::numel(a0) == nt2::numel(a1) - , "To RESHAPE the number of elements must not change." - ); - - return boost::proto:: - make_expr < nt2::tag::reshape_ - , container::domain - > ( boost::reference_wrapper(a0), a1 ); - } - }; - - /// INTERNAL ONLY : reshape from expression + size(...) - BOOST_DISPATCH_IMPLEMENT ( reshape_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1) - , (nt2::reshape(a0, nt2::as_size(a1))) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/resize.hpp b/inst/include/nt2/core/functions/expr/resize.hpp deleted file mode 100644 index 93987d9..0000000 --- a/inst/include/nt2/core/functions/expr/resize.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_RESIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_RESIZE_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY : resize_ from expression + of_size - BOOST_DISPATCH_IMPLEMENT ( resize_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (fusion_sequence_) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1) - , (boost::proto::make_expr< nt2::tag::resize_ - , container::domain - > ( boost::cref(a0) - , a1 - , nt2::numel(a0)-1 - ) - ) - ) - }; - - /// INTERNAL ONLY : resize_ from expression + size(...) - BOOST_DISPATCH_IMPLEMENT ( resize_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1) - , (nt2::resize(a0, nt2::as_size(a1))) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/rows.hpp b/inst/include/nt2/core/functions/expr/rows.hpp deleted file mode 100644 index 6456f8d..0000000 --- a/inst/include/nt2/core/functions/expr/rows.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ROWS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ROWS_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rows_, tag::cpu_ - , (A0)(T) - , ((ast_)) - (scalar_< unspecified_ >) - ) - { - BOOST_DISPATCH_RETURNS( 2, ( const A0& a0, T const& s ) - , (nt2::rows(nt2::as_size(a0),s) ) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/rowvect.hpp b/inst/include/nt2/core/functions/expr/rowvect.hpp deleted file mode 100644 index 4591d9a..0000000 --- a/inst/include/nt2/core/functions/expr/rowvect.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_ROWVECT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_ROWVECT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates linearize_ from expression + of_size - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( rowvect_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::rowvect_ - , container::domain - , A0& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::proto:: - make_expr < nt2::tag::rowvect_ - , container::domain - > ( boost::ref(a0) ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/setdiff.hpp b/inst/include/nt2/core/functions/expr/setdiff.hpp deleted file mode 100644 index ef40a97..0000000 --- a/inst/include/nt2/core/functions/expr/setdiff.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_SETDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_SETDIFF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_)) - ) - { - typedef A0& result_type; - typedef typename boost::proto::result_of::child_c::value_type t_type; - typedef typename t_type::value_type value_type; - - result_type operator()(A0& out, const A1& in) const - { - container::table a = unique(boost::proto::child_c<0>(in)); - container::table b = unique(boost::proto::child_c<1>(in)); - container::table r(of_size(min(numel(a), numel(b)), 1)); - auto last = std::set_difference(a.begin(),a.end(),b.begin(),b.end(),r.begin()); - r.resize(nt2::of_size(last-r.begin(), 1)); - return out = r; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/setinter.hpp b/inst/include/nt2/core/functions/expr/setinter.hpp deleted file mode 100644 index d2bb466..0000000 --- a/inst/include/nt2/core/functions/expr/setinter.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_SETINTER_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_SETINTER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_)) - ) - { - typedef A0& result_type; - typedef typename boost::proto::result_of::child_c::value_type t_type; - typedef typename t_type::value_type value_type; - - result_type operator()(A0& out, const A1& in) const - { - container::table a = unique(boost::proto::child_c<0>(in)); - container::table b = unique(boost::proto::child_c<1>(in)); - container::table r(of_size(min(numel(a), numel(b)), 1)); - auto last = std::set_intersection(a.begin(),a.end(),b.begin(),b.end(),r.begin()); - r.resize(nt2::of_size(last-r.begin(), 1)); - return out = r; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/setsymdiff.hpp b/inst/include/nt2/core/functions/expr/setsymdiff.hpp deleted file mode 100644 index d85d269..0000000 --- a/inst/include/nt2/core/functions/expr/setsymdiff.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_SETSYMDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_SETSYMDIFF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_)) - ) - { - typedef A0& result_type; - typedef typename boost::proto::result_of::child_c::value_type t_type; - typedef typename t_type::value_type value_type; - - result_type operator()(A0& out, const A1& in) const - { - container::table a = unique(boost::proto::child_c<0>(in)); - container::table b = unique(boost::proto::child_c<1>(in)); - container::table r(of_size(min(numel(a), numel(b)), 1)); - auto last = std::set_symmetric_difference(a.begin(),a.end(),b.begin(),b.end(),r.begin()); - r.resize(nt2::of_size(last-r.begin(), 1)); - return out = r; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/setunion.hpp b/inst/include/nt2/core/functions/expr/setunion.hpp deleted file mode 100644 index 093a22f..0000000 --- a/inst/include/nt2/core/functions/expr/setunion.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_SETUNION_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_SETUNION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_)) - ) - { - typedef A0& result_type; - typedef typename boost::proto::result_of::child_c::value_type t_type; - typedef typename t_type::value_type value_type; - - result_type operator()(A0& out, const A1& in) const - { - container::table a = unique(boost::proto::child_c<0>(in)); - container::table b = unique(boost::proto::child_c<1>(in)); - container::table r(of_size(numel(a)+numel(b), 1)); - auto last = std::set_union(a.begin(),a.end(),b.begin(),b.end(),r.begin()); - r.resize(nt2::of_size(last-r.begin(), 1)); - return out = r; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/size.hpp b/inst/include/nt2/core/functions/expr/size.hpp deleted file mode 100644 index 7432b73..0000000 --- a/inst/include/nt2/core/functions/expr/size.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_SIZE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( size_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename meta::call::type base; - typedef typename meta::strip::type ext_t; - - static const std::size_t len = ext_t::static_size; - static const std::size_t olen = len > 2 ? len : 2; - - typedef container::table< typename ext_t::value_type - , settings(automatic_, of_size_<1, olen>) - > result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - result_type that; - typename ext_t::value_type i=1; - - for(; i)) - (scalar_< unspecified_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0,const A1& a1) const - { - std::size_t nb_dims = nt2::extent(a0).size(); - return std::size_t(a1-1) < nb_dims - ? std::size_t(nt2::extent(a0)[a1-1]) - : std::size_t(1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/squeeze.hpp b/inst/include/nt2/core/functions/expr/squeeze.hpp deleted file mode 100644 index 9578364..0000000 --- a/inst/include/nt2/core/functions/expr/squeeze.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_SQUEEZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_SQUEEZE_HPP_INCLUDED - -#include - -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates squeeze - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( squeeze_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::squeeze_ - , container::domain - , A0& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::proto:: - make_expr < nt2::tag::squeeze_ - , container::domain - > ( boost::ref(a0) ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/stdev.hpp b/inst/include/nt2/core/functions/expr/stdev.hpp deleted file mode 100644 index 21aa2b0..0000000 --- a/inst/include/nt2/core/functions/expr/stdev.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_STDEV_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_STDEV_HPP_INCLUDED - -#include -#include -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( stdev_, tag::cpu_, - (A0), - ((ast_)) ) - { - typedef typename meta::call < tag::var_(A0 const&)>::type T1; - typedef typename meta::call < tag::realsqrt_(T1)>::type result_type; - - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::realsqrt(nt2::var(a0)); - } - }; - BOOST_DISPATCH_IMPLEMENT ( stdev_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call < tag::var_(A0 const&, A1 const&)>::type T1; - typedef typename meta::call < tag::realsqrt_(T1)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - return nt2::realsqrt(nt2::var(a0, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( stdev_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - (scalar_ > ) - (scalar_ > ) - ) - { - typedef typename meta::call < tag::var_(A0 const&, A1 const&, A2 const &)>::type T1; - typedef typename meta::call < tag::realsqrt_(T1)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1, const A2& a2) const - { - return nt2::realsqrt(var(a0, a1, a2)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( stdev_, tag::cpu_, - (A0)(A1), - ((ast_)) - ((ast_)) - ) - { - typedef typename meta::call < tag::var_(A0 const&, A1 const&)>::type T1; - typedef typename meta::call < tag::realsqrt_(T1)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& w) const - { - return nt2::realsqrt(var(a0, w)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( stdev_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call < tag::var_(A0 const&, A1 const&, A2 const &)>::type T1; - typedef typename meta::call < tag::realsqrt_(T1)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& w, const A2& a2) const - { - return nt2::realsqrt(var(a0, w, a2)); - } - }; - - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/sub2ind.hpp b/inst/include/nt2/core/functions/expr/sub2ind.hpp deleted file mode 100644 index d5bf042..0000000 --- a/inst/include/nt2/core/functions/expr/sub2ind.hpp +++ /dev/null @@ -1,104 +0,0 @@ -#if !BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_SUB2IND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_SUB2IND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::value_as - {}; - - template - struct size_of - { - typedef typename boost::fusion::result_of::pop_front::type expr_t; - typedef typename elementwise_size::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - elementwise_size callee; - return callee(boost::fusion::pop_front(e)); - } - }; - - #define BOOST_PP_FILENAME_1 "nt2/core/functions/expr/sub2ind.hpp" - #define BOOST_PP_ITERATION_LIMITS (2, BOOST_PP_INC(NT2_MAX_DIMENSIONS)) - #include BOOST_PP_ITERATE() -} } - -#endif - -#else - - #define N BOOST_PP_ITERATION() - - #define M0(z,n,txt) (A##n) - #define M1(z,n,txt) (unspecified_) - #define M2(z,n,txt) nt2::run(boost::proto::child_c(a0),p,t) - - BOOST_DISPATCH_IMPLEMENT ( sub2ind_, tag::cpu_ - , (SZ)BOOST_PP_REPEAT(N,M0,~) - , ((ast_)) - BOOST_PP_REPEAT(N,M1,~) - ) - { - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(N) - , ( SZ const& sz - , BOOST_PP_ENUM_BINARY_PARAMS(N,A, const& a) - ) - , ( nt2::sub2ind( nt2::as_size(sz) - , BOOST_PP_ENUM_PARAMS(N,a) - ) - ) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(State)(Data) - , ((node_ < A0, nt2::tag::sub2ind_ - , boost::mpl::long_ - , nt2::container::domain - > - )) - (generic_< integer_ >) - (target_< unspecified_ >) - ) - { - typedef typename Data::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, State const& p, Data const& t) const - { - return sub2ind( boost::proto::value(boost::proto::child_c<0>(a0)) - , BOOST_PP_ENUM(N,M2,~) - ); - } - }; - - #undef M2 - #undef M1 - #undef M0 - #undef N -#endif diff --git a/inst/include/nt2/core/functions/expr/sx.hpp b/inst/include/nt2/core/functions/expr/sx.hpp deleted file mode 100644 index 1db1bb3..0000000 --- a/inst/include/nt2/core/functions/expr/sx.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_SX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_SX_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sx_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef typename utility::result_of::max_extent::type ext_t; - typedef typename meta::call::type t1_t; - typedef typename meta::call::type t2_t; - typedef typename meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const& a1, A2 const& a2) const - { - ext_t s = nt2::utility::max_extent(a1, a2); - return nt2::functor()(nt2::expand_to(a1, s), nt2::expand_to(a2, s)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sx_, tag::cpu_, - (A0)(A1)(A2)(A3), - (unspecified_) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef typename utility::result_of::max_extent::type ext_t; - typedef typename meta::call::type t1_t; - typedef typename meta::call::type t2_t; - typedef typename meta::call::type t3_t; - typedef typename meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const& a1, - A2 const& a2, A3 const& a3) const - { - ext_t s = nt2::utility::max_extent(a1, a2, a3); - return nt2::functor()(nt2::expand_to(a1, s), nt2::expand_to(a2, s), nt2::expand_to(a3, s)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/sxfun.hpp b/inst/include/nt2/core/functions/expr/sxfun.hpp deleted file mode 100644 index f1afa92..0000000 --- a/inst/include/nt2/core/functions/expr/sxfun.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_SXFUN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_SXFUN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sxfun_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef typename utility::result_of::max_extent::type ext_t; - typedef typename meta::call::type t1_t; - typedef typename meta::call::type t2_t; - typedef typename meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, A2 const& a2) const - { - ext_t s = nt2::utility::max_extent(a1, a2); - return nt2::arrayfun(a0, nt2::expand_to(a1, s), nt2::expand_to(a2, s)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( sxfun_, tag::cpu_, - (A0)(A1)(A2)(A3), - (unspecified_) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef typename utility::result_of::max_extent::type ext_t; - typedef typename meta::call::type t1_t; - typedef typename meta::call::type t2_t; - typedef typename meta::call::type t3_t; - typedef typename meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1, - A2 const& a2, A3 const& a3) const - { - ext_t s = nt2::utility::max_extent(a1, a2, a3); - return nt2::arrayfun(a0, nt2::expand_to(a1, s), nt2::expand_to(a2, s), nt2::expand_to(a3, s)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/tie.hpp b/inst/include/nt2/core/functions/expr/tie.hpp deleted file mode 100644 index a19c9a2..0000000 --- a/inst/include/nt2/core/functions/expr/tie.hpp +++ /dev/null @@ -1,185 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_TIE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_TIE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // run tie(...) does nothing (doesn't make sense to evaluate it) - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(N0) - , ((node_)) - ) - { - typedef A0& result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0) const - { - return a0; - } - }; - - //============================================================================ - // when storing a fusion sequence in a tie(...), run each element of the - // sequence in its output argument - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(N0)(State)(Data) - , ((node_)) - (generic_< integer_ >) - (fusion_sequence_) - ) - { - typedef A0& result_type; - - struct impl - { - BOOST_FORCEINLINE impl(A0& a0_, State const& state_, Data const& data_) - : a0(a0_), state(state_), data(data_) - { - } - - template - void operator()() const - { - nt2::run(boost::proto::child_c(a0), state, boost::fusion::at_c(data)); - } - - A0& a0; - State const& state; - Data const& data; - private: - impl& operator=(impl const&); - }; - - BOOST_FORCEINLINE result_type operator()(A0& a0, State const& state, Data const& data) const - { - boost::simd::meta::iterate(impl(a0, state, data)); - return a0; - } - }; - - //============================================================================ - // when reading a fusion sequence from a tie(...), run each element of the - // sequence and store it in another sequence - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (A0)(N0)(State)(Data) - , ((node_)) - (generic_< integer_ >) - (target_< fusion_sequence_ >) - ) - { - typedef typename Data::type result_type; - - struct impl - { - BOOST_FORCEINLINE impl(A0& a0_, State const& state_, result_type& data_) - : a0(a0_), state(state_), data(data_) - { - } - - template - void operator()() const - { - boost::fusion::at_c(data) = nt2::run( boost::proto::child_c(a0) - , state - , boost::dispatch::meta:: - as_< typename boost::fusion::result_of:: - value_at_c::type - >() - ); - } - - A0& a0; - State const& state; - result_type& data; - private: - impl& operator=(impl const&); - }; - - BOOST_FORCEINLINE result_type operator()(A0& a0, State const& state, Data const&) const - { - result_type data; - boost::simd::meta::iterate(impl(a0, state, data)); - return data; - } - }; - - //============================================================================ - // when storing a fusion sequence in a terminal, take first element - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( terminal_, tag::cpu_ - , (A0)(N0)(State)(Data) - , ((node_)) - (generic_< integer_ >) - (fusion_sequence_) - ) - { - typedef A0& result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, State const& state, Data const& data) const - { - nt2::run(a0, state, boost::fusion::at_c<0>(data)); - return a0; - } - }; - - //============================================================================ - // Call function for tie(...) = tieable_func(...) - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(N0)(A1)(T1)(N1) - , ((node_)) - ((node_, N1, nt2::container::domain>)) - ) - { - typedef A0& result_type; - typedef typename boost::proto::tag_of::type tag_t; - typedef typename make_functor::type func_t; - - BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1) const - { - func_t callee; - callee(a1, a0); - - return a0; - } - }; - - //============================================================================ - // Handles elementwise = tieable_func(...) by transforming it to - // tie(elementwise) = tieable_func(...) - //============================================================================ - BOOST_DISPATCH_IMPLEMENT_IF ( assign_, tag::cpu_ - , (A0)(T0)(N0)(A1)(T1)(N1) - , (boost::mpl::not_< boost::is_same >) - , ((node_ , N0 ,nt2::container::domain> )) - ((node_ , N1,nt2::container::domain>)) - ) - { - typedef typename meta::call::type tied; - typedef typename meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1) const - { - return nt2::assign(nt2::tie(a0), a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/transform.hpp b/inst/include/nt2/core/functions/expr/transform.hpp deleted file mode 100644 index 0623dbc..0000000 --- a/inst/include/nt2/core/functions/expr/transform.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_TRANSFORM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_TRANSFORM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Global version - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( transform_, tag::cpu_ - , (Out)(In) - , ((ast_)) - ((ast_)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(Out& out, In& in) const - { - nt2::transform(out,in,std::make_pair(0,nt2::numel(out))); - } - }; - - //============================================================================ - // Partial version - Process sz elements starting at element p - // Note that p should be properly set beforehand - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( transform_, tag::cpu_ - , (Out)(In)(Range) - , ((ast_)) - ((ast_)) - (unspecified_) - ) - { - typedef void result_type; - - typedef typename Out::value_type stype; - - BOOST_FORCEINLINE result_type - operator()(Out& out, In& in, Range range) const - { - std::size_t p = range.first; - std::size_t sz = range.second; - std::size_t bound = p+sz; - for(std::size_t i=p; i != bound; ++i) - nt2::run(out, i, nt2::run(in, i, meta::as_())); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/trapz.hpp b/inst/include/nt2/core/functions/expr/trapz.hpp deleted file mode 100644 index 29c5ae8..0000000 --- a/inst/include/nt2/core/functions/expr/trapz.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_TRAPZ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_TRAPZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( trapz_, tag::cpu_, - (A0), - ((ast_)) ) - { - typedef typename meta::call < tag::trapz_(A0 const&, size_t)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::trapz(a0, nt2::firstnonsingleton(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( trapz_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename meta::call < tag::adjfun_(nt2::functor, A0 const&, const A1&)>::type T2; - typedef typename meta::call < tag::sum_(T2,const A1&)>::type T3; - typedef typename meta::call < tag::multiplies_(real_type, T3)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - BOOST_AUTO_TPL(tmp, nt2::adjfun(nt2::functor(), a0, a1 )); - return nt2::multiplies(Half(), nt2::sum(tmp, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( trapz_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename meta::call < tag::adjfun_(functor, const A0&, const A2&)>::type T1; - typedef typename meta::call < tag::putalong_(const A0&, const A2&)>::type T2; - typedef typename meta::call < tag::diff_(T2, size_t, const A2&)>::type T3; - typedef typename meta::call < tag::extent_(T1)>::type T1b; - typedef typename meta::call < tag::expand_to_(T3, T1b)>::type T4; - typedef typename meta::call < tag::dot_(T4, T1, A2 const &)>::type T5; - typedef typename meta::call < tag::multiplies_(real_type, T5)>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1, const A2& a2) const - { - BOOST_AUTO_TPL(tmp1, nt2::adjfun(functor(), a1, a2 )); - BOOST_AUTO_TPL(tmp2, nt2::putalong(a0, a2)); - BOOST_AUTO_TPL(tmp3, nt2::diff(tmp2, size_t(1), a2)); - BOOST_AUTO_TPL(tmp4, nt2::expand_to(tmp3, extent(tmp1))); - BOOST_AUTO_TPL(tmp5, nt2::dot(tmp4,tmp1,a2)); - return nt2::multiplies(Half(), tmp5); - - } - }; - - BOOST_DISPATCH_IMPLEMENT ( trapz_, tag::cpu_, - (A0)(A1), - ((ast_)) - ((ast_)) - ) - { - typedef typename meta::call < tag::trapz_(A0 const&, A1 const&)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return nt2::trapz(a0, a1, nt2::firstnonsingleton(a0)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/tri1l.hpp b/inst/include/nt2/core/functions/expr/tri1l.hpp deleted file mode 100644 index f657712..0000000 --- a/inst/include/nt2/core/functions/expr/tri1l.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_TRI1L_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_TRI1L_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - - BOOST_DISPATCH_IMPLEMENT ( tri1l_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::tri1l_ - , container::domain - , A0 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using tri1l: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::tri1l_ - , container::domain - > ( boost::cref(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tri1l_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::tri1l_ - , container::domain - , A0 const& - , A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using tri1l: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::tri1l_ - , container::domain - > ( boost::cref(a0), a1 ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/tri1u.hpp b/inst/include/nt2/core/functions/expr/tri1u.hpp deleted file mode 100644 index 47272d9..0000000 --- a/inst/include/nt2/core/functions/expr/tri1u.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_TRI1U_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_TRI1U_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - - BOOST_DISPATCH_IMPLEMENT ( tri1u_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::tri1u_ - , container::domain - , A0 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using tri1u: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::tri1u_ - , container::domain - > ( boost::cref(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tri1u_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::tri1u_ - , container::domain - , A0 const& - , A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using tri1u: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::tri1u_ - , container::domain - > ( boost::cref(a0), a1 ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/tril.hpp b/inst/include/nt2/core/functions/expr/tril.hpp deleted file mode 100644 index a3761fc..0000000 --- a/inst/include/nt2/core/functions/expr/tril.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_TRIL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_TRIL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - - BOOST_DISPATCH_IMPLEMENT ( tril_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::tril_ - , container::domain - , A0 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using tril: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::tril_ - , container::domain - > ( boost::cref(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tril_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::tril_ - , container::domain - , A0 const& - , A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using tril: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::tril_ - , container::domain - > ( boost::cref(a0), a1 ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/triu.hpp b/inst/include/nt2/core/functions/expr/triu.hpp deleted file mode 100644 index e86dc5d..0000000 --- a/inst/include/nt2/core/functions/expr/triu.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_TRIU_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_TRIU_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - - BOOST_DISPATCH_IMPLEMENT ( triu_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::triu_ - , container::domain - , A0 const& - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using triu: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::triu_ - , container::domain - > ( boost::cref(a0) ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( triu_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_< integer_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::triu_ - , container::domain - , A0 const& - , A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - // Expression must be a matrix - BOOST_ASSERT_MSG( nt2::ismatrix(a0) - , "Error using triu: First input must be 2D." - ); - - return boost::proto::make_expr< nt2::tag::triu_ - , container::domain - > ( boost::cref(a0), a1 ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/unique.hpp b/inst/include/nt2/core/functions/expr/unique.hpp deleted file mode 100644 index 6755768..0000000 --- a/inst/include/nt2/core/functions/expr/unique.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_UNIQUE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_UNIQUE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_)) - ) - { - typedef A0& result_type; - typedef typename boost::proto::result_of::child_c::value_type t_type; - typedef typename t_type::value_type value_type; - - result_type operator()(A0& out, const A1& in) const - { - container::table a = sort(colvect(boost::proto::child_c<0>(in))); - auto last = std::unique(a.begin(), a.end()); - a.resize(nt2::of_size(last-a.begin(), 1)); - return out = a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/var.hpp b/inst/include/nt2/core/functions/expr/var.hpp deleted file mode 100644 index 4c7c24f..0000000 --- a/inst/include/nt2/core/functions/expr/var.hpp +++ /dev/null @@ -1,134 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_VAR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_VAR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( var_, tag::cpu_, - (A0), - ((ast_)) ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename meta::call < tag::center_(A0 const &)>::type T2; - typedef typename meta::call < tag::asum2_(T2)>::type T3; - typedef typename meta::call < tag::multiplies_(real_type, T3)>::type result_type; - - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - real_type n = nt2::size(a0, nt2::firstnonsingleton(a0)); - real_type f = (n <= One()) ? One() : rec(minusone(n)); - return nt2::multiplies(f, asum2(center(a0))); - } - }; - BOOST_DISPATCH_IMPLEMENT ( var_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename meta::call < tag::center_(A0 const&, const A1&)>::type T2; - typedef typename meta::call < tag::asum2_(T2, const A1&)>::type T3; - typedef typename meta::call < tag::multiplies_(real_type, T3)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1) const - { - real_type n = nt2::size(a0, nt2::firstnonsingleton(a0)); - real_type n1 = n - (a1 ? 0 : 1); - real_type f = (n <= One())? One() : nt2::rec(n1); - return nt2::multiplies(f, asum2(center(a0, a1), a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( var_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - (scalar_ > ) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename meta::call < tag::center_(A0 const&, A2 const&)>::type T2; - typedef typename meta::call < tag::asum2_(T2, A2 const &)>::type T3; - typedef typename meta::call < tag::multiplies_(real_type, T3)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& a1, const A2& a2) const - { - BOOST_ASSERT_MSG(a1 == 0 || a1 == 1, "integer value a1 must be 0 or 1"); - real_type n = nt2::size(a0, a2); - real_type n1 = n - (a1 ? 0 : 1); - real_type f = (n <= One())? One() : nt2::rec(n1); - return nt2::multiplies(f, asum2(center(a0, a2), a2)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( var_, tag::cpu_, - (A0)(A1), - ((ast_)) - ((ast_)) - ) - { - typedef typename meta::call < tag::center_(A0 const&, A1 const &)>::type T2; - typedef typename meta::call < tag::sqr_abs_(T2)>::type T3; - typedef typename meta::call < tag::wmean_(T3)>::type result_type; - typedef typename A0::extent_type ext_t; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& w) const - { - BOOST_ASSERT_MSG(numel(w) == size(a0, nt2::firstnonsingleton(a0)), "a0 and w have incompatible dimensions"); - // BOOST_ASSERT_MSG(nt2::all(w > 0), "w must have only strictly positive elements"); - - // TO BE PUT IN center or center with w param - // value_type m = sum(w(_)); - // nt2::of_size_max wresize = ones(1,max(ext_t::static_size,dim)); - // wresize[dim-1] = n; - // w = nt2::reshape(w/m, wresize); - // value_type f = nt2::rec(nt2::sum(w(_))); - return nt2::wmean(nt2::sqr_abs(nt2::center(a0, w)), w); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( var_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - ((ast_)) - (scalar_ > ) - ) - { - typedef typename meta::call < tag::center_(A0 const&, A1 const &, A2 const&)>::type T2; - typedef typename meta::call < tag::sqr_abs_(T2)>::type T3; - typedef typename meta::call < tag::wmean_(T3, const A1&, const A2&)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& w, const A2& a2) const - { - BOOST_ASSERT_MSG(numel(w) == size(a0, a2), "a0 and w have incompatible dimensions"); - return nt2::wmean(nt2::sqr_abs(nt2::center(a0, w, a2)), w, a2); - } - }; - - -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/vertcat.hpp b/inst/include/nt2/core/functions/expr/vertcat.hpp deleted file mode 100644 index 52aebf1..0000000 --- a/inst/include/nt2/core/functions/expr/vertcat.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_VERTCAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_VERTCAT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates vertcat from 1 variable - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( vertcat_, tag::cpu_, - (A0), - (unspecified_) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - //============================================================================ - // Generates vertcat from 2 variables - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( vertcat_, tag::cpu_, - (A0)(A1), - (unspecified_) - (unspecified_) - ) - { - typedef typename meta::call < tag::cat_ ( std::size_t - , A0 const& - , A1 const& - ) - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0,A1 const& a1) const - { - return cat(1u,a0,a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/whereij.hpp b/inst/include/nt2/core/functions/expr/whereij.hpp deleted file mode 100644 index 1ce0105..0000000 --- a/inst/include/nt2/core/functions/expr/whereij.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_WHEREIJ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_WHEREIJ_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( whereij_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2) - , (boost::proto:: - make_expr - ( a0 - , boost::cref(a1) - , boost::cref(a2) - ) - ) - ); - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( whereij_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - ((ast_)) - (scalar_< unspecified_ >) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2) - , (boost::proto:: - make_expr - ( a0 - , boost::cref(a1) - , a2 - ) - ) - ); - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( whereij_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - (scalar_< unspecified_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2) - , (boost::proto:: - make_expr - ( a0 - , a1 - , boost::cref(a2) - ) - ) - ); - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/whereijk.hpp b/inst/include/nt2/core/functions/expr/whereijk.hpp deleted file mode 100644 index b2704bd..0000000 --- a/inst/include/nt2/core/functions/expr/whereijk.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_WHEREIJK_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_WHEREIJK_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( whereijk_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - ((ast_)) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2) - , (boost::proto:: - make_expr - ( a0 - , boost::cref(a1) - , boost::cref(a2) - ) - ) - ); - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( whereijk_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - ((ast_)) - (scalar_< unspecified_ >) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2) - , (boost::proto:: - make_expr - ( a0 - , boost::cref(a1) - , a2 - ) - ) - ); - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( whereijk_, tag::cpu_, - (A0)(A1)(A2), - (unspecified_) - (scalar_< unspecified_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2) - , (boost::proto:: - make_expr - ( a0 - , a1 - , boost::cref(a2) - ) - ) - ); - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/width.hpp b/inst/include/nt2/core/functions/expr/width.hpp deleted file mode 100644 index 93f05d4..0000000 --- a/inst/include/nt2/core/functions/expr/width.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_WIDTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_WIDTH_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( width_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::size(a0, 2); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/expr/wmean.hpp b/inst/include/nt2/core/functions/expr/wmean.hpp deleted file mode 100644 index 4393c89..0000000 --- a/inst/include/nt2/core/functions/expr/wmean.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXPR_WMEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXPR_WMEAN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( wmean_, tag::cpu_, - (A0)(A1), - ((ast_)) - ((ast_)) - ) - { - typedef typename A1::value_type value_type; - typedef typename meta::call < tag::sx_(tag::multiplies_, const A0&, const A1&)>::type T1; - typedef typename meta::call < tag::sum_(T1 const&)>::type T2; - typedef typename meta::call < tag::multiplies_(value_type, T2)>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& w) const - { - value_type f = nt2::rec(nt2::globalsum(w)); - return nt2::multiplies(f, nt2::sum(nt2::sx(tag::multiplies_(), a0, w))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( wmean_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A1::value_type value_type; - typedef typename meta::call < tag::sx_(tag::multiplies_, const A0&, const A1&)>::type T1; - typedef typename meta::call < tag::sum_(T1 const&, A2 const&)>::type T2; - typedef typename meta::call < tag::multiplies_(value_type, T2)>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, const A1& w, const A2& dim) const - { - value_type f = nt2::rec(nt2::globalsum(w)); - return nt2::multiplies(f, nt2::sum(nt2::sx(tag::multiplies_(), a0, w), dim)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/extent.hpp b/inst/include/nt2/core/functions/extent.hpp deleted file mode 100644 index 7ec5327..0000000 --- a/inst/include/nt2/core/functions/extent.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EXTENT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EXTENT_HPP_INCLUDED - -/*! - @file - @brief Defines the extent function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the extent functor - **/ - struct extent_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_extent_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_extent_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_extent_; - } - - /*! - @brief Return the extent of an expression - - Return the extent, ie the internally optimized representation of an - expression dimensions set. - - @param a0 Expression to inspect - @return The extent of a0 - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::extent_, extent, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/eye.hpp b/inst/include/nt2/core/functions/eye.hpp deleted file mode 100644 index dd92f25..0000000 --- a/inst/include/nt2/core/functions/eye.hpp +++ /dev/null @@ -1,192 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_EYE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_EYE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief eye generic tag - - Represents the eye function in generic contexts. - - @par Models: - Hierarchy - **/ - BOOST_SIMD_CONSTANT_REGISTER( eye_, double - , 1, 0x3f800000UL, 0x3ff0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_eye_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_eye_; - } - - #if defined(DOXYGEN_ONLY) - /*! - @brief Identity matrix - - Create an array containing the identity matrix - - @par Semantic: - - eye() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = eye(); - @endcode - is equivalent to - @code - double x = 1.; - @endcode - - - For any Integer @c n, the following code: - @code - auto x = eye(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} identity matrix. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = eye(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} identity matrix. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = eye(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - identity matrix. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = eye(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - identity matrix. - - - For any type @c T, the following code: - @code - T x = eye( as_() ); - @endcode - is equivalent to - @code - T x = T(1); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = eye(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table - identity matrix of type @c T. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = eye(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} identity - matrix of type @c T. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = eye(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - identity matrix of type @c T. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = eye(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - identity matrix of type @c T. - - @par Matlab equivalent: - - This function is equivalent to the Matlab function - eye. - eye() doesn't however support the @c like based function. One can actually - use the class_ function to generate a Type specifier or use such a - predefined specifier. - - @usage_output{eye.cpp,eye.out} - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions. - **/ - template - details::unspecified eye(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified eye(Args const&... dims); - - /// @overload - template ClassName::type eye(ClassName const& classname); - - /// @overload - double eye(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::eye_, eye, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::generative_value - {}; - - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/fact_10.hpp b/inst/include/nt2/core/functions/fact_10.hpp deleted file mode 100644 index 7f7986a..0000000 --- a/inst/include/nt2/core/functions/fact_10.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FACT_10_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FACT_10_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fact_10,fact_10, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fact_11.hpp b/inst/include/nt2/core/functions/fact_11.hpp deleted file mode 100644 index 4799556..0000000 --- a/inst/include/nt2/core/functions/fact_11.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FACT_11_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FACT_11_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fact_11,fact_11, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fact_12.hpp b/inst/include/nt2/core/functions/fact_12.hpp deleted file mode 100644 index 4a919c0..0000000 --- a/inst/include/nt2/core/functions/fact_12.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FACT_12_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FACT_12_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fact_12,fact_12, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fact_4.hpp b/inst/include/nt2/core/functions/fact_4.hpp deleted file mode 100644 index b5af7b0..0000000 --- a/inst/include/nt2/core/functions/fact_4.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FACT_4_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FACT_4_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fact_4,fact_4, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fact_5.hpp b/inst/include/nt2/core/functions/fact_5.hpp deleted file mode 100644 index 5e0dd27..0000000 --- a/inst/include/nt2/core/functions/fact_5.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FACT_5_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FACT_5_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fact_5,fact_5, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fact_6.hpp b/inst/include/nt2/core/functions/fact_6.hpp deleted file mode 100644 index 140db9c..0000000 --- a/inst/include/nt2/core/functions/fact_6.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FACT_6_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FACT_6_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fact_6,fact_6, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fact_7.hpp b/inst/include/nt2/core/functions/fact_7.hpp deleted file mode 100644 index f3bb334..0000000 --- a/inst/include/nt2/core/functions/fact_7.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FACT_7_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FACT_7_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fact_7,fact_7, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fact_8.hpp b/inst/include/nt2/core/functions/fact_8.hpp deleted file mode 100644 index 2b14806..0000000 --- a/inst/include/nt2/core/functions/fact_8.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FACT_8_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FACT_8_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fact_8,fact_8, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fact_9.hpp b/inst/include/nt2/core/functions/fact_9.hpp deleted file mode 100644 index 70728b9..0000000 --- a/inst/include/nt2/core/functions/fact_9.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FACT_9_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FACT_9_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fact_9,fact_9, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/falses.hpp b/inst/include/nt2/core/functions/falses.hpp deleted file mode 100644 index afcc199..0000000 --- a/inst/include/nt2/core/functions/falses.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FALSES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FALSES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::False, falses, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/fifteen.hpp b/inst/include/nt2/core/functions/fifteen.hpp deleted file mode 100644 index e7a2f47..0000000 --- a/inst/include/nt2/core/functions/fifteen.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FIFTEEN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FIFTEEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fifteen,fifteen, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fill_pattern.hpp b/inst/include/nt2/core/functions/fill_pattern.hpp deleted file mode 100644 index 35d8211..0000000 --- a/inst/include/nt2/core/functions/fill_pattern.hpp +++ /dev/null @@ -1,127 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FILL_PATTERN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FILL_PATTERN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief fill_pattern generic tag - - Represents the fill_pattern function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fill_pattern_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fill_pattern_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fill_pattern_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fill_pattern_; - } - - - #if defined(DOXYGEN_ONLY) - /*! - @brief Pattern generator - - Create an array made of a linear repetition of a given pattern matrix. - - @par Semantic: - - fill_pattern semantic depends of its parameters type and quantity: - - - For any Expression @c p and any Integer @c sz1,...,szn , the - following code: - @code - auto x = fill_pattern(p, sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table where, - for any indexes @c i, x(i) = p(i%numel(p)). - - - For any Expression @c p and any Expression @c dims evaluating as a row - vector of @c N elements, the following code: - @code - auto x = fill_pattern(p, dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table where, for any indexes @c i, x(i) = p(i%numel(p)). - - - For any Expression @c p and any Fusion Sequence @c dims of @c N elements, - the following code: - @code - auto x = fill_pattern(p, dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<1>(dims),at_c(dims)} - table where, for any indexes @c i, x(i) = p(i%numel(p)). - - @usage_output{fill_pattern.cpp,fill_pattern.out} - - @param p Data patter to repeat in the result. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @return An Expression evaluating as an array of a given type and dimensions. - **/ - template - details::unspecified fill_pattern(Pattern const& p, Args const&... dims); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::fill_pattern_, fill_pattern, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::boxed_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/find.hpp b/inst/include/nt2/core/functions/find.hpp deleted file mode 100644 index 7ad1712..0000000 --- a/inst/include/nt2/core/functions/find.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FIND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FIND_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the find functor - **/ - struct find_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_find_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_find_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_find_; - } - - /*! - @brief - - @param a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::find_, find, 1) - - /*! - @brief - - @param a0 - @param a1 - @param a2 - @param a3 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::find_, find, 4) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::find_, find, 2) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::find_, find, 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/findi.hpp b/inst/include/nt2/core/functions/findi.hpp deleted file mode 100644 index c2cb795..0000000 --- a/inst/include/nt2/core/functions/findi.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FINDI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FINDI_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the findi function -**/ - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the findi functor - **/ - struct findi_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_findi_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_findi_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_findi_; - } - - /*! - @brief - - @param a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::findi_, findi, 1) - - /*! - @brief - - @param a0 - @param a1 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::findi_, findi, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/findj.hpp b/inst/include/nt2/core/functions/findj.hpp deleted file mode 100644 index dc6b3a1..0000000 --- a/inst/include/nt2/core/functions/findj.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FINDJ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FINDJ_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the findj function -**/ - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the findj functor - **/ - struct findj_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_findj_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_findj_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_findj_; - } - - /*! - @brief - - @param a0 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::findj_, findj, 1) - - /*! - @brief - - @param a0 - @param a1 - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::findj_, findj, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/first_index.hpp b/inst/include/nt2/core/functions/first_index.hpp deleted file mode 100644 index 04eb351..0000000 --- a/inst/include/nt2/core/functions/first_index.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FIRST_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FIRST_INDEX_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the first_index function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for first_index functor - **/ - struct first_index_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_first_index_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_first_index_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_first_index_; - } - - /*! - @brief First index of an expression - - @tparam - @param - - @return - **/ - template - typename boost::dispatch::meta:: - call)>::type - first_index(A0 const& a0) - { - typename boost::dispatch::make_functor::type callee; - return callee(a0, boost::mpl::size_t() ); - } - - /*! - @brief First index of an expression - - @param a0 - @param dim - - @return - **/ - template - typename boost::dispatch::meta:: - call::type - first_index(A0 const& a0, Dim const& dim) - { - typename boost::dispatch::make_functor::type callee; - return callee(a0, dim); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/firstnonsingleton.hpp b/inst/include/nt2/core/functions/firstnonsingleton.hpp deleted file mode 100644 index 2f8629c..0000000 --- a/inst/include/nt2/core/functions/firstnonsingleton.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FIRSTNONSINGLETON_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FIRSTNONSINGLETON_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the nt2::firstnonsingleton function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for firstnonsingleton functor - **/ - struct firstnonsingleton_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_firstnonsingleton_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_firstnonsingleton_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_firstnonsingleton_; - } - - /*! - @brief First non-singleton dimension - - For a given expression, returns the first dimension which is not equal to 1. - - @param a0 Expression to inspect - @return The value of the first dimension of a0 not equal to 1. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::firstnonsingleton_,firstnonsingleton,1) -} - -#endif diff --git a/inst/include/nt2/core/functions/firstoflength.hpp b/inst/include/nt2/core/functions/firstoflength.hpp deleted file mode 100644 index 55fd687..0000000 --- a/inst/include/nt2/core/functions/firstoflength.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FIRSTOFLENGTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FIRSTOFLENGTH_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the nt2::firstoflength function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for firstoflength functor - **/ - struct firstoflength_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_firstoflength_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_firstoflength_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_firstoflength_; - } - - /*! - @brief First dimension of given length - - For a given expression, returns the first dimension which is equal to a - given value. If none exists, firstoflength returns 0. - - @param a0 Expression to inspect - @param a1 length to match - @return The value of the first dimension of length a1. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::firstoflength_,firstoflength,2) -} - -#endif diff --git a/inst/include/nt2/core/functions/five.hpp b/inst/include/nt2/core/functions/five.hpp deleted file mode 100644 index 77a49da..0000000 --- a/inst/include/nt2/core/functions/five.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FIVE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FIVE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Five,five, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fiveo_8.hpp b/inst/include/nt2/core/functions/fiveo_8.hpp deleted file mode 100644 index c2fb484..0000000 --- a/inst/include/nt2/core/functions/fiveo_8.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FIVEO_8_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FIVEO_8_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Fiveo_8 generator - - Create an array full of 5/8. - - @par Semantic: - - fiveo_8() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = fiveo_8(); - @endcode - is equivalent to - @code - double x = 5.0/8.0; - @endcode - - - For any Integer @c n, the following code: - @code - auto x = fiveo_8(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - @c double 5.0/8.0. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = fiveo_8(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - @c double 5.0/8.0. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = fiveo_8(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with @c double 5.0/8.0. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = fiveo_8(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with @c double 5.0/8.0. - - - For any type @c T, the following code: - @code - T x = fiveo_8( as_() ); - @endcode - is equivalent to - @code - T x = T( 5.0/8.0); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = fiveo_8(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - type @c T fiveo_8s. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = fiveo_8(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with type @c T fiveo_8s. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = fiveo_8(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with type @c T fiveo_8s. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = fiveo_8(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with type @c T fiveo_8s. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Fiveo_8 constant. - - @sa Fiveo_8 - **/ - template - details::unspecified fiveo_8(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified fiveo_8(Args const&... dims); - - /// @overload - template ClassName::type fiveo_8(ClassName const& classname); - - /// @overload - double fiveo_8(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fiveo_8,fiveo_8, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/flipdim.hpp b/inst/include/nt2/core/functions/flipdim.hpp deleted file mode 100644 index 0d192b8..0000000 --- a/inst/include/nt2/core/functions/flipdim.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FLIPDIM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FLIPDIM_HPP_INCLUDED - - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief flipdim generic tag - - Represents the flipdim function in generic contexts. - - @par Models: - Hierarchy - **/ - struct flipdim_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_flipdim_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_flipdim_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_flipdim_; - } - /*! - Flips an expression around an arbitrary dimension axis - - @par Semantic: - - For every table expression a0 and integer n - - @code - auto r = flipdim(a0{, n}); - @endcode - - is similar to: - - @code - ri = _(size(a0, n), -1, 1); - auto r = a0(_, ..., ri, ..., _); // ri in the n-th slot of a0 - @endcode - - n default to @c firstnonsingleton(a0). - - @see @funcref{size}, @funcref{colon} - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::flipdim_ , flipdim, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::flipdim_ , flipdim, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/fliplr.hpp b/inst/include/nt2/core/functions/fliplr.hpp deleted file mode 100644 index a4955fb..0000000 --- a/inst/include/nt2/core/functions/fliplr.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FLIPLR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FLIPLR_HPP_INCLUDED - - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief fliplr generic tag - - Represents the fliplr function in generic contexts. - - @par Models: - Hierarchy - **/ - struct fliplr_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_fliplr_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_fliplr_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_fliplr_; - } - /*! - Flips an expression around the vertical axis - @par Semantic: - - For every table expression - - @code - auto r = fliplr(a0); - @endcode - - is similar to: - - @code - auto r = a0(_(height(a0), -1, 1), ..., _); - @endcode - - @see @funcref{height}, @funcref{colon} - @param a0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::fliplr_ , fliplr, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/flipud.hpp b/inst/include/nt2/core/functions/flipud.hpp deleted file mode 100644 index d4bcca3..0000000 --- a/inst/include/nt2/core/functions/flipud.hpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================= -#ifndef NT2_CORE_FUNCTIONS_FLIPUD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FLIPUD_HPP_INCLUDED - - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief flipud generic tag - - Represents the flipud function in generic contexts. - - @par Models: - Hierarchy - **/ - struct flipud_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_flipud_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_flipud_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_flipud_; - } - /*! - Flips an expression around the horizontal axis - - @par Semantic: - - For every table expression - - @code - auto r = flipud(a0); - @endcode - - is similar to: - - @code - auto r = a0(_, _(width(a0), -1, 1), ..., _); - @endcode - - @see @funcref{width}, @funcref{colon} - @param a0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::flipud_ , flipud, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/four.hpp b/inst/include/nt2/core/functions/four.hpp deleted file mode 100644 index ffc714b..0000000 --- a/inst/include/nt2/core/functions/four.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FOUR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FOUR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Four,four, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/fourthrooteps.hpp b/inst/include/nt2/core/functions/fourthrooteps.hpp deleted file mode 100644 index 41f03ad..0000000 --- a/inst/include/nt2/core/functions/fourthrooteps.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FOURTHROOTEPS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FOURTHROOTEPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Fourthrooteps,fourthrooteps, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/freqspace.hpp b/inst/include/nt2/core/functions/freqspace.hpp deleted file mode 100644 index 0ab5661..0000000 --- a/inst/include/nt2/core/functions/freqspace.hpp +++ /dev/null @@ -1,141 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FREQSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FREQSPACE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the freqspace functor - **/ - struct freqspace_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_freqspace_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_freqspace_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_freqspace_; - } - - /*! - @brief Frequency spacing for frequency responses. - - freqspace returns the implied frequency range for equally spaced - frequency responses. - - @par 1D Semantic: - - For any integral @c N : - - @code - f = freqspace(N); - @endcoe - - returns the one-dimensional frequency vector @c f assuming @c N evenly - spaced points around the unit circle. It is equivalent to: - - @code - f = _(0,2/N,1); - @endcode - - For any integral @c N : - - @code - tie(f1,f2) = freqspace(N); - @endcoe - - returns the two-dimensional frequency vectors @c f1 and @c f2 for an N-by-N - matrix. - - For N odd, it is equivalent to : - - @code - f1 = f2 = _(-N+1,2,N-1); - @endcode - - For N even, it is equivalent to: - - @code - f1 = f2 = _(-N,2,N-2); - @endcode - - For any integral @c N : - - @code - f = freqspace(N,whole_); - @endcode - - is equivalent to : - - @code - f = _(0,2/N,2*(N-1)/N); - @endcode - - @par 2D Semantic: - - For any 2 dimensions size S = [m n]: - - @code - tie(f1,f2) = freqspace(S); - @endcode - - returns the two-dimensional frequency vectors @c f1 and @c f2 - for an m-by-n matrix. - - [x1,y1] = freqspace(...,'meshgrid') is equivalent to - - [f1,f2] = freqspace(...); - [x1,y1] = meshgrid(f1,f2); - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::freqspace_, freqspace, 3) - - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::freqspace_, freqspace, 2) - - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::freqspace_, freqspace, 1) -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::boxed_size - {}; - - template - struct value_type - { - typedef typename boost::proto::result_of::child_c::value_type c_t; - typedef typename boost::proto::result_of::value::value_type t_t; - typedef typename t_t::type type; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/from_diag.hpp b/inst/include/nt2/core/functions/from_diag.hpp deleted file mode 100644 index a249842..0000000 --- a/inst/include/nt2/core/functions/from_diag.hpp +++ /dev/null @@ -1,108 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FROM_DIAG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FROM_DIAG_HPP_INCLUDED - - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief from_diag generic tag - - Represents the from_diag function in generic contexts. - - @par Models: - Hierarchy - **/ - struct from_diag_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_from_diag_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_from_diag_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_from_diag_; - } - /*! - - Computes the square matricial expression full of zero except the - a1-th diagonal which is given by a0. - - @par Semantic: - - For every vector expression a0 and integer a1: - - @code - auto r = from_diag(a0{,k}); - @endcode - - computes the square matrix for which a0 is the k-th diagonal (k - defaults to 0). - - @see @funcref{diag_of} - @param a0 - @param a1 optional, default to 0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::from_diag_ , from_diag, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::from_diag_ , from_diag, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - std::size_t n = nt2::length(boost::proto::child_c<0>(e)); - return result_type(n,n); - } - }; - - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - std::size_t n = nt2::length(boost::proto::child_c<0>(e)) - + nt2::abs(boost::proto::value(boost::proto::child_c<1>(e))); - - return result_type(n,n); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/function.hpp b/inst/include/nt2/core/functions/function.hpp deleted file mode 100644 index 7e56ac1..0000000 --- a/inst/include/nt2/core/functions/function.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FUNCTION_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FUNCTION_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct function_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_function_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_function_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_function_; - } - - //============================================================================ - // Generate all calls from function(lhs) to function(lhs, i0, ..., in) - // with both const and non const lhs variant - //============================================================================ - #define M0(z, n, t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::function_, function, n) \ - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::function_, function, n) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::function_, at, n) \ - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::function_, at, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -#include - -#endif diff --git a/inst/include/nt2/core/functions/function_index.hpp b/inst/include/nt2/core/functions/function_index.hpp deleted file mode 100644 index b4adba4..0000000 --- a/inst/include/nt2/core/functions/function_index.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_FUNCTION_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_FUNCTION_INDEX_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - struct function_index_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_function_index_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_function_index_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_function_index_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::function_index_, function_index, 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/generic/sub2ind.hpp b/inst/include/nt2/core/functions/generic/sub2ind.hpp deleted file mode 100644 index 7d76449..0000000 --- a/inst/include/nt2/core/functions/generic/sub2ind.hpp +++ /dev/null @@ -1,87 +0,0 @@ -#if !BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GENERIC_SUB2IND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GENERIC_SUB2IND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - #define BOOST_PP_FILENAME_1 "nt2/core/functions/generic/sub2ind.hpp" - #define BOOST_PP_ITERATION_LIMITS (2, BOOST_PP_INC(NT2_MAX_DIMENSIONS)) - #include BOOST_PP_ITERATE() -} } - -#endif - -#else - - #define N BOOST_PP_ITERATION() - - #define M0(z,n,t) (t >) - #define M1(z,n,t) nt2::touint(a##n - one) - - /// INTERNAL ONLY - sub2ind(ettent,D1,D2) - BOOST_DISPATCH_IMPLEMENT ( sub2ind_, tag::cpu_ - , (SZ)(A1) - , (fusion_sequence_) - BOOST_PP_REPEAT(N,M0,generic_) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE - result_type operator()(SZ const& sz, BOOST_PP_ENUM_PARAMS(N,A1 const& a) ) const - { - A1 one = One(); - A1 that = one - + splat ( as_index ( sz, boost::fusion::make_vector - ( BOOST_PP_ENUM(N, M1, ~) ) - ) - ); - return that; - } - }; - - /// INTERNAL ONLY - ind2sub(size,IND) - BOOST_DISPATCH_IMPLEMENT ( sub2ind_, tag::cpu_ - , (SZ)(A1) - , ((ast_)) - BOOST_PP_REPEAT(N,M0,scalar_) - ) - { - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(N) - , (SZ const& sz, BOOST_PP_ENUM_PARAMS(N,A1 a) ) - , ( nt2::sub2ind( nt2::as_size(sz) - , BOOST_PP_ENUM_PARAMS(N,a) - ) - ) - ) - }; - - #undef M1 - #undef M0 - #undef N - -#endif diff --git a/inst/include/nt2/core/functions/global.hpp b/inst/include/nt2/core/functions/global.hpp deleted file mode 100644 index 2ef2863..0000000 --- a/inst/include/nt2/core/functions/global.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBAL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBAL_HPP_INCLUDED - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the global functor - **/ - struct global_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_global_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_global_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_global_; - } - - /*! - @brief Apply a reduction operation with one or two parametersto - every elements of an expression - - @param a0 Functor tag to apply - @param a1 Expression to process - @param a2 additionnal parameter if needed by a0 - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::global_, global, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::global_, global, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/globalall.hpp b/inst/include/nt2/core/functions/globalall.hpp deleted file mode 100644 index 476e05d..0000000 --- a/inst/include/nt2/core/functions/globalall.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALALL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALALL_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalall functor - **/ - struct globalall_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalall_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalall_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalall_; - } - /*! - @brief Checks that all elements of an expression is non-zero - - @par Semantic - - For any table expression @c t: - - @code - logical r = globalall(t); - @endcode - - is equivalent to: - - @code - logical r = all(t(_))(1); - @endcode - - @see @funcref{colon}, @funcref{all} - @param a0 Table to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalall_ , globalall, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalall_ - , tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalany.hpp b/inst/include/nt2/core/functions/globalany.hpp deleted file mode 100644 index 6dea980..0000000 --- a/inst/include/nt2/core/functions/globalany.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALANY_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALANY_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalany_ functor - **/ - struct globalany_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalany_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalany_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalany_; - } - - /*! - @brief Checks that any elements of an expression is non-zero - - @par Semantic - - For any table expression @c t: - - @code - logical r = globalany(t); - @endcode - - is equivalent to: - - @code - logical r = any(t(_))(1); - @endcode - - @see @funcref{colon}, @funcref{any} - @param a0 expression table to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalany_ , globalany, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalany_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call < tag::global_( nt2::functor - , const A0& - ) - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalasum1.hpp b/inst/include/nt2/core/functions/globalasum1.hpp deleted file mode 100644 index 4112bde..0000000 --- a/inst/include/nt2/core/functions/globalasum1.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALASUM1_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALASUM1_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalasum1 functor - **/ - struct globalasum1_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalasum1_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalasum1_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalasum1_; - } - /*! - @brief Sum of the absolute values of all the elements of a table expression - - Computes the sum of the absolute value of all the elements - of a table expression - - @par Semantic - - For any table @c t: - - @code - T r = globalasum1(t); - @endcode - - is equivalent to: - - @code - T r = asum1(a(_))(1); - @endcode - - @see @funcref{colon}, @funcref{asum1} - @param a0 Table expression to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalasum1_, globalasum1, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalasum1_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalasum2.hpp b/inst/include/nt2/core/functions/globalasum2.hpp deleted file mode 100644 index 691244e..0000000 --- a/inst/include/nt2/core/functions/globalasum2.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALASUM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALASUM2_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalasum2 functor - **/ - struct globalasum2_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalasum2_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalasum2_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalasum2_; - } - /*! - @brief Sum of the absolute square of all the elements of a table expression - - Computes the sum of the absolute square of all the elements of a - table expression - - @par Semantic - - For any table @c t: - - @code - T r = globalasum2(t); - @endcode - - is equivalent to: - - @code - T r = asum2(a(_))(1); - @endcode - - @see @funcref{colon}, @funcref{asum2} - @param a0 Table expression to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalasum2_, globalasum2, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalasum2_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalasump.hpp b/inst/include/nt2/core/functions/globalasump.hpp deleted file mode 100644 index 9fbdb3f..0000000 --- a/inst/include/nt2/core/functions/globalasump.hpp +++ /dev/null @@ -1,93 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALASUMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALASUMP_HPP_INCLUDED -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalasump functor - **/ - struct globalasump_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalasump_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalasump_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalasump_; - } - - /*! - @brief Sum of the power of absolute values of all the elements of a table expression - - Computes the sum of the pth power of the absolute value of all the elements - of a table expression - - @par Semantic - - For any table @c t and any arithmetic value @c p : - - @code - T r = globalasump(t, p); - @endcode - - is equivalent to: - - @code - T r = asump(a(_), p)(1); - @endcode - - @see @funcref{colon}, @funcref{asump} - @param a0 Table expression to process - @param a1 Power at which absolute values are raised - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalasump_, globalasump, 2) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalasump_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (scalar_ > ) - ) - { - typedef typename meta::call - , const A0& - , const A1& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return global(nt2::functor(), a0, a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalfind.hpp b/inst/include/nt2/core/functions/globalfind.hpp deleted file mode 100644 index f06eae2..0000000 --- a/inst/include/nt2/core/functions/globalfind.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALFIND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALFIND_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the globalfind function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalfind functor - **/ - struct globalfind_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalfind_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalfind_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalfind_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::globalfind_, globalfind, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::globalfind_, globalfind, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/globalmax.hpp b/inst/include/nt2/core/functions/globalmax.hpp deleted file mode 100644 index 073bea9..0000000 --- a/inst/include/nt2/core/functions/globalmax.hpp +++ /dev/null @@ -1,131 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALMAX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALMAX_HPP_INCLUDED - -#include -#include -#include -#include -#include - - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalmax functor - **/ - struct globalmax_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalmax_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalmax_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalmax_; - } - - /*! - @brief maximum of all the elements of a table expression and its position. - - Computes maximum of all the elements of a table expression and optionaly its linear index - - @par Semantic - - For any table expression @c t: - - @code - T r = globalmax(t); - @endcode - - is equivalent to: - - @code - T r = max(a(_)); - @endcode - - and - - @code - ptrdiff_t i; - T m = globalmax(t, i); - @endcode - - is equivalent to: - - @code - T r = max(a(_)); - ptrdiff_t i = globalfind(eq(a0, m)) - @endcode - - - @see @funcref{colon}, @funcref{max}, @funcref{globalfind} - @param a0 Table to process - @param a1 optional L-value to receive the index - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::globalmax_, globalmax,(A0 const&)(A1&),2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::globalmax_, g_max ,(A0 const&)(A1&),2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalmax_ , globalmax, 1) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalmax_ , g_max, 1) - /// @overload - -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalmax_, tag::cpu_, - (A0), - (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::global(nt2::functor(), a0); - } - }; - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalmax_, tag::cpu_, - (A0)(A1), - (unspecified_)(scalar_ > ) - ) - { - typedef typename meta::call, const A0&)>::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 & a1) const - { - result_type tmp = global(nt2::functor(), a0); - A1 k = nt2::globalfind(eq(a0, tmp)); - a1 = k; - return tmp; - } - }; - - -} } -#endif diff --git a/inst/include/nt2/core/functions/globalmean.hpp b/inst/include/nt2/core/functions/globalmean.hpp deleted file mode 100644 index d9bba6a..0000000 --- a/inst/include/nt2/core/functions/globalmean.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALMEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALMEAN_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalmean functor - **/ - struct globalmean_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalmean_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalmean_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalmean_; - } - - /*! - @brief Mean of all the elements of an expression - - Computes the mean of all the elements of a table expression - - @par Semantic - - For any table expression : - - @code - T r = globalmean(t); - @endcode - - is equivalent to: - - @code - T r = mean(t(_))(1); - @endcode - - @see @funcref{colon}, @funcref{mean} - @param a0 Table to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalmean_, globalmean, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalmean_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalmeanad.hpp b/inst/include/nt2/core/functions/globalmeanad.hpp deleted file mode 100644 index 8de8d4a..0000000 --- a/inst/include/nt2/core/functions/globalmeanad.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALMEANAD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALMEANAD_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalmeanad functor - **/ - struct globalmeanad_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalmeanad_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalmeanad_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalmeanad_; - } - - /*! - @brief Mean of the absolute deviation of all the elements of an expression - - Computes the absolute deviation of all the elements of a table expression - - @par Semantic - - For any table expression : - - @code - T r = globalmeanad(t); - @endcode - - is equivalent to: - - @code - T r = meanad(t(_))(1); - @endcode - - - @see @funcref{colon}, @funcref{meanad} - @param a0 Table to process - - @return An expression eventually evaluated to the result - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalmeanad_, globalmeanad, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalmeanad_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalmedian.hpp b/inst/include/nt2/core/functions/globalmedian.hpp deleted file mode 100644 index b7a548c..0000000 --- a/inst/include/nt2/core/functions/globalmedian.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALMEDIAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALMEDIAN_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalmedian functor - **/ - struct globalmedian_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalmedian_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalmedian_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalmedian_; - } - /*! - @brief Median of the absolute deviation of all the elements of an expression - - Computes the median the absolute deviation of all the elements of a table expression - - @par Semantic - - For any table expression : - - @code - T r = globalmedian(t); - @endcode - - is equivalent to: - - @code - T r = median(t(_))(1); - @endcode - - - @see @funcref{colon}, @funcref{median} - @param a0 Table to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalmedian_, globalmedian, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalmedian_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalmedianad.hpp b/inst/include/nt2/core/functions/globalmedianad.hpp deleted file mode 100644 index 2d1da51..0000000 --- a/inst/include/nt2/core/functions/globalmedianad.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALMEDIANAD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALMEDIANAD_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalmedianad functor - **/ - struct globalmedianad_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalmedianad_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalmedianad_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalmedianad_; - } - - /*! - @brief Median of the absolute deviation of all the elements of an expression - - Computes the median the absolute deviation to the median of all the elements of a table expression - - @par Semantic - - For any table expression : - - @code - T r = globalmedianad(t); - @endcode - - is equivalent to: - - @code - T r = medianad(t(_))(1); - @endcode - - - @see @funcref{colon}, @funcref{medianad} - @param a0 Table expression to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalmedianad_, globalmedianad, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalmedianad_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalmin.hpp b/inst/include/nt2/core/functions/globalmin.hpp deleted file mode 100644 index 994b0d8..0000000 --- a/inst/include/nt2/core/functions/globalmin.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALMIN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALMIN_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalmjn functor - **/ - struct globalmin_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalmin_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalmin_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalmin_; - } - - /*! - @brief minimum of all the elements of a table expression and its position. - - Computes minimum of all the elements of a table expression and optionaly its linear index - - @par Semantic - - For any table expression @c t and any arithmetic value @c p : - - @code - T r = globalmin(t); - @endcode - - is equivalent to: - - @code - T r = min(a(_)); - @endcode - - and - - @code - ptrdiff_t i; - T m = globalmin(t, i); - @endcode - - is equivalent to: - - @code - T r = min(a(_)); - ptrdiff_t i = globalfind(eq(a0, m)) - @endcode - - - @see @funcref{colon}, @funcref{asump}, @funcref{globalfind} - @param a0 Table to process - @param a1 optional L-value to receive the index - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::globalmin_, globalmin,(A0 const&)(A1&),2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::globalmin_, g_min ,(A0 const&)(A1&),2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalmin_ , globalmin, 1) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalmin_ , g_min, 1) - -} - -#endif diff --git a/inst/include/nt2/core/functions/globalnone.hpp b/inst/include/nt2/core/functions/globalnone.hpp deleted file mode 100644 index 092fa75..0000000 --- a/inst/include/nt2/core/functions/globalnone.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALNONE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALNONE_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalnone functor - **/ - struct globalnone_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalnone_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalnone_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalnone_; - } - - /*! - @brief Checks that none element of an expression is non-zero - - @par Semantic - - For any table expression @c t: - - @code - logical r = globalnone(t); - @endcode - - is equivalent to: - - @code - logical r = none(t(_)); - @endcode - - @see @funcref{colon}, @funcref{none} - @param a0 Table to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalnone_ , globalnone, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalnone_ - , tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalnorm.hpp b/inst/include/nt2/core/functions/globalnorm.hpp deleted file mode 100644 index eaf13da..0000000 --- a/inst/include/nt2/core/functions/globalnorm.hpp +++ /dev/null @@ -1,184 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALNORM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALNORM_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - @brief globalnorm generic tag - - Represents the globalnorm function in generic contexts. - - @par Models: - Hierarchy - **/ - struct globalnorm_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalnorm_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalnorm_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalnorm_; - } - - /*! - @brief Global norm - - Computes the norm of a whole table expression with static or dynamic choice - of the norm computation formula. - - Call protocols to globalnorm are summarized in the following table. We advise to use static - calls whenever possible as it prevents cascaded run-time if clauses and goes directly - to the right call at execution. - - @code - |--------------------|-------------------|------------------------------|-------------------| - | mnorm(a0, p) | - |--------------------|-------------------|------------------------------|-------------------| - | static p | dynamic p | formula (pseudo-code) | equivalent to | - |--------------------|-------------------|------------------------------|-------------------| - | nt2::one_ | 1 | sum(abs(x(_))) | globalnorm1(x) | - | nt2::two_ | 2 | sqrt(sum(sqr(abs(x(_))))) | globalnorm2(x) | - | - | p (positive) | sum(abs(x)^p)^(1/p) | globalnormp(x,p) | - | nt2::inf_ | nt2::Inf() | max(abs((x)) | globalnorminf(x) | - | nt2::fro_ | -1 | sqrt(sum(sqr(abs(x(_))))) | globalnormfro(x) | - |--------------------|-------------------|------------------------------|-------------------| - | mnorm

(a0) | - |--------------------|-------------------|------------------------------|-------------------| - | static p | | matrix | | - |--------------------|-------------------|------------------------------|-------------------| - | nt2::tag::one_ or 1| - | sum(abs(x(_))) | globalnorm1(x) | - | nt2::tag::two_ or 2| - | sqrt(sum(sqr(abs(x(_))))) | globalnorm2(x) | - | p (integer only) | - | sum(abs(x)^p)^(1/p) | globalnormp(x,p) | - | nt2::tag::inf_ | - | max(abs((x)) | globalnorminf(x) | - | nt2::tag::fro_ | - | sqrt(sum(sqr(abs(x(_))))) | globalnormfro(x) | - |--------------------|-------------------|------------------------------|-------------------| - @endcode - - @par Semantic: - - For any expression @c a0 of type @c A0, the following call: - - @code - as_real::type x = globalnorm(a0); - @endcode - - is equivalent to: - - @code - as_real::type x = globalnorm2(a0); - @endcode - - For any expression @c a0 of type @c A0 and any floating point value @c p, the - following call: - - @code - as_real::type x = globalnorm(a0,p); - @endcode - - is equivalent to: - - @code - as_real::type x = globalnormp(a0,p); - @endcode - - if @c p is finite and to : - - @code - as_real::type x = globalmax(abs(a0)); - @endcode - - if @c is +Inf and to : - - @code - as_real::type x = globalmin(abs(a0)); - @endcode - - if @c p is -Inf. - - @note If 0 < p < 1 or p = -inf, globalnorm does not share the properties that - define a mathematical norm, but only a quasi-norm if 0 < p < 1 and a notation - facility for p = -inf. - - @par Static Interface - - globalnorm can also be invoked with a template parameter which is either a - functor tag describing the constant value to use instead of @c p or an - Integral Constant. For example, - - @code - as_real::type x = globalnorm(a0); - @endcode - - is equivalent to: - - @code - as_real::type x = globalnorm2(a0); - @endcode - - Similarly, - - @code - as_real::type x = globalnorm<5>(a0); - @endcode - - is equivalent to: - - @code - as_real::type x = globalnormp(a0,5); - @endcode - - @note Whenever a constant functor tag or an Integral Constant is used, compile - time optimization is performed (if available) so the correct variant of globalnorm is - called. For example, calls similar to globalnorm<2>(a0) will invoke - globalnorm2(a0) instead of globalnormp(a0, 2), and globalnorm<5>(a0) will simply - invoke directly globalnormp(a0, 5) but without any runtime selection. - - @param a0 Expression to compute the norm of - @param a1 Type of norm to compute - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(nt2::tag::globalnorm_, globalnorm, 2) - - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(nt2::tag::globalnorm_, globalnorm, 1) - - /// @overload - template - BOOST_FORCEINLINE typename meta::as_real::type - globalnorm(const A0& a0) - { - return globalnorm(a0, nt2::meta::as_()); - } - - /// @overload - template - BOOST_FORCEINLINE typename meta::as_real::type - globalnorm(const A0& a0) - { - return globalnorm(a0, boost::mpl::int_() ); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/globalnorm2.hpp b/inst/include/nt2/core/functions/globalnorm2.hpp deleted file mode 100644 index 0bfe500..0000000 --- a/inst/include/nt2/core/functions/globalnorm2.hpp +++ /dev/null @@ -1,96 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALNORM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALNORM2_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalnorm2 functor - **/ - struct globalnorm2_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalnorm2_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalnorm2_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalnorm2_; - } - - /*! - @brief euclidian norm of a whole table expression elements - - @par Semantic - - For any table expression of T @c t integer or weights w and any integer @c n: - - @code - T r = globalnorm2(t); - @endcode - - is equivalent to: - - if w is an integer - - @code - T r = norm2(t(_))(1); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @par alias: - norm_eucl - - @see @funcref{firstnonsingleton}, @funcref{norm2} - @param a0 Table to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalnorm2_, globalnorm2, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalnorm2_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalnormp.hpp b/inst/include/nt2/core/functions/globalnormp.hpp deleted file mode 100644 index 8dd6b39..0000000 --- a/inst/include/nt2/core/functions/globalnormp.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALNORMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALNORMP_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalnormp functor - **/ - struct globalnormp_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalnormp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalnormp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalnormp_; - } - /*! - @brief Sum of the p power of absolute values of table to 1/p - - - Computes the 1/p power of the sum of the pth power of the absolute value of all the elements - of a table expression: the \f$l_p\f$ norm - - @par Semantic - - For any table expression @c t of T and any arithmetic value @c - p: - - @code - T r = globalnormp(t,p); - @endcode - - is equivalent to: - - @code - T r = normp(t(_),p)); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{colon}, @funcref{normp} - @param a0 Table to process - @param a1 Power at which absolute values are raised - - @return An expression eventually evaluated to the result - - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalnormp_, globalnormp, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/globalprod.hpp b/inst/include/nt2/core/functions/globalprod.hpp deleted file mode 100644 index 217873d..0000000 --- a/inst/include/nt2/core/functions/globalprod.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALPROD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALPROD_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the functor - **/ - struct globalprod_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalprod_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalprod_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalprod_; - } - - /*! - @brief product of all the elements of a table expression . - - Computes the product of all the elements of a table expression - - @par Semantic - - For any table expression @c t: - - @code - T r = globalprod(t); - @endcode - - is equivalent to: - - @code - T r = prod(a(_))(1); - @endcode - - @param a0 Table expression to process - @return A scalar - - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalprod_ , globalprod, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalprod_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call < tag::global_(nt2::functor - , const A0&) - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } -#endif diff --git a/inst/include/nt2/core/functions/globalstdev.hpp b/inst/include/nt2/core/functions/globalstdev.hpp deleted file mode 100644 index 72d6138..0000000 --- a/inst/include/nt2/core/functions/globalstdev.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALSTDEV_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALSTDEV_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalstdev functor - **/ - struct globalstdev_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalstdev_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalstdev_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalstdev_; - } - /*! - @brief Standard Deviation of all the elements of an expression - - Computes the standard deviation of all the elements of a table expression - - @par Semantic - - For any table expression : - - @code - T r = globalstdev(t, k); - @endcode - - is equivalent to: - - @code - T r = stdev(t(_), k)(1); - @endcode - - - @see @funcref{colon}, @funcref{stdev} - @param a0 Table expression to process - @param a1 Table expression or integer - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalstdev_, globalstdev, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalstdev_, globalstdev, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalstdev_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalstdev_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (scalar_ > ) - ) - { - typedef typename meta::call - , const A0& - , const A1& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return global(nt2::functor(), a0, a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalsum.hpp b/inst/include/nt2/core/functions/globalsum.hpp deleted file mode 100644 index 1398670..0000000 --- a/inst/include/nt2/core/functions/globalsum.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALSUM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALSUM_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalsum functor - **/ - struct globalsum_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalsum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalsum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalsum_; - } - - - /*! - @brief Sum of all the elements of an expression - - Computes the sum of all the elements of a table expression - - @par Semantic - - For any table expression : - - @code - T r = globalsum(t); - @endcode - - is equivalent to: - - @code - T r = sum(t(_))(1); - @endcode - - @see @funcref{colon}, @funcref{sum} - @param a0 Table to process - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalsum_, globalsum, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalsum_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/globalvar.hpp b/inst/include/nt2/core/functions/globalvar.hpp deleted file mode 100644 index f2ad24d..0000000 --- a/inst/include/nt2/core/functions/globalvar.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GLOBALVAR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GLOBALVAR_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the globalvar functor - **/ - struct globalvar_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_globalvar_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_globalvar_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_globalvar_; - } - /*! - @brief Variance of all the elements of an expression - - Computes the variance of all the elements of a table expression - - @par Semantic - - For any table expression : - - @code - T r = globavar(t, k); - @endcode - - is equivalent to: - - @code - T r = var(t(_), k)(1); - @endcode - - - @see @funcref{colon}, @funcref{var} - @param a0 Table expression to process - @param a1 Table expression or integer - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalvar_, globalvar, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::globalvar_, globalvar, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalvar_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (scalar_ > ) - ) - { - typedef typename meta::call - , const A0& - , const A1& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return global(nt2::functor(), a0, a1); - } - }; - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( globalvar_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef typename meta::call - , const A0& - )>::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return global(nt2::functor(), a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/gold.hpp b/inst/include/nt2/core/functions/gold.hpp deleted file mode 100644 index 4b9730e..0000000 --- a/inst/include/nt2/core/functions/gold.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GOLD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Gold,gold, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/greatestnoninteger.hpp b/inst/include/nt2/core/functions/greatestnoninteger.hpp deleted file mode 100644 index b03c646..0000000 --- a/inst/include/nt2/core/functions/greatestnoninteger.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_GREATESTNONINTEGER_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_GREATESTNONINTEGER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Greatestnoninteger,greatestnoninteger, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/half.hpp b/inst/include/nt2/core/functions/half.hpp deleted file mode 100644 index f9174ac..0000000 --- a/inst/include/nt2/core/functions/half.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_HALF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_HALF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Half,half, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/halfeps.hpp b/inst/include/nt2/core/functions/halfeps.hpp deleted file mode 100644 index 7adaf7a..0000000 --- a/inst/include/nt2/core/functions/halfeps.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_HALFEPS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_HALFEPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Halfeps,halfeps, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/height.hpp b/inst/include/nt2/core/functions/height.hpp deleted file mode 100644 index 20c2c18..0000000 --- a/inst/include/nt2/core/functions/height.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_HEIGHT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_HEIGHT_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the height function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the height functor - **/ - struct height_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_height_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_height_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_height_; - } - - /*! - @brief Height of an expression - - Return the number of element stored alogn the height of an expression. - - @param a0 Expression to compute the size in number of elements - @return The number of elements stored along the height of a0 - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::height_, height, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/homot.hpp b/inst/include/nt2/core/functions/homot.hpp deleted file mode 100644 index dfb4caf..0000000 --- a/inst/include/nt2/core/functions/homot.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_HOMOT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_HOMOT_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct homot_ : ext::state_constant_ - { - typedef ext::state_constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_homot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_homot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_homot_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::homot_, homot, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - #undef M0 -} - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::generative_value - {}; - - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/horzcat.hpp b/inst/include/nt2/core/functions/horzcat.hpp deleted file mode 100644 index e1ec98a..0000000 --- a/inst/include/nt2/core/functions/horzcat.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_HORZCAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_HORZCAT_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief horzcat generic tag - - Represents the horzcat function in generic contexts. - - @par Models: - Hierarchy - **/ - struct horzcat_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_horzcat_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_horzcat_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_horzcat_; - } - /*! - Horizontal concatenation - - @par Semantic: - - For every table expressions: - - @code - auto r = horzcat(a0,a1); - @endcode - - is similar to: - - @code - auto r = cat(2, a0, a1); - @endcode - - @see @funcref{vertcat}, @funcref{cat} - @par alias: @c cath - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::horzcat_, horzcat, 2) - - /// INTERNAL ONLY - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::horzcat_, horzcat, 1) - - /// INTERNAL ONLY - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::horzcat_, cath, 1) - /// INTERNAL ONLY - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::horzcat_, cath, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/hundred.hpp b/inst/include/nt2/core/functions/hundred.hpp deleted file mode 100644 index 0c5e46f..0000000 --- a/inst/include/nt2/core/functions/hundred.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_HUNDRED_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_HUNDRED_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Hundred,hundred, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/idivide.hpp b/inst/include/nt2/core/functions/idivide.hpp deleted file mode 100644 index a392226..0000000 --- a/inst/include/nt2/core/functions/idivide.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_IDIVIDE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_IDIVIDE_HPP_INCLUDED - -/*! - @file - @brief Defines the idivide function - **/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct idivide_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_idivide_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_idivide_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_idivide_; - } - - /*! - @brief - - - **/ - template < class A0, class A1> - typename meta::call::type - idivide(A0 const& a, A1 const& b, const tag::floor_) - { - return divfloor(a, b); - } - template < class A0, class A1> - typename meta::call::type - idivide(A0 const& a, A1 const& b, const tag::ceil_) - { - return divceil(a, b); - } template < class A0, class A1> - typename meta::call::type - idivide(A0 const& a, A1 const& b, const tag::trunc_) - { - return divfix(a, b); - } - template < class A0, class A1> - typename meta::call::type - idivide(A0 const& a, A1 const& b, const tag::round_) - { - return divround(a, b); - } - template < class A0, class A1> - typename meta::call::type - idivide(A0 const& a, A1 const& b, const tag::round2even_) - { - return divround2even(a, b); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/ifvectvert.hpp b/inst/include/nt2/core/functions/ifvectvert.hpp deleted file mode 100644 index e36fa91..0000000 --- a/inst/include/nt2/core/functions/ifvectvert.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_IFVECTVERT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_IFVECTVERT_HPP_INCLUDED - - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief ifvectvert generic tag - - Represents the ifvectvert function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ifvectvert_ : ext::reshaping_ - { - /// @brief Parent hierarchy - typedef ext::reshaping_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ifvectvert_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ifvectvert_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ifvectvert_; - } - /*! - - Column reshaping if input is vector - @par Semantic: - - For every parameter of type T0 - - @code - auto r = ifvectvert(a0); - @endcode - - is similar to: - - @code - auto r = isvect(a0) ? colvect(a0) : a0; - @endcode - - @see @funcref{isvect}, @funcref{colvect} - @param a0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ifvectvert_ , ifvectvert, 1) - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::ifvectvert_ , ifvectvert, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/ind2sub.hpp b/inst/include/nt2/core/functions/ind2sub.hpp deleted file mode 100644 index 7b621f1..0000000 --- a/inst/include/nt2/core/functions/ind2sub.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_IND2SUB_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_IND2SUB_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief ind2sub generic tag - - Represents the ind2sub function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ind2sub_ : ext::tieable_ - { - /// @brief Parent hierarchy - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ind2sub_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ind2sub_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ind2sub_; - } - - /*! - @brief Index to Subscript conversion - - Determines the equivalent subscript values corresponding to - a single index into an array. - - @param a0 Size of the table to index - @param a1 Linear index to convert - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ind2sub_, ind2sub, 2) - - /*! - @brief Index to Subscript conversion - - Determines the equivalent subscript values corresponding to - a single index into an array with a given base index. - - @param a0 Size of the table to index - @param a1 Linear index to convert - @param a2 Base index of the table to index - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ind2sub_, ind2sub, 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/indices.hpp b/inst/include/nt2/core/functions/indices.hpp deleted file mode 100644 index b8c331b..0000000 --- a/inst/include/nt2/core/functions/indices.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_INDICES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_INDICES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct indices_ : ext::state_constant_ - { - typedef ext::state_constant_ parent; - typedef double default_type; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_indices_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_indices_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_indices_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::indices_, indices, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_ADD(NT2_MAX_DIMENSIONS, 3), M0, ~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::generative_value - {}; - - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/inf.hpp b/inst/include/nt2/core/functions/inf.hpp deleted file mode 100644 index 1cd6168..0000000 --- a/inst/include/nt2/core/functions/inf.hpp +++ /dev/null @@ -1,170 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_INF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_INF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief inf generator - - Create an array full of positive infinites. - - @par Semantic: - - inf() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = inf(); - @endcode - is equivalent to - @code - double x = std::numeric_limits::infinity(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = inf(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table of @c double - positive infinite. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = inf(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} - table of @c double positive infinite. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = inf(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table of @c double positive infinite. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = inf(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table of type @c double positive infinite. - - - For any type @c T, the following code: - @code - T x = inf( as_() ); - @endcode - is equivalent to - @code - T x = T(1); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = inf(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table of type @c T - positive infinite. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = inf(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} - table of type @c T positive infinite. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = inf(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table of type @c T positive infinite. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = inf(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table of type @c T positive infinite. - - @par Matlab equivalent: - - This function is equivalent to the Matlab function - inf. - inf() doesn't however support the @c like based function. One can actually - use the class_ function to generate a Type specifier or use such a - predefined specifier. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - full of positive infinites. - **/ - template - details::unspecified inf(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified inf(Args const&... dims); - - /// @overload - template ClassName::type inf(ClassName const& classname); - - /// @overload - double inf(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Inf,inf, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/inner_fold.hpp b/inst/include/nt2/core/functions/inner_fold.hpp deleted file mode 100644 index fe03c35..0000000 --- a/inst/include/nt2/core/functions/inner_fold.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_INNER_FOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_INNER_FOLD_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the inner_fold functor - **/ - struct inner_fold_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_inner_fold_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_inner_fold_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_inner_fold_; - } - - /*! - @brief Fold over inner dimension - - Folds elements of @c a1 along inner dimension, possibly in parallel, and - store the result in @c a0. - - @param a0 Expression to store result in - @param a1 Expression to reduce - @param a2 Functor to initialize the accumulator with - @param a3 Function to apply for binary reduction, first argument is accumulator - @param a4 Function to apply for unary reduction (for SIMD usage) - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::inner_fold_, inner_fold, (A0 const&)(A1 const&)(A2 const&)(A3 const&)(A4 const&), 5) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::inner_fold_, inner_fold, (A0&)(A1 const&)(A2 const&)(A3 const&)(A4 const&), 5) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::inner_fold_, inner_fold, (A0 const&)(A1&)(A2 const&)(A3 const&)(A4 const&), 5) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::inner_fold_, inner_fold, (A0&)(A1&)(A2 const&)(A3 const&)(A4 const&), 5) -} - -#endif diff --git a/inst/include/nt2/core/functions/inner_scan.hpp b/inst/include/nt2/core/functions/inner_scan.hpp deleted file mode 100644 index 5b2a1a1..0000000 --- a/inst/include/nt2/core/functions/inner_scan.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_INNER_SCAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_INNER_SCAN_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the inner_scan function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for inner_scan_ functor - **/ - struct inner_scan_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_inner_scan_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_inner_scan_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_inner_scan_; - } - - /*! - Folds elements of \c a1 along inner dimension, possibly in parallel, and store - the result in \c a0. - - @param a0 Expression to store result in - @param a1 Expression to reduce - @param a2 Functor to initialize the accumulator with - @param a3 Function to apply for binary reduction, first argument is accumulator - @param a4 Function to apply for unary reduction (for SIMD usage) - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::inner_scan_, inner_scan, (A0 const&)(A1 const&)(A2 const&)(A3 const&)(A4 const&), 5) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::inner_scan_, inner_scan, (A0&)(A1 const&)(A2 const&)(A3 const&)(A4 const&), 5) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::inner_scan_, inner_scan, (A0 const&)(A1&)(A2 const&)(A3 const&)(A4 const&), 5) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::inner_scan_, inner_scan, (A0&)(A1&)(A2 const&)(A3 const&)(A4 const&), 5) -} - -#endif diff --git a/inst/include/nt2/core/functions/int_splat.hpp b/inst/include/nt2/core/functions/int_splat.hpp deleted file mode 100644 index 8a2c161..0000000 --- a/inst/include/nt2/core/functions/int_splat.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_INT_SPLAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_INT_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Int_splat,int_splat, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/ismember.hpp b/inst/include/nt2/core/functions/ismember.hpp deleted file mode 100644 index cfa6cb4..0000000 --- a/inst/include/nt2/core/functions/ismember.hpp +++ /dev/null @@ -1,119 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ISMEMBER_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ISMEMBER_HPP_INCLUDED - - -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief ismember generic tag - - Represents the ismember function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ismember_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ismember_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ismember_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ismember_; - } - - /*! - Computes elements from a table that belongs to another - @par Semantic: - - For every tables expression - - @code - auto r = ismember(a, b); - @endcode - - returns an array of logical of the size of a containing true/false - iff the corresponding element of a is among the elements of b - - @param a - @param b - - @return an array logical of the size of a - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ismember_ , ismember, 2) - /*! - Computes elements from table a that approximately belong to table b, - with no repetitions as a column vector - - @par Semantic: - - For every tables expression - - @code - auto r = ismember(a, b, tol); - @endcode - - returns an array of logical of the size of a containing true/false iff the corresponding - element of a is approximately among the elements of b. approximately belongs means that - there exist a indexes i and j such that abs(a(i)-b(j)) < tol*max(abs(a)) - - @alias ismembertol - - @param a - @param b - @param tol - - @return an array logical of the size of a - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ismember_ , ismember, 3) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ismember_ , ismembertol, 3) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - { - typedef typename boost::proto::result_of::child_c::value_type c0_t; - typedef typename meta::strip::type t_type; - typedef typename t_type::value_type v_type; - typedef typename meta::as_logical::type type; - }; - - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/kron.hpp b/inst/include/nt2/core/functions/kron.hpp deleted file mode 100644 index 29a2c4e..0000000 --- a/inst/include/nt2/core/functions/kron.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_KRON_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_KRON_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief kron generic tag - - Represents the kron function in generic contexts. - - @par Models: - Hierarchy - **/ - struct kron_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_kron_( ext::adl_helper() - , static_cast(args)... ) ) - }; - } - - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher - dispatching_kron_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_kron_; - } - /*! - krnecker tensor product - - @par Semantic: - - - @code - auto r = kron(a0,a1); - @endcode - - The result is a large matrix formed by taking all possible - products between the elements of a0 and those of a1. - - - @param a0 first matricial expression - - @param a1 second matricial expression - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::kron_, kron, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/last_index.hpp b/inst/include/nt2/core/functions/last_index.hpp deleted file mode 100644 index 3672027..0000000 --- a/inst/include/nt2/core/functions/last_index.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LAST_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LAST_INDEX_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the last_index function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the last_index functor - **/ - struct last_index_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_last_index_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_last_index_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_last_index_; - } - - /*! - @brief Last valid index of an expression - - Return an unsigned integer @c l for which the expression @c (...,l,...) - is a valid access. - - @param a0 Expression to inspect - @tparam ? - - @return - **/ - template - typename boost::dispatch::meta:: - call)>::type - last_index(A0 const& a0) - { - typename boost::dispatch::make_functor::type callee; - return callee(a0, boost::mpl::size_t() ); - } - - /*! - @brief Last valid index of an expression - - Return an unsigned integer @c l for which the expression @c (...,l,...) - is a valid access. - - @param a0 Expression to inspect - @param dim Dimension to inspect - - @return - **/ - template - typename boost::dispatch::meta:: - call::type - last_index(A0 const& a0, Dim const& dim) - { - typename boost::dispatch::make_functor::type callee; - return callee(a0, dim); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/ldexpmask.hpp b/inst/include/nt2/core/functions/ldexpmask.hpp deleted file mode 100644 index 80a06a0..0000000 --- a/inst/include/nt2/core/functions/ldexpmask.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LDEXPMASK_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LDEXPMASK_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Ldexpmask,ldexpmask, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/length.hpp b/inst/include/nt2/core/functions/length.hpp deleted file mode 100644 index 19b07d8..0000000 --- a/inst/include/nt2/core/functions/length.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LENGTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LENGTH_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the length function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief tag for the length functor - **/ - struct length_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_length_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_length_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_length_; - } - - /*! - Compute largest dimension of an entity. - - @param a0 Expression to compute the length in number of elements - @return The largest dimension of the size of \c xpr - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::length_, length, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/limitexponent.hpp b/inst/include/nt2/core/functions/limitexponent.hpp deleted file mode 100644 index 8c60dc0..0000000 --- a/inst/include/nt2/core/functions/limitexponent.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LIMITEXPONENT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LIMITEXPONENT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Limitexponent,limitexponent, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/line.hpp b/inst/include/nt2/core/functions/line.hpp deleted file mode 100644 index cc9f083..0000000 --- a/inst/include/nt2/core/functions/line.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LINE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LINE_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief line generic tag - - Represents the line function in generic contexts. - - @par Models: - Hierarchy - **/ - struct line_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_line_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_line_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_line_; - } - - /*! - @brief Oriented slice extraction - - Returns the oriented slice @c a1 along the first non-singleton dimension - of @c a0. - - @param a0 Source table - @param a1 Index of the slice to extract - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::line_ , line, 2) - - - /*! - @brief Oriented slice extraction - - Returns the oriented slice @c a1 along dimension @c a2 of @c a0. - - @param a0 Source table - @param a1 Index of the slice to extract - @param a2 Dimension to extract along - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::line_ , line, 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/linesstride.hpp b/inst/include/nt2/core/functions/linesstride.hpp deleted file mode 100644 index cfc45e9..0000000 --- a/inst/include/nt2/core/functions/linesstride.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LINESSTRIDE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LINESSTRIDE_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - struct linesstride_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_linesstride_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_linesstride_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_linesstride_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::linesstride_, linesstride, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/linspace.hpp b/inst/include/nt2/core/functions/linspace.hpp deleted file mode 100644 index 3eddd2d..0000000 --- a/inst/include/nt2/core/functions/linspace.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LINSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LINSPACE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct linspace_ : ext::state_constant_ - { - typedef ext::state_constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_linspace_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_linspace_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_linspace_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::linspace_, linspace, 2) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::linspace_, linspace, 3) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/log10_pi.hpp b/inst/include/nt2/core/functions/log10_pi.hpp deleted file mode 100644 index 17b1603..0000000 --- a/inst/include/nt2/core/functions/log10_pi.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LOG10_PI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LOG10_PI_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Log10_pi,log10_pi, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/log2_em1.hpp b/inst/include/nt2/core/functions/log2_em1.hpp deleted file mode 100644 index 34cb53d..0000000 --- a/inst/include/nt2/core/functions/log2_em1.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LOG2_EM1_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LOG2_EM1_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Log2_Em1,log2_em1, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/logeps.hpp b/inst/include/nt2/core/functions/logeps.hpp deleted file mode 100644 index b494156..0000000 --- a/inst/include/nt2/core/functions/logeps.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LOGEPS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LOGEPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Logeps generator - - Create an array full of log(eps). - - @par Semantic: - - logeps() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = logeps(); - @endcode - is equivalent to - @code - double x = log(eps); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = logeps(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - @c double log(eps) - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = logeps(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - @c double log(eps) - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = logeps(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with @c double log(eps) - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = logeps(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with @c double log(eps) - - - For any type @c T, the following code: - @code - T x = logeps( as_() ); - @endcode - is equivalent to - @code - T x = T(2); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = logeps(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - type @c T logepss. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = logeps(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with type @c T logepss. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = logeps(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with type @c T logepss. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = logeps(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with type @c T logepss. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Logeps constant. - - @sa Logeps - **/ - template - details::unspecified logeps(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified logeps(Args const&... dims); - - /// @overload - template ClassName::type logeps(ClassName const& classname); - - /// @overload - double logeps(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Logeps,logeps, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/logpi.hpp b/inst/include/nt2/core/functions/logpi.hpp deleted file mode 100644 index 1a25540..0000000 --- a/inst/include/nt2/core/functions/logpi.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LOGPI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LOGPI_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Logpi,logpi, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/logspace.hpp b/inst/include/nt2/core/functions/logspace.hpp deleted file mode 100644 index 5813cca..0000000 --- a/inst/include/nt2/core/functions/logspace.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LOGSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LOGSPACE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - /// INTERNAL ONLY - struct regular_t {}; - - /*! - @brief regularity mark-up - **/ - const meta::as_ regular_ = {}; - - namespace tag - { - struct logspace_ : ext::state_constant_ - { - typedef ext::state_constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_logspace_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_logspace_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_logspace_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::logspace_, logspace, 2) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::logspace_, logspace, 3) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::logspace_, logspace, 4) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/logsqrt2pi.hpp b/inst/include/nt2/core/functions/logsqrt2pi.hpp deleted file mode 100644 index 039b853..0000000 --- a/inst/include/nt2/core/functions/logsqrt2pi.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_LOGSQRT2PI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_LOGSQRT2PI_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Logqrt2pi,logqrt2pi, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mask1frexp.hpp b/inst/include/nt2/core/functions/mask1frexp.hpp deleted file mode 100644 index fd78cc6..0000000 --- a/inst/include/nt2/core/functions/mask1frexp.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MASK1FREXP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MASK1FREXP_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mask1frexp,mask1frexp, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mask2frexp.hpp b/inst/include/nt2/core/functions/mask2frexp.hpp deleted file mode 100644 index 838d3f8..0000000 --- a/inst/include/nt2/core/functions/mask2frexp.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MASK2FREXP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MASK2FREXP_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mask2frexp,mask2frexp, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/maxexponent.hpp b/inst/include/nt2/core/functions/maxexponent.hpp deleted file mode 100644 index 5d8c817..0000000 --- a/inst/include/nt2/core/functions/maxexponent.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MAXEXPONENT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MAXEXPONENT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Maxexponent,maxexponent, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/maxexponentm1.hpp b/inst/include/nt2/core/functions/maxexponentm1.hpp deleted file mode 100644 index 6fa1c61..0000000 --- a/inst/include/nt2/core/functions/maxexponentm1.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MAXEXPONENTM1_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MAXEXPONENTM1_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Maxexponentm1,maxexponentm1, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/maxinit.hpp b/inst/include/nt2/core/functions/maxinit.hpp deleted file mode 100644 index 7d4b840..0000000 --- a/inst/include/nt2/core/functions/maxinit.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MAXINIT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MAXINIT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Maxinit,maxinit, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/maxleftshift.hpp b/inst/include/nt2/core/functions/maxleftshift.hpp deleted file mode 100644 index 0f8699e..0000000 --- a/inst/include/nt2/core/functions/maxleftshift.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MAXLEFTSHIFT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MAXLEFTSHIFT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Maxleftshift,maxleftshift, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mean.hpp b/inst/include/nt2/core/functions/mean.hpp deleted file mode 100644 index 087fbaf..0000000 --- a/inst/include/nt2/core/functions/mean.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MEAN_HPP_INCLUDED - -#include -#include - - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the mean functor - **/ - struct mean_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mean_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mean_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mean_; - } - /*! - @brief mean of a table along a given dimension - - Compute the mean of the elements of a table expression - along a given dimension. - - @par Semantic - - For any table expression @c t and any integer @c n: - - @code - auto r = mean(t,n); - @endcode - - is equivalent to: - - @code - auto r = sum(t,n)/size(a, n); - @endcode - - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{sum}, @funcref{size}, - - @param a0 Table to process - @param a1 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - */ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::mean_ , mean, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::mean_ , mean, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/meanad.hpp b/inst/include/nt2/core/functions/meanad.hpp deleted file mode 100644 index 9742446..0000000 --- a/inst/include/nt2/core/functions/meanad.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MEANAD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MEANAD_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the meanad functor - **/ - struct meanad_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_meanad_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_meanad_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_meanad_; - } - /*! - @brief mean of the absolute deviation to the mean of an expression - - Computes the mean of the of the absolute deviation to the mean of - non nan elements of a table expression along a given dimension. - - @par Semantic - - For any table expression @c t and any integer @c n: - - @code - auto r = meanad(t,n); - @endcode - - is equivalent to: - - @code - auto r = mean(abs(a-expand_to(mean(a,n), size(a))), n); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{mean}, - @funcref{abs}, @funcref{size}, @funcref{expand_to} - - @param a0 Table to process @param a1 Dimension along which to - process a0 - - @return An expression eventually evaluated to the result - */ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::meanad_ , meanad, 2) - ///@overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::meanad_ , meanad, 1) - -} - -#endif diff --git a/inst/include/nt2/core/functions/median.hpp b/inst/include/nt2/core/functions/median.hpp deleted file mode 100644 index 0f8b798..0000000 --- a/inst/include/nt2/core/functions/median.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MEDIAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MEDIAN_HPP_INCLUDED - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the asum1 functor - **/ - struct median_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_median_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_median_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_median_; - } - /*! - @brief median of a table expression along a dimension - - Compute the median of all the elements of a - table expression along a given dimension. - - @par Semantic - - For any table expression @c t and any integer @c n: - - @code - auto r = median(t,n); - @endcode - - is similar to: - - @code - auto s = sort(t,n); - h = size(t, n)/2; - auto r = s(_, ..., h, ...; _); - @endcode - - where h is the nth slot of s - - @par Note: - n default to firstnonsingleton(t) - - - @see @funcref{firstnonsingleton}, @funcref{sort} - @param a0 Table to process - @param a1 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::median_ , median, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::median_ , median, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/medianad.hpp b/inst/include/nt2/core/functions/medianad.hpp deleted file mode 100644 index 13a6e47..0000000 --- a/inst/include/nt2/core/functions/medianad.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MEDIANAD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MEDIANAD_HPP_INCLUDED - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the medianad functor - **/ - struct medianad_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_medianad_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_medianad_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_medianad_; - } - /*! - @brief median of the absolute deviation to the median of a table - - Computes the meian of the of the absolute deviation to the median of - non nan elements of a table expression along a given dimension. - - @par Semantic - - For any table expression @c t and any integer @c n: - - @code - auto r = medianad(t,n); - @endcode - - is equivalent to: - - @code - auto r = median(abs(a-expand_to(median(a,n), size(a))), n); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{median}, - @funcref{abs}, @funcref{size}, @funcref{expand_to} - - @param a0 Table to process @param a1 Dimension along which to - process a0 - - @return An expression eventually evaluated to the result - */ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::medianad_ , medianad, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::medianad_ , medianad, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/meight.hpp b/inst/include/nt2/core/functions/meight.hpp deleted file mode 100644 index f37ae02..0000000 --- a/inst/include/nt2/core/functions/meight.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MEIGHT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MEIGHT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Meight,meight, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/meshgrid.hpp b/inst/include/nt2/core/functions/meshgrid.hpp deleted file mode 100644 index 18fc19f..0000000 --- a/inst/include/nt2/core/functions/meshgrid.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MESHGRID_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MESHGRID_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief meshgrid generic tag - - Represents the meshgrid function in generic contexts. - - @par Models: - Hierarchy - **/ - struct meshgrid_ : ext::tieable_ - { - /// @brief Parent hierarchy - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_meshgrid_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_meshgrid_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_meshgrid_; - } - - /*! - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::meshgrid_, meshgrid, 2) - - /*! - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::meshgrid_, meshgrid, 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/mfive.hpp b/inst/include/nt2/core/functions/mfive.hpp deleted file mode 100644 index 4a861b2..0000000 --- a/inst/include/nt2/core/functions/mfive.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MFIVE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MFIVE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mfive,mfive, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mfour.hpp b/inst/include/nt2/core/functions/mfour.hpp deleted file mode 100644 index 23a805d..0000000 --- a/inst/include/nt2/core/functions/mfour.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MFOUR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MFOUR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mfour,mfour, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mhalf.hpp b/inst/include/nt2/core/functions/mhalf.hpp deleted file mode 100644 index 1faa091..0000000 --- a/inst/include/nt2/core/functions/mhalf.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MHALF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MHALF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mhalf,mhalf, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mindenormal.hpp b/inst/include/nt2/core/functions/mindenormal.hpp deleted file mode 100644 index f8f6800..0000000 --- a/inst/include/nt2/core/functions/mindenormal.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MINDENORMAL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MINDENORMAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mindenormal,mindenormal, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/minexponent.hpp b/inst/include/nt2/core/functions/minexponent.hpp deleted file mode 100644 index 040e2b2..0000000 --- a/inst/include/nt2/core/functions/minexponent.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MINEXPONENT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MINEXPONENT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Minexponent,minexponent, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/minf.hpp b/inst/include/nt2/core/functions/minf.hpp deleted file mode 100644 index 26f484e..0000000 --- a/inst/include/nt2/core/functions/minf.hpp +++ /dev/null @@ -1,146 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MINF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MINF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief minf generator - - Create an array full of negative infinites. - - @par Semantic: - - minf() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = minf(); - @endcode - is equivalent to - @code - double x = -std::numeric_limits::infinity(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = minf(n); - @endcode - generates an expression that evaluates as a @c n x @c n table of @c double - minf. - - - For any Integer @c sz1,...,szN , the following code: - @code - auto x = minf(sz1,...,szn); - @endcode - generates an expression that evaluates as a @c sz1 x ... x @c szN - table of @c double negative infinites. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = minf(dims); - @endcode - generates an expression that evaluates as a @c dims(1) x ... x @c dims(N) - table of @c double negative infinites. - - - For any type @c T, the following code: - @code - T x = minf( as_() ); - @endcode - is equivalent to - @code - T x = T(1); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = minf(n, as_()); - @endcode - generates an expression that evaluates as a @c n x @c n table of type @c T - negative infinites. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = minf(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @c sz1 x ... x @c szN - table of type @c T negative infinites. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = minf(dims, as_()); - @endcode - generates an expression that evaluates as a @c dims(1) x ... x @c dims(N) - table of type @c T negative infinites. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - full of negative infinites. - **/ - template - Expression minf(Args const&... dims, ClassName const& classname); - - /// @overload - template Expression minf(Args const&... dims); - - /// @overload - template ClassName::type minf(ClassName const& classname); - - /// @overload - double minf(); - #else - - /// INTERNAL ONLY - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Minf,minf, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mlogeps2.hpp b/inst/include/nt2/core/functions/mlogeps2.hpp deleted file mode 100644 index cc474c3..0000000 --- a/inst/include/nt2/core/functions/mlogeps2.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MLOGEPS2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MLOGEPS2_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mlogeps2,mlogeps2, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mnine.hpp b/inst/include/nt2/core/functions/mnine.hpp deleted file mode 100644 index 5438f55..0000000 --- a/inst/include/nt2/core/functions/mnine.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MNINE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MNINE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mnine,mnine, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mone.hpp b/inst/include/nt2/core/functions/mone.hpp deleted file mode 100644 index 882656b..0000000 --- a/inst/include/nt2/core/functions/mone.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MONE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MONE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mone,mone, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/moneo_6.hpp b/inst/include/nt2/core/functions/moneo_6.hpp deleted file mode 100644 index 46db809..0000000 --- a/inst/include/nt2/core/functions/moneo_6.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MONEO_6_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MONEO_6_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Moneo_6,moneo_6, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mseven.hpp b/inst/include/nt2/core/functions/mseven.hpp deleted file mode 100644 index c71d81e..0000000 --- a/inst/include/nt2/core/functions/mseven.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MSEVEN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MSEVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mseven,mseven, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/msix.hpp b/inst/include/nt2/core/functions/msix.hpp deleted file mode 100644 index 5953f26..0000000 --- a/inst/include/nt2/core/functions/msix.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MSIX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MSIX_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Msix,msix, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mten.hpp b/inst/include/nt2/core/functions/mten.hpp deleted file mode 100644 index f1d54d0..0000000 --- a/inst/include/nt2/core/functions/mten.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MTEN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MTEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mten,mten, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mthree.hpp b/inst/include/nt2/core/functions/mthree.hpp deleted file mode 100644 index 6d39e09..0000000 --- a/inst/include/nt2/core/functions/mthree.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MTHREE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MTHREE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mthree,mthree, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mtwo.hpp b/inst/include/nt2/core/functions/mtwo.hpp deleted file mode 100644 index 3169242..0000000 --- a/inst/include/nt2/core/functions/mtwo.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MTWO_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MTWO_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mtwo,mtwo, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/mzero.hpp b/inst/include/nt2/core/functions/mzero.hpp deleted file mode 100644 index 24fe31b..0000000 --- a/inst/include/nt2/core/functions/mzero.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_MZERO_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_MZERO_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Mzero,mzero, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/nan.hpp b/inst/include/nt2/core/functions/nan.hpp deleted file mode 100644 index a524b3d..0000000 --- a/inst/include/nt2/core/functions/nan.hpp +++ /dev/null @@ -1,169 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NAN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief NaN generator - - Create an array full of NaN. - - @par Semantic: - - nan() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = nan(); - @endcode - is equivalent to - @code - double x = std::numeric_limit::quiet_NaN(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = nan(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table of @c double - NaN. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = nan(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} - table of @c double NaN. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = nan(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table of @c double NaN. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = nan(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table of type @c double NaN. - - - For any type @c T, the following code: - @code - T x = nan( as_() ); - @endcode - is equivalent to - @code - T x = T(1); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = nan(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table of type @c T - NaN. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = nan(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} - table of type @c T NaN. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = nan(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table of type @c T NaN. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = nan(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table of type @c T NaN. - - @par Matlab equivalent: - - This function is equivalent to the Matlab function - NaN. - nan() doesn't however support the @c like based function. One can actually - use the class_ function to generate a Type specifier or use such a - predefined specifier. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - full of nan - **/ - template - details::unspecified nan(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified nan(Args const&... dims); - - /// @overload - template ClassName::type nan(ClassName const& classname); - - /// @overload - double nan(); - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Nan, nan, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - - -#endif diff --git a/inst/include/nt2/core/functions/nanasum2.hpp b/inst/include/nt2/core/functions/nanasum2.hpp deleted file mode 100644 index 10df47c..0000000 --- a/inst/include/nt2/core/functions/nanasum2.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NANASUM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NANASUM2_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the nanasum2 functor - **/ - struct nanasum2_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_nanasum2_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_nanasum2_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_nanasum2_; - } - /*! - @brief sum of square absolute value of a table expression, suppressing Nans - - Computes the sum of square absolute value of the non nan elements of a table expression - along a given dimension. - - @par Semantic - - For any table expression @c t and any integer @c n: - - @code - auto r = nanasum2(t,n); - @endcode - - is equivalent to: - - @code - auto r = asum2(if_zero_else(isnan(t), t),n); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{asum2}, @funcref{if_zero_else} - @param a0 Table expression to process - @param a1 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - */ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::nanasum2_ , nanasum2, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::nanasum2_ , nanasum2, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/nanmean.hpp b/inst/include/nt2/core/functions/nanmean.hpp deleted file mode 100644 index 228b842..0000000 --- a/inst/include/nt2/core/functions/nanmean.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NANMEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NANMEAN_HPP_INCLUDED - -#include - - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the nanmean functor - **/ - struct nanmean_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_nanmean_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_nanmean_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_nanmean_; - } - /*! - @brief mean of a table expression, suppressing Nans - - Compute the mean of the non nan elements of a table expression - along a given dimension. - - @par Semantic - - For any table expression @c t and any integer @c n: - - @code - auto r = nanmean(t,n); - @endcode - - is equivalent to: - - @code - auto d = nt2::max(nt2::nbtrue(nt2::is_not_nan(t), n), 1); - auto r = sum(if_else_zero(is_not_nan(t), t),n)/d; - @endcode - - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{sum}, @funcref{max}, @funcref{if_else_zero}, @funcref{is_not_nan} - @param a0 Table expression to process - @param a1 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - */ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::nanmean_ , nanmean, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::nanmean_ , nanmean, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/nansum.hpp b/inst/include/nt2/core/functions/nansum.hpp deleted file mode 100644 index e2c833a..0000000 --- a/inst/include/nt2/core/functions/nansum.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NANSUM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NANSUM_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the nansum functor - **/ - struct nansum_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_nansum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_nansum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_nansum_; - } - /*! - @brief sum of a table expression, suppressing Nans - - Computes the sum of the non nan elements of a table expression - along a given dimension. - - @par Semantic - - For any table expression @c t and any integer @c n: - - @code - auto r = nansum(t,n); - @endcode - - is equivalent to: - - @code - auto r = sum(if_zero_else(isnan(t), t),n); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{sum}, @funcref{if_zero_else} - @param a0 Table expression to process - @param a1 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - */ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::nansum_ , nansum, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::nansum_ , nansum, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/nbdigits.hpp b/inst/include/nt2/core/functions/nbdigits.hpp deleted file mode 100644 index 938d3bf..0000000 --- a/inst/include/nt2/core/functions/nbdigits.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NBDIGITS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NBDIGITS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Nbdigits,nbdigits, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/nbexponentbits.hpp b/inst/include/nt2/core/functions/nbexponentbits.hpp deleted file mode 100644 index d97d08d..0000000 --- a/inst/include/nt2/core/functions/nbexponentbits.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NBEXPONENTBITS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NBEXPONENTBITS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Nbexponentbits,nbexponentbits, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/nblines.hpp b/inst/include/nt2/core/functions/nblines.hpp deleted file mode 100644 index 7890348..0000000 --- a/inst/include/nt2/core/functions/nblines.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NBLINES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NBLINES_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - struct nblines_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_nblines_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_nblines_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_nblines_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::nblines_, nblines, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/nbmantissabits.hpp b/inst/include/nt2/core/functions/nbmantissabits.hpp deleted file mode 100644 index 3d70b8d..0000000 --- a/inst/include/nt2/core/functions/nbmantissabits.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NBMANTISSABITS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NBMANTISSABITS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Nbmantissabits,nbmantissabits, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/ndgrid.hpp b/inst/include/nt2/core/functions/ndgrid.hpp deleted file mode 100644 index 8b3197f..0000000 --- a/inst/include/nt2/core/functions/ndgrid.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NDGRID_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NDGRID_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief ndgrid generic tag - - Represents the ndgrid function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ndgrid_ : ext::tieable_ - { - /// @brief Parent hierarchy - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ndgrid_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ndgrid_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ndgrid_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ndgrid_, ndgrid, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -#endif diff --git a/inst/include/nt2/core/functions/ndims.hpp b/inst/include/nt2/core/functions/ndims.hpp deleted file mode 100644 index 6b1f793..0000000 --- a/inst/include/nt2/core/functions/ndims.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NDIMS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NDIMS_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the nt2::nbdims function - */ - -#include - -namespace nt2 -{ - namespace tag - { - struct ndims_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ndims_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ndims_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ndims_; - } - - //============================================================================ - /*! - * Compute the number of dimensions of a given entity. - * - * \param a0 Expression to compute the size in number of dimensions - * \return The number of elements dimensions required to store \c a0 - */ - //============================================================================ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ndims_, ndims, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/nine.hpp b/inst/include/nt2/core/functions/nine.hpp deleted file mode 100644 index 00661e7..0000000 --- a/inst/include/nt2/core/functions/nine.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NINE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NINE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Nine,nine, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/norm2.hpp b/inst/include/nt2/core/functions/norm2.hpp deleted file mode 100644 index e834a1e..0000000 --- a/inst/include/nt2/core/functions/norm2.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NORM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NORM2_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the norm2 functor - **/ - struct norm2_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_norm2_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_norm2_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_norm2_; - } - /*! - @brief euclidian norm of a table expression along a given dimension - - Returns the euclidian norm of a table along a given dimension - - @par Semantic - - For any table expression of T @c t integer or weights w and any integer @c n: - - @code - auto r = norm2(t, w, n); - @endcode - - is equivalent to: - - if w is an integer - - @code - auto r = sqrt(asum2(t, n)); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @par alias: - norm_eucl - - @see @funcref{firstnonsingleton}, @funcref{asum2}, @funcref{sqrt} - @param a0 Table expression to process - @param a1 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::norm2_ , norm2, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::norm2_ , norm2, 1) - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::norm2_ , norm_eucl, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::norm2_ , norm_eucl, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/normp.hpp b/inst/include/nt2/core/functions/normp.hpp deleted file mode 100644 index 56cbdd8..0000000 --- a/inst/include/nt2/core/functions/normp.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NORMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NORMP_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the normp functor - **/ - struct normp_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_normp_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_normp_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_normp_; - } - /*! - @brief Sum of the p power of absolute values of table to 1/p - - - Computes the 1/p power of the sum of the pth power of the absolute - value of all the elements of a table expression along its first - non-singleton dimension : the \f$l_p\f$ norm - - @par Semantic - - For any table expression @c t and any arithmetic value @c - p and integer n : - - @code - auto r = normp(t,p,n); - @endcode - - is equivalent to: - - @code - auto r = pow_abs(asump(t),1/p),n); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{pow_abs} - @param a0 Table expression to process - @param a1 Power at which absolute values are raised - @param a2 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::normp_ , normp, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::normp_ , normp, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/numel.hpp b/inst/include/nt2/core/functions/numel.hpp deleted file mode 100644 index a0407e3..0000000 --- a/inst/include/nt2/core/functions/numel.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_NUMEL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_NUMEL_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the numel function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief tag for the numel functor - **/ - struct numel_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_numel_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_numel_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_numel_; - } - - /*! - @brief Number of elements of an expression - - Compute the number of element stored in a given entity. - - @param a0 Expression to inspect - @return The number of elements stored in a0 - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::numel_, numel, 1) - - /*! - @brief - - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::numel_, numel, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/of_size.hpp b/inst/include/nt2/core/functions/of_size.hpp deleted file mode 100644 index e16fe69..0000000 --- a/inst/include/nt2/core/functions/of_size.hpp +++ /dev/null @@ -1,111 +0,0 @@ -#if !BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_OF_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_OF_SIZE_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the of_size functions - */ - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - //============================================================================ - /*! - * Builds a nD extent from a list of \c n dimension values. - * - * \param d Values to use as dimensions - * - * \code - * #include - * #include - * - * int main() - * { - * std::cout << nt2::of_size(3,3,4) << "\n"; - * } - * \endcode - */ - //============================================================================ - template _nD of_size(Dims const& d...); - #endif - - _0D BOOST_FORCEINLINE of_size() { return _0D(); } - - #define BOOST_PP_FILENAME_1 "nt2/core/functions/of_size.hpp" - #define BOOST_PP_ITERATION_LIMITS (1, NT2_MAX_DIMENSIONS) - #include BOOST_PP_ITERATE() - - //============================================================================ - /*! - * Builds a nD extent from a Range of dimensions - * - * \param begin Iterator to the start of the Sequence containing the dimension - * values - * \param end Iterator to the end of the Sequence containing the dimension - * values - * - * \return an extent of the maximum number of dimensions allowed which value - * have been set accordingly to the Range values. - * \code - * #include - * #include - * - * int main() - * { - * int d[3] = { 3,3,4 }; - * std::cout << nt2::of_size(&d[0], &d[0]+3) << "\n"; - * } - * \endcode - */ - //============================================================================ - template BOOST_FORCEINLINE - typename boost:: - enable_if< meta::is_iterator - , BOOST_PP_CAT(BOOST_PP_CAT(_,NT2_MAX_DIMENSIONS),D) - >::type - of_size(Iterator const& begin, Iterator const& end) - { - BOOST_PP_CAT(BOOST_PP_CAT(_,NT2_MAX_DIMENSIONS),D) that(begin,end); - return that; - } -} - -#endif - -#else -#define N BOOST_PP_ITERATION() -#define M0(z,n,t) nt2::mpl_value::value - - template - BOOST_FORCEINLINE of_size_ - of_size(BOOST_PP_ENUM_BINARY_PARAMS(N,const D, &d)) - { - of_size_ that(BOOST_PP_ENUM_PARAMS(N,d)); - return that; - } - -#undef M0 -#undef N - -#endif diff --git a/inst/include/nt2/core/functions/oneo_10.hpp b/inst/include/nt2/core/functions/oneo_10.hpp deleted file mode 100644 index 2a40387..0000000 --- a/inst/include/nt2/core/functions/oneo_10.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_10_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_10_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_10,oneo_10, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_12.hpp b/inst/include/nt2/core/functions/oneo_12.hpp deleted file mode 100644 index 1753bfc..0000000 --- a/inst/include/nt2/core/functions/oneo_12.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_12_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_12_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_12,oneo_12, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_120.hpp b/inst/include/nt2/core/functions/oneo_120.hpp deleted file mode 100644 index 5c789d5..0000000 --- a/inst/include/nt2/core/functions/oneo_120.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_120_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_120_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_120,oneo_120, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_15.hpp b/inst/include/nt2/core/functions/oneo_15.hpp deleted file mode 100644 index 58aee6c..0000000 --- a/inst/include/nt2/core/functions/oneo_15.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_15_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_15_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_15,oneo_15, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_16.hpp b/inst/include/nt2/core/functions/oneo_16.hpp deleted file mode 100644 index 13ec984..0000000 --- a/inst/include/nt2/core/functions/oneo_16.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_16_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_16_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_16,oneo_16, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_180.hpp b/inst/include/nt2/core/functions/oneo_180.hpp deleted file mode 100644 index d0dc76e..0000000 --- a/inst/include/nt2/core/functions/oneo_180.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_180_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_180_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_180,oneo_180, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_5.hpp b/inst/include/nt2/core/functions/oneo_5.hpp deleted file mode 100644 index b862bcb..0000000 --- a/inst/include/nt2/core/functions/oneo_5.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_5_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_5_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_5,oneo_5, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_6.hpp b/inst/include/nt2/core/functions/oneo_6.hpp deleted file mode 100644 index c1ce3cc..0000000 --- a/inst/include/nt2/core/functions/oneo_6.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_6_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_6_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_6,oneo_6, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_7.hpp b/inst/include/nt2/core/functions/oneo_7.hpp deleted file mode 100644 index 5cdb6cc..0000000 --- a/inst/include/nt2/core/functions/oneo_7.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_7_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_7_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_7,oneo_7, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_8.hpp b/inst/include/nt2/core/functions/oneo_8.hpp deleted file mode 100644 index 7873b97..0000000 --- a/inst/include/nt2/core/functions/oneo_8.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_8_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_8_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_8,oneo_8, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneo_9.hpp b/inst/include/nt2/core/functions/oneo_9.hpp deleted file mode 100644 index 051fe6a..0000000 --- a/inst/include/nt2/core/functions/oneo_9.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEO_9_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEO_9_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneo_9,oneo_9, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneosqrt5.hpp b/inst/include/nt2/core/functions/oneosqrt5.hpp deleted file mode 100644 index 114eeaa..0000000 --- a/inst/include/nt2/core/functions/oneosqrt5.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEOSQRT5_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEOSQRT5_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneosqrt5,oneosqrt5, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneosqrteps.hpp b/inst/include/nt2/core/functions/oneosqrteps.hpp deleted file mode 100644 index 739e448..0000000 --- a/inst/include/nt2/core/functions/oneosqrteps.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEOSQRTEPS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEOSQRTEPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Oneosqrteps generator - - Create an array full of rec(sqrt(Eps)). - - @par Semantic: - - oneosqrteps() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = oneosqrteps(); - @endcode - is equivalent to - @code - double x =rec(sqrt(Eps)); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = oneosqrteps(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - @c double rec(sqrt(Eps)). - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = oneosqrteps(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - @c doublerec(sqrt(Eps)). - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = oneosqrteps(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with @c double rec(sqrt(Eps)). - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = oneosqrteps(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with @c double rec(sqrt(Eps)). - - - For any type @c T, the following code: - @code - T x = oneosqrteps( as_() ); - @endcode - is equivalent to - @code - T x = T(rec(sqrt(Eps))); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = oneosqrteps(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - type @c T oneosqrtepss. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = oneosqrteps(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with type @c T oneosqrtepss. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = oneosqrteps(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with type @c T oneosqrtepss. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = oneosqrteps(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with type @c T oneosqrtepss. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Oneosqrteps constant. - - @sa Oneosqrteps - **/ - template - details::unspecified oneosqrteps(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified oneosqrteps(Args const&... dims); - - /// @overload - template ClassName::type oneosqrteps(ClassName const& classname); - - /// @overload - double oneosqrteps(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneosqrteps,oneosqrteps, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/oneotwoeps.hpp b/inst/include/nt2/core/functions/oneotwoeps.hpp deleted file mode 100644 index b3e3a2c..0000000 --- a/inst/include/nt2/core/functions/oneotwoeps.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONEOTWOEPS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONEOTWOEPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Oneotwoeps generator - - Create an array full of rec(2.0*Eps)). - - @par Semantic: - - oneotwoeps() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = oneotwoeps(); - @endcode - is equivalent to - @code - double x =rec(2.0*Eps)); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = oneotwoeps(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - @c double rec(2.0*Eps)). - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = oneotwoeps(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - @c doublerec(2.0*Eps)). - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = oneotwoeps(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with @c double rec(2.0*Eps)). - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = oneotwoeps(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with @c double rec(2.0*Eps)). - - - For any type @c T, the following code: - @code - T x = oneotwoeps( as_() ); - @endcode - is equivalent to - @code - T x = T(rec(2.0*Eps))); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = oneotwoeps(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - type @c T oneotwoepss. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = oneotwoeps(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with type @c T oneotwoepss. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = oneotwoeps(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with type @c T oneotwoepss. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = oneotwoeps(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with type @c T oneotwoepss. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Oneotwoeps constant. - - @sa Oneotwoeps - **/ - template - details::unspecified oneotwoeps(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified oneotwoeps(Args const&... dims); - - /// @overload - template ClassName::type oneotwoeps(ClassName const& classname); - - /// @overload - double oneotwoeps(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Oneotwoeps,oneotwoeps, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/ones.hpp b/inst/include/nt2/core/functions/ones.hpp deleted file mode 100644 index 7ae2399..0000000 --- a/inst/include/nt2/core/functions/ones.hpp +++ /dev/null @@ -1,170 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ONES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ONES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Ones generator - - Create an array full of ones. - - @par Semantic: - - ones() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = ones(); - @endcode - is equivalent to - @code - double x = 1.; - @endcode - - - For any Integer @c n, the following code: - @code - auto x = ones(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table of @c double - ones. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = ones(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} - table of @c double ones. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = ones(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table of @c double ones. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = ones(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table of type @c double ones. - - - For any type @c T, the following code: - @code - T x = ones( as_() ); - @endcode - is equivalent to - @code - T x = T(1); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = ones(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table of type @c T - ones. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = ones(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} - table of type @c T ones. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = ones(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table of type @c T ones. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = ones(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table of type @c T ones. - - @par Matlab equivalent: - - This function is equivalent to the Matlab function - ones. - ones() doesn't however support the @c like based function. One can actually - use the class_ function to generate a Type specifier or use such a - predefined specifier. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - full of ones - **/ - template - details::unspecified ones(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified ones(Args const&... dims); - - /// @overload - template ClassName::type ones(ClassName const& classname); - - /// @overload - double ones(); - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::One, ones, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - #endif -} - -namespace nt2 -{ - /// INTERNAL ONLY - namespace ext - { - template - struct value_type - : meta::generative_value - {}; - - template - struct size_of - : meta::generative_size - {}; - } -} - -#endif diff --git a/inst/include/nt2/core/functions/outer_fold.hpp b/inst/include/nt2/core/functions/outer_fold.hpp deleted file mode 100644 index 7c9053e..0000000 --- a/inst/include/nt2/core/functions/outer_fold.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_OUTER_FOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_OUTER_FOLD_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - struct outer_fold_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_outer_fold_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_outer_fold_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_outer_fold_; - } - - //============================================================================ - /*! - * Folds elements of \c a1 along inner dimension, possibly in parallel, and store - * the result in \c a0. - * - * \param a0 Expression to store result in - * \param a1 Expression to reduce - * \param a2 Functor to initialize the accumulator with - * \param a3 Function to apply for binary reduction, first argument is accumulator - * \param a4 Function to apply for unary reduction (for SIMD usage) - * \return nothing - */ - //============================================================================ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::outer_fold_, outer_fold, (A0 const&)(A1 const&)(A2 const&)(A3 const&)(A4 const&), 5) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::outer_fold_, outer_fold, (A0&)(A1 const&)(A2 const&)(A3 const&)(A4 const&), 5) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::outer_fold_, outer_fold, (A0 const&)(A1&)(A2 const&)(A3 const&)(A4 const&), 5) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::outer_fold_, outer_fold, (A0&)(A1&)(A2 const&)(A3 const&)(A4 const&), 5) -} - -#endif diff --git a/inst/include/nt2/core/functions/outer_scan.hpp b/inst/include/nt2/core/functions/outer_scan.hpp deleted file mode 100644 index 13d9f9a..0000000 --- a/inst/include/nt2/core/functions/outer_scan.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_OUTER_SCAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_OUTER_SCAN_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the nt2::outer_scan function - */ - -#include - -namespace nt2 -{ - namespace tag - { - struct outer_scan_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_outer_scan_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_outer_scan_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_outer_scan_; - } - - //============================================================================ - /*! - * Folds elements of \c a1 along outer dimension, possibly in parallel, and store - * the result in \c a0. - * - * \param a0 Expression to store result in - * \param a1 Expression to reduce - * \param a2 Functor to initialize the accumulator with - * \param a3 Function to apply for binary reduction, first argument is accumulator - * \param a4 Function to apply for unary reduction (for SIMD usage) - * \return nothing - */ - //============================================================================ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::outer_scan_, outer_scan, (A0 const&)(A1 const&)(A2 const&)(A3 const&)(A4 const&), 5) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::outer_scan_, outer_scan, (A0&)(A1 const&)(A2 const&)(A3 const&)(A4 const&), 5) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::outer_scan_, outer_scan, (A0 const&)(A1&)(A2 const&)(A3 const&)(A4 const&), 5) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::outer_scan_, outer_scan, (A0&)(A1&)(A2 const&)(A3 const&)(A4 const&), 5) -} - -#endif diff --git a/inst/include/nt2/core/functions/pi.hpp b/inst/include/nt2/core/functions/pi.hpp deleted file mode 100644 index 4d11a93..0000000 --- a/inst/include/nt2/core/functions/pi.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_PI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_PI_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Pi,pi, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/pio_2.hpp b/inst/include/nt2/core/functions/pio_2.hpp deleted file mode 100644 index 0575933..0000000 --- a/inst/include/nt2/core/functions/pio_2.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_PIO_2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_PIO_2_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Pio_2,pio_2, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/pispace.hpp b/inst/include/nt2/core/functions/pispace.hpp deleted file mode 100644 index 2dcdad9..0000000 --- a/inst/include/nt2/core/functions/pispace.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_PISPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_PISPACE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct pispace_ : ext::state_constant_ - { - typedef ext::state_constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_pispace_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_pispace_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_pispace_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::pispace_, pispace, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::pispace_, pispace, 2) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/preprocessed/cons.hpp b/inst/include/nt2/core/functions/preprocessed/cons.hpp deleted file mode 100644 index bb63eed..0000000 --- a/inst/include/nt2/core/functions/preprocessed/cons.hpp +++ /dev/null @@ -1,6912 +0,0 @@ -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0) -{ - T const data[] = { a0 }; - return nt2::container:: - table > - ( - nt2::of_size(1) - , &data[0] - , &data[0] + 1 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 1, "Incompatible size in cons"); - T const data[] = { a0 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 1 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1) -{ - T const data[] = { a0 , a1 }; - return nt2::container:: - table > - ( - nt2::of_size(2) - , &data[0] - , &data[0] + 2 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 2, "Incompatible size in cons"); - T const data[] = { a0 , a1 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 2 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2) -{ - T const data[] = { a0 , a1 , a2 }; - return nt2::container:: - table > - ( - nt2::of_size(3) - , &data[0] - , &data[0] + 3 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 3, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 3 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3) -{ - T const data[] = { a0 , a1 , a2 , a3 }; - return nt2::container:: - table > - ( - nt2::of_size(4) - , &data[0] - , &data[0] + 4 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 4, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 4 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 }; - return nt2::container:: - table > - ( - nt2::of_size(5) - , &data[0] - , &data[0] + 5 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 5, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 5 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 }; - return nt2::container:: - table > - ( - nt2::of_size(6) - , &data[0] - , &data[0] + 6 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 6, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 6 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 }; - return nt2::container:: - table > - ( - nt2::of_size(7) - , &data[0] - , &data[0] + 7 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 7, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 7 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 }; - return nt2::container:: - table > - ( - nt2::of_size(8) - , &data[0] - , &data[0] + 8 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 8, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 8 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 }; - return nt2::container:: - table > - ( - nt2::of_size(9) - , &data[0] - , &data[0] + 9 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 9, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 9 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 }; - return nt2::container:: - table > - ( - nt2::of_size(10) - , &data[0] - , &data[0] + 10 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 10, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 10 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 }; - return nt2::container:: - table > - ( - nt2::of_size(11) - , &data[0] - , &data[0] + 11 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 11, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 11 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 }; - return nt2::container:: - table > - ( - nt2::of_size(12) - , &data[0] - , &data[0] + 12 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 12, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 12 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 }; - return nt2::container:: - table > - ( - nt2::of_size(13) - , &data[0] - , &data[0] + 13 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 13, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 13 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 }; - return nt2::container:: - table > - ( - nt2::of_size(14) - , &data[0] - , &data[0] + 14 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 14, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 14 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 }; - return nt2::container:: - table > - ( - nt2::of_size(15) - , &data[0] - , &data[0] + 15 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 15, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 15 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 }; - return nt2::container:: - table > - ( - nt2::of_size(16) - , &data[0] - , &data[0] + 16 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 16, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 16 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 }; - return nt2::container:: - table > - ( - nt2::of_size(17) - , &data[0] - , &data[0] + 17 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 17, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 17 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 }; - return nt2::container:: - table > - ( - nt2::of_size(18) - , &data[0] - , &data[0] + 18 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 18, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 18 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 }; - return nt2::container:: - table > - ( - nt2::of_size(19) - , &data[0] - , &data[0] + 19 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 19, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 19 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 }; - return nt2::container:: - table > - ( - nt2::of_size(20) - , &data[0] - , &data[0] + 20 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 20, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 20 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 }; - return nt2::container:: - table > - ( - nt2::of_size(21) - , &data[0] - , &data[0] + 21 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 21, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 21 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 }; - return nt2::container:: - table > - ( - nt2::of_size(22) - , &data[0] - , &data[0] + 22 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 22, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 22 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 }; - return nt2::container:: - table > - ( - nt2::of_size(23) - , &data[0] - , &data[0] + 23 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 23, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 23 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 }; - return nt2::container:: - table > - ( - nt2::of_size(24) - , &data[0] - , &data[0] + 24 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 24, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 24 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 }; - return nt2::container:: - table > - ( - nt2::of_size(25) - , &data[0] - , &data[0] + 25 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 25, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 25 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 }; - return nt2::container:: - table > - ( - nt2::of_size(26) - , &data[0] - , &data[0] + 26 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 26, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 26 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 }; - return nt2::container:: - table > - ( - nt2::of_size(27) - , &data[0] - , &data[0] + 27 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 27, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 27 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 }; - return nt2::container:: - table > - ( - nt2::of_size(28) - , &data[0] - , &data[0] + 28 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 28, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 28 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 }; - return nt2::container:: - table > - ( - nt2::of_size(29) - , &data[0] - , &data[0] + 29 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 29, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 29 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 }; - return nt2::container:: - table > - ( - nt2::of_size(30) - , &data[0] - , &data[0] + 30 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 30, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 30 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 }; - return nt2::container:: - table > - ( - nt2::of_size(31) - , &data[0] - , &data[0] + 31 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 31, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 31 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 }; - return nt2::container:: - table > - ( - nt2::of_size(32) - , &data[0] - , &data[0] + 32 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 32, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 32 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 }; - return nt2::container:: - table > - ( - nt2::of_size(33) - , &data[0] - , &data[0] + 33 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 33, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 33 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 }; - return nt2::container:: - table > - ( - nt2::of_size(34) - , &data[0] - , &data[0] + 34 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 34, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 34 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 }; - return nt2::container:: - table > - ( - nt2::of_size(35) - , &data[0] - , &data[0] + 35 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 35, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 35 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 }; - return nt2::container:: - table > - ( - nt2::of_size(36) - , &data[0] - , &data[0] + 36 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 36, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 36 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 }; - return nt2::container:: - table > - ( - nt2::of_size(37) - , &data[0] - , &data[0] + 37 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 37, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 37 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 }; - return nt2::container:: - table > - ( - nt2::of_size(38) - , &data[0] - , &data[0] + 38 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 38, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 38 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 }; - return nt2::container:: - table > - ( - nt2::of_size(39) - , &data[0] - , &data[0] + 39 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 39, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 39 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 }; - return nt2::container:: - table > - ( - nt2::of_size(40) - , &data[0] - , &data[0] + 40 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 40, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 40 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 }; - return nt2::container:: - table > - ( - nt2::of_size(41) - , &data[0] - , &data[0] + 41 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 41, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 41 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 }; - return nt2::container:: - table > - ( - nt2::of_size(42) - , &data[0] - , &data[0] + 42 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 42, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 42 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 }; - return nt2::container:: - table > - ( - nt2::of_size(43) - , &data[0] - , &data[0] + 43 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 43, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 43 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 }; - return nt2::container:: - table > - ( - nt2::of_size(44) - , &data[0] - , &data[0] + 44 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 44, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 44 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 }; - return nt2::container:: - table > - ( - nt2::of_size(45) - , &data[0] - , &data[0] + 45 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 45, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 45 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 }; - return nt2::container:: - table > - ( - nt2::of_size(46) - , &data[0] - , &data[0] + 46 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 46, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 46 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 }; - return nt2::container:: - table > - ( - nt2::of_size(47) - , &data[0] - , &data[0] + 47 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 47, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 47 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 }; - return nt2::container:: - table > - ( - nt2::of_size(48) - , &data[0] - , &data[0] + 48 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 48, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 48 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 }; - return nt2::container:: - table > - ( - nt2::of_size(49) - , &data[0] - , &data[0] + 49 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 49, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 49 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 }; - return nt2::container:: - table > - ( - nt2::of_size(50) - , &data[0] - , &data[0] + 50 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 50, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 50 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 }; - return nt2::container:: - table > - ( - nt2::of_size(51) - , &data[0] - , &data[0] + 51 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 51, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 51 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 }; - return nt2::container:: - table > - ( - nt2::of_size(52) - , &data[0] - , &data[0] + 52 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 52, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 52 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 }; - return nt2::container:: - table > - ( - nt2::of_size(53) - , &data[0] - , &data[0] + 53 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 53, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 53 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 }; - return nt2::container:: - table > - ( - nt2::of_size(54) - , &data[0] - , &data[0] + 54 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 54, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 54 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 }; - return nt2::container:: - table > - ( - nt2::of_size(55) - , &data[0] - , &data[0] + 55 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 55, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 55 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 }; - return nt2::container:: - table > - ( - nt2::of_size(56) - , &data[0] - , &data[0] + 56 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 56, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 56 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 }; - return nt2::container:: - table > - ( - nt2::of_size(57) - , &data[0] - , &data[0] + 57 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 57, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 57 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 }; - return nt2::container:: - table > - ( - nt2::of_size(58) - , &data[0] - , &data[0] + 58 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 58, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 58 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 }; - return nt2::container:: - table > - ( - nt2::of_size(59) - , &data[0] - , &data[0] + 59 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 59, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 59 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 }; - return nt2::container:: - table > - ( - nt2::of_size(60) - , &data[0] - , &data[0] + 60 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 60, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 60 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 }; - return nt2::container:: - table > - ( - nt2::of_size(61) - , &data[0] - , &data[0] + 61 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 61, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 61 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 }; - return nt2::container:: - table > - ( - nt2::of_size(62) - , &data[0] - , &data[0] + 62 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 62, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 62 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 }; - return nt2::container:: - table > - ( - nt2::of_size(63) - , &data[0] - , &data[0] + 63 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 63, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 63 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 }; - return nt2::container:: - table > - ( - nt2::of_size(64) - , &data[0] - , &data[0] + 64 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 64, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 64 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 }; - return nt2::container:: - table > - ( - nt2::of_size(65) - , &data[0] - , &data[0] + 65 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 65, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 65 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 }; - return nt2::container:: - table > - ( - nt2::of_size(66) - , &data[0] - , &data[0] + 66 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 66, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 66 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 }; - return nt2::container:: - table > - ( - nt2::of_size(67) - , &data[0] - , &data[0] + 67 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 67, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 67 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 }; - return nt2::container:: - table > - ( - nt2::of_size(68) - , &data[0] - , &data[0] + 68 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 68, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 68 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 }; - return nt2::container:: - table > - ( - nt2::of_size(69) - , &data[0] - , &data[0] + 69 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 69, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 69 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 }; - return nt2::container:: - table > - ( - nt2::of_size(70) - , &data[0] - , &data[0] + 70 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 70, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 70 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 }; - return nt2::container:: - table > - ( - nt2::of_size(71) - , &data[0] - , &data[0] + 71 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 71, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 71 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 }; - return nt2::container:: - table > - ( - nt2::of_size(72) - , &data[0] - , &data[0] + 72 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 72, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 72 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 }; - return nt2::container:: - table > - ( - nt2::of_size(73) - , &data[0] - , &data[0] + 73 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 73, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 73 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 }; - return nt2::container:: - table > - ( - nt2::of_size(74) - , &data[0] - , &data[0] + 74 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 74, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 74 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 }; - return nt2::container:: - table > - ( - nt2::of_size(75) - , &data[0] - , &data[0] + 75 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 75, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 75 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 }; - return nt2::container:: - table > - ( - nt2::of_size(76) - , &data[0] - , &data[0] + 76 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 76, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 76 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 }; - return nt2::container:: - table > - ( - nt2::of_size(77) - , &data[0] - , &data[0] + 77 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 77, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 77 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 }; - return nt2::container:: - table > - ( - nt2::of_size(78) - , &data[0] - , &data[0] + 78 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 78, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 78 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 }; - return nt2::container:: - table > - ( - nt2::of_size(79) - , &data[0] - , &data[0] + 79 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 79, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 79 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 }; - return nt2::container:: - table > - ( - nt2::of_size(80) - , &data[0] - , &data[0] + 80 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 80, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 80 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 }; - return nt2::container:: - table > - ( - nt2::of_size(81) - , &data[0] - , &data[0] + 81 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 81, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 81 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 }; - return nt2::container:: - table > - ( - nt2::of_size(82) - , &data[0] - , &data[0] + 82 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 82, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 82 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 }; - return nt2::container:: - table > - ( - nt2::of_size(83) - , &data[0] - , &data[0] + 83 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 83, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 83 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 }; - return nt2::container:: - table > - ( - nt2::of_size(84) - , &data[0] - , &data[0] + 84 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 84, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 84 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 }; - return nt2::container:: - table > - ( - nt2::of_size(85) - , &data[0] - , &data[0] + 85 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 85, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 85 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 }; - return nt2::container:: - table > - ( - nt2::of_size(86) - , &data[0] - , &data[0] + 86 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 86, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 86 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 }; - return nt2::container:: - table > - ( - nt2::of_size(87) - , &data[0] - , &data[0] + 87 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 87, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 87 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 }; - return nt2::container:: - table > - ( - nt2::of_size(88) - , &data[0] - , &data[0] + 88 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 88, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 88 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 }; - return nt2::container:: - table > - ( - nt2::of_size(89) - , &data[0] - , &data[0] + 89 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 89, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 89 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 }; - return nt2::container:: - table > - ( - nt2::of_size(90) - , &data[0] - , &data[0] + 90 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 90, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 90 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 }; - return nt2::container:: - table > - ( - nt2::of_size(91) - , &data[0] - , &data[0] + 91 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 91, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 91 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 }; - return nt2::container:: - table > - ( - nt2::of_size(92) - , &data[0] - , &data[0] + 92 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 92, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 92 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 }; - return nt2::container:: - table > - ( - nt2::of_size(93) - , &data[0] - , &data[0] + 93 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 93, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 93 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 }; - return nt2::container:: - table > - ( - nt2::of_size(94) - , &data[0] - , &data[0] + 94 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 94, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 94 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 }; - return nt2::container:: - table > - ( - nt2::of_size(95) - , &data[0] - , &data[0] + 95 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 95, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 95 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 }; - return nt2::container:: - table > - ( - nt2::of_size(96) - , &data[0] - , &data[0] + 96 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 96, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 96 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 }; - return nt2::container:: - table > - ( - nt2::of_size(97) - , &data[0] - , &data[0] + 97 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 97, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 97 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 }; - return nt2::container:: - table > - ( - nt2::of_size(98) - , &data[0] - , &data[0] + 98 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 98, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 98 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 }; - return nt2::container:: - table > - ( - nt2::of_size(99) - , &data[0] - , &data[0] + 99 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 99, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 99 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 }; - return nt2::container:: - table > - ( - nt2::of_size(100) - , &data[0] - , &data[0] + 100 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 100, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 100 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 }; - return nt2::container:: - table > - ( - nt2::of_size(101) - , &data[0] - , &data[0] + 101 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 101, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 101 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 }; - return nt2::container:: - table > - ( - nt2::of_size(102) - , &data[0] - , &data[0] + 102 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 102, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 102 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 }; - return nt2::container:: - table > - ( - nt2::of_size(103) - , &data[0] - , &data[0] + 103 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 103, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 103 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 }; - return nt2::container:: - table > - ( - nt2::of_size(104) - , &data[0] - , &data[0] + 104 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 104, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 104 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 }; - return nt2::container:: - table > - ( - nt2::of_size(105) - , &data[0] - , &data[0] + 105 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 105, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 105 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 }; - return nt2::container:: - table > - ( - nt2::of_size(106) - , &data[0] - , &data[0] + 106 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 106, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 106 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 }; - return nt2::container:: - table > - ( - nt2::of_size(107) - , &data[0] - , &data[0] + 107 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 107, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 107 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 }; - return nt2::container:: - table > - ( - nt2::of_size(108) - , &data[0] - , &data[0] + 108 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 108, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 108 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 }; - return nt2::container:: - table > - ( - nt2::of_size(109) - , &data[0] - , &data[0] + 109 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 109, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 109 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 }; - return nt2::container:: - table > - ( - nt2::of_size(110) - , &data[0] - , &data[0] + 110 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 110, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 110 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 }; - return nt2::container:: - table > - ( - nt2::of_size(111) - , &data[0] - , &data[0] + 111 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 111, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 111 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 }; - return nt2::container:: - table > - ( - nt2::of_size(112) - , &data[0] - , &data[0] + 112 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 112, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 112 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 }; - return nt2::container:: - table > - ( - nt2::of_size(113) - , &data[0] - , &data[0] + 113 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 113, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 113 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 }; - return nt2::container:: - table > - ( - nt2::of_size(114) - , &data[0] - , &data[0] + 114 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 114, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 114 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 }; - return nt2::container:: - table > - ( - nt2::of_size(115) - , &data[0] - , &data[0] + 115 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 115, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 115 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 }; - return nt2::container:: - table > - ( - nt2::of_size(116) - , &data[0] - , &data[0] + 116 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 116, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 116 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 }; - return nt2::container:: - table > - ( - nt2::of_size(117) - , &data[0] - , &data[0] + 117 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 117, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 117 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 }; - return nt2::container:: - table > - ( - nt2::of_size(118) - , &data[0] - , &data[0] + 118 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 118, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 118 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 }; - return nt2::container:: - table > - ( - nt2::of_size(119) - , &data[0] - , &data[0] + 119 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 119, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 119 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 }; - return nt2::container:: - table > - ( - nt2::of_size(120) - , &data[0] - , &data[0] + 120 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 120, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 120 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 }; - return nt2::container:: - table > - ( - nt2::of_size(121) - , &data[0] - , &data[0] + 121 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 121, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 121 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 }; - return nt2::container:: - table > - ( - nt2::of_size(122) - , &data[0] - , &data[0] + 122 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 122, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 122 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 }; - return nt2::container:: - table > - ( - nt2::of_size(123) - , &data[0] - , &data[0] + 123 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 123, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 123 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 }; - return nt2::container:: - table > - ( - nt2::of_size(124) - , &data[0] - , &data[0] + 124 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 124, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 124 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 }; - return nt2::container:: - table > - ( - nt2::of_size(125) - , &data[0] - , &data[0] + 125 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 125, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 125 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 }; - return nt2::container:: - table > - ( - nt2::of_size(126) - , &data[0] - , &data[0] + 126 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 126, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 126 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 }; - return nt2::container:: - table > - ( - nt2::of_size(127) - , &data[0] - , &data[0] + 127 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 127, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 127 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 }; - return nt2::container:: - table > - ( - nt2::of_size(128) - , &data[0] - , &data[0] + 128 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 128, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 128 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 }; - return nt2::container:: - table > - ( - nt2::of_size(129) - , &data[0] - , &data[0] + 129 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 129, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 129 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 }; - return nt2::container:: - table > - ( - nt2::of_size(130) - , &data[0] - , &data[0] + 130 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 130, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 130 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 }; - return nt2::container:: - table > - ( - nt2::of_size(131) - , &data[0] - , &data[0] + 131 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 131, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 131 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 }; - return nt2::container:: - table > - ( - nt2::of_size(132) - , &data[0] - , &data[0] + 132 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 132, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 132 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 }; - return nt2::container:: - table > - ( - nt2::of_size(133) - , &data[0] - , &data[0] + 133 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 133, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 133 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 }; - return nt2::container:: - table > - ( - nt2::of_size(134) - , &data[0] - , &data[0] + 134 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 134, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 134 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 }; - return nt2::container:: - table > - ( - nt2::of_size(135) - , &data[0] - , &data[0] + 135 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 135, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 135 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 }; - return nt2::container:: - table > - ( - nt2::of_size(136) - , &data[0] - , &data[0] + 136 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 136, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 136 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 }; - return nt2::container:: - table > - ( - nt2::of_size(137) - , &data[0] - , &data[0] + 137 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 137, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 137 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 }; - return nt2::container:: - table > - ( - nt2::of_size(138) - , &data[0] - , &data[0] + 138 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 138, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 138 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 }; - return nt2::container:: - table > - ( - nt2::of_size(139) - , &data[0] - , &data[0] + 139 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 139, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 139 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 }; - return nt2::container:: - table > - ( - nt2::of_size(140) - , &data[0] - , &data[0] + 140 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 140, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 140 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 }; - return nt2::container:: - table > - ( - nt2::of_size(141) - , &data[0] - , &data[0] + 141 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 141, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 141 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 }; - return nt2::container:: - table > - ( - nt2::of_size(142) - , &data[0] - , &data[0] + 142 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 142, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 142 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 }; - return nt2::container:: - table > - ( - nt2::of_size(143) - , &data[0] - , &data[0] + 143 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 143, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 143 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 }; - return nt2::container:: - table > - ( - nt2::of_size(144) - , &data[0] - , &data[0] + 144 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 144, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 144 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 }; - return nt2::container:: - table > - ( - nt2::of_size(145) - , &data[0] - , &data[0] + 145 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 145, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 145 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 }; - return nt2::container:: - table > - ( - nt2::of_size(146) - , &data[0] - , &data[0] + 146 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 146, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 146 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 }; - return nt2::container:: - table > - ( - nt2::of_size(147) - , &data[0] - , &data[0] + 147 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 147, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 147 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 }; - return nt2::container:: - table > - ( - nt2::of_size(148) - , &data[0] - , &data[0] + 148 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 148, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 148 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 }; - return nt2::container:: - table > - ( - nt2::of_size(149) - , &data[0] - , &data[0] + 149 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 149, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 149 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 }; - return nt2::container:: - table > - ( - nt2::of_size(150) - , &data[0] - , &data[0] + 150 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 150, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 150 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 }; - return nt2::container:: - table > - ( - nt2::of_size(151) - , &data[0] - , &data[0] + 151 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 151, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 151 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 }; - return nt2::container:: - table > - ( - nt2::of_size(152) - , &data[0] - , &data[0] + 152 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 152, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 152 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 }; - return nt2::container:: - table > - ( - nt2::of_size(153) - , &data[0] - , &data[0] + 153 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 153, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 153 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 }; - return nt2::container:: - table > - ( - nt2::of_size(154) - , &data[0] - , &data[0] + 154 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 154, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 154 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 }; - return nt2::container:: - table > - ( - nt2::of_size(155) - , &data[0] - , &data[0] + 155 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 155, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 155 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 }; - return nt2::container:: - table > - ( - nt2::of_size(156) - , &data[0] - , &data[0] + 156 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 156, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 156 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 }; - return nt2::container:: - table > - ( - nt2::of_size(157) - , &data[0] - , &data[0] + 157 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 157, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 157 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 }; - return nt2::container:: - table > - ( - nt2::of_size(158) - , &data[0] - , &data[0] + 158 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 158, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 158 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 }; - return nt2::container:: - table > - ( - nt2::of_size(159) - , &data[0] - , &data[0] + 159 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 159, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 159 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 }; - return nt2::container:: - table > - ( - nt2::of_size(160) - , &data[0] - , &data[0] + 160 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 160, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 160 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 }; - return nt2::container:: - table > - ( - nt2::of_size(161) - , &data[0] - , &data[0] + 161 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 161, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 161 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 }; - return nt2::container:: - table > - ( - nt2::of_size(162) - , &data[0] - , &data[0] + 162 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 162, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 162 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 }; - return nt2::container:: - table > - ( - nt2::of_size(163) - , &data[0] - , &data[0] + 163 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 163, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 163 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 }; - return nt2::container:: - table > - ( - nt2::of_size(164) - , &data[0] - , &data[0] + 164 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 164, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 164 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 }; - return nt2::container:: - table > - ( - nt2::of_size(165) - , &data[0] - , &data[0] + 165 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 165, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 165 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 }; - return nt2::container:: - table > - ( - nt2::of_size(166) - , &data[0] - , &data[0] + 166 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 166, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 166 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 }; - return nt2::container:: - table > - ( - nt2::of_size(167) - , &data[0] - , &data[0] + 167 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 167, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 167 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 }; - return nt2::container:: - table > - ( - nt2::of_size(168) - , &data[0] - , &data[0] + 168 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 168, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 168 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 }; - return nt2::container:: - table > - ( - nt2::of_size(169) - , &data[0] - , &data[0] + 169 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 169, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 169 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 }; - return nt2::container:: - table > - ( - nt2::of_size(170) - , &data[0] - , &data[0] + 170 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 170, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 170 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 }; - return nt2::container:: - table > - ( - nt2::of_size(171) - , &data[0] - , &data[0] + 171 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 171, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 171 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 }; - return nt2::container:: - table > - ( - nt2::of_size(172) - , &data[0] - , &data[0] + 172 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 172, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 172 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 }; - return nt2::container:: - table > - ( - nt2::of_size(173) - , &data[0] - , &data[0] + 173 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 173, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 173 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 }; - return nt2::container:: - table > - ( - nt2::of_size(174) - , &data[0] - , &data[0] + 174 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 174, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 174 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 }; - return nt2::container:: - table > - ( - nt2::of_size(175) - , &data[0] - , &data[0] + 175 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 175, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 175 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 }; - return nt2::container:: - table > - ( - nt2::of_size(176) - , &data[0] - , &data[0] + 176 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 176, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 176 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 }; - return nt2::container:: - table > - ( - nt2::of_size(177) - , &data[0] - , &data[0] + 177 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 177, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 177 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 }; - return nt2::container:: - table > - ( - nt2::of_size(178) - , &data[0] - , &data[0] + 178 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 178, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 178 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 }; - return nt2::container:: - table > - ( - nt2::of_size(179) - , &data[0] - , &data[0] + 179 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 179, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 179 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 }; - return nt2::container:: - table > - ( - nt2::of_size(180) - , &data[0] - , &data[0] + 180 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 180, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 180 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 }; - return nt2::container:: - table > - ( - nt2::of_size(181) - , &data[0] - , &data[0] + 181 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 181, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 181 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 }; - return nt2::container:: - table > - ( - nt2::of_size(182) - , &data[0] - , &data[0] + 182 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 182, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 182 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 }; - return nt2::container:: - table > - ( - nt2::of_size(183) - , &data[0] - , &data[0] + 183 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 183, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 183 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 }; - return nt2::container:: - table > - ( - nt2::of_size(184) - , &data[0] - , &data[0] + 184 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 184, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 184 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 }; - return nt2::container:: - table > - ( - nt2::of_size(185) - , &data[0] - , &data[0] + 185 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 185, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 185 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 }; - return nt2::container:: - table > - ( - nt2::of_size(186) - , &data[0] - , &data[0] + 186 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 186, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 186 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 }; - return nt2::container:: - table > - ( - nt2::of_size(187) - , &data[0] - , &data[0] + 187 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 187, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 187 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 }; - return nt2::container:: - table > - ( - nt2::of_size(188) - , &data[0] - , &data[0] + 188 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 188, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 188 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 }; - return nt2::container:: - table > - ( - nt2::of_size(189) - , &data[0] - , &data[0] + 189 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 189, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 189 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 }; - return nt2::container:: - table > - ( - nt2::of_size(190) - , &data[0] - , &data[0] + 190 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 190, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 190 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 }; - return nt2::container:: - table > - ( - nt2::of_size(191) - , &data[0] - , &data[0] + 191 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 191, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 191 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 }; - return nt2::container:: - table > - ( - nt2::of_size(192) - , &data[0] - , &data[0] + 192 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 192, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 192 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 }; - return nt2::container:: - table > - ( - nt2::of_size(193) - , &data[0] - , &data[0] + 193 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 193, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 193 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 }; - return nt2::container:: - table > - ( - nt2::of_size(194) - , &data[0] - , &data[0] + 194 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 194, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 194 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 }; - return nt2::container:: - table > - ( - nt2::of_size(195) - , &data[0] - , &data[0] + 195 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 195, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 195 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 }; - return nt2::container:: - table > - ( - nt2::of_size(196) - , &data[0] - , &data[0] + 196 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 196, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 196 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 }; - return nt2::container:: - table > - ( - nt2::of_size(197) - , &data[0] - , &data[0] + 197 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 197, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 197 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 }; - return nt2::container:: - table > - ( - nt2::of_size(198) - , &data[0] - , &data[0] + 198 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 198, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 198 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 }; - return nt2::container:: - table > - ( - nt2::of_size(199) - , &data[0] - , &data[0] + 199 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 199, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 199 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 }; - return nt2::container:: - table > - ( - nt2::of_size(200) - , &data[0] - , &data[0] + 200 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 200, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 200 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 }; - return nt2::container:: - table > - ( - nt2::of_size(201) - , &data[0] - , &data[0] + 201 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 201, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 201 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 }; - return nt2::container:: - table > - ( - nt2::of_size(202) - , &data[0] - , &data[0] + 202 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 202, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 202 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 }; - return nt2::container:: - table > - ( - nt2::of_size(203) - , &data[0] - , &data[0] + 203 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 203, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 203 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 }; - return nt2::container:: - table > - ( - nt2::of_size(204) - , &data[0] - , &data[0] + 204 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 204, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 204 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 }; - return nt2::container:: - table > - ( - nt2::of_size(205) - , &data[0] - , &data[0] + 205 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 205, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 205 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 }; - return nt2::container:: - table > - ( - nt2::of_size(206) - , &data[0] - , &data[0] + 206 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 206, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 206 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 }; - return nt2::container:: - table > - ( - nt2::of_size(207) - , &data[0] - , &data[0] + 207 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 207, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 207 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 }; - return nt2::container:: - table > - ( - nt2::of_size(208) - , &data[0] - , &data[0] + 208 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 208, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 208 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 }; - return nt2::container:: - table > - ( - nt2::of_size(209) - , &data[0] - , &data[0] + 209 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 209, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 209 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 }; - return nt2::container:: - table > - ( - nt2::of_size(210) - , &data[0] - , &data[0] + 210 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 210, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 210 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 }; - return nt2::container:: - table > - ( - nt2::of_size(211) - , &data[0] - , &data[0] + 211 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 211, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 211 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 }; - return nt2::container:: - table > - ( - nt2::of_size(212) - , &data[0] - , &data[0] + 212 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 212, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 212 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 }; - return nt2::container:: - table > - ( - nt2::of_size(213) - , &data[0] - , &data[0] + 213 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 213, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 213 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 }; - return nt2::container:: - table > - ( - nt2::of_size(214) - , &data[0] - , &data[0] + 214 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 214, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 214 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 }; - return nt2::container:: - table > - ( - nt2::of_size(215) - , &data[0] - , &data[0] + 215 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 215, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 215 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 }; - return nt2::container:: - table > - ( - nt2::of_size(216) - , &data[0] - , &data[0] + 216 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 216, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 216 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 }; - return nt2::container:: - table > - ( - nt2::of_size(217) - , &data[0] - , &data[0] + 217 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 217, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 217 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 }; - return nt2::container:: - table > - ( - nt2::of_size(218) - , &data[0] - , &data[0] + 218 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 218, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 218 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 }; - return nt2::container:: - table > - ( - nt2::of_size(219) - , &data[0] - , &data[0] + 219 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 219, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 219 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 }; - return nt2::container:: - table > - ( - nt2::of_size(220) - , &data[0] - , &data[0] + 220 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 220, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 220 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 }; - return nt2::container:: - table > - ( - nt2::of_size(221) - , &data[0] - , &data[0] + 221 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 221, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 221 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 }; - return nt2::container:: - table > - ( - nt2::of_size(222) - , &data[0] - , &data[0] + 222 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 222, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 222 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 }; - return nt2::container:: - table > - ( - nt2::of_size(223) - , &data[0] - , &data[0] + 223 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 223, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 223 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 }; - return nt2::container:: - table > - ( - nt2::of_size(224) - , &data[0] - , &data[0] + 224 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 224, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 224 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 }; - return nt2::container:: - table > - ( - nt2::of_size(225) - , &data[0] - , &data[0] + 225 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 225, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 225 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 }; - return nt2::container:: - table > - ( - nt2::of_size(226) - , &data[0] - , &data[0] + 226 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 226, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 226 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 }; - return nt2::container:: - table > - ( - nt2::of_size(227) - , &data[0] - , &data[0] + 227 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 227, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 227 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 }; - return nt2::container:: - table > - ( - nt2::of_size(228) - , &data[0] - , &data[0] + 228 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 228, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 228 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 }; - return nt2::container:: - table > - ( - nt2::of_size(229) - , &data[0] - , &data[0] + 229 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 229, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 229 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 }; - return nt2::container:: - table > - ( - nt2::of_size(230) - , &data[0] - , &data[0] + 230 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 230, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 230 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 }; - return nt2::container:: - table > - ( - nt2::of_size(231) - , &data[0] - , &data[0] + 231 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 231, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 231 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 }; - return nt2::container:: - table > - ( - nt2::of_size(232) - , &data[0] - , &data[0] + 232 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 232, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 232 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 }; - return nt2::container:: - table > - ( - nt2::of_size(233) - , &data[0] - , &data[0] + 233 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 233, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 233 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 }; - return nt2::container:: - table > - ( - nt2::of_size(234) - , &data[0] - , &data[0] + 234 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 234, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 234 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 }; - return nt2::container:: - table > - ( - nt2::of_size(235) - , &data[0] - , &data[0] + 235 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 235, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 235 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 }; - return nt2::container:: - table > - ( - nt2::of_size(236) - , &data[0] - , &data[0] + 236 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 236, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 236 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 }; - return nt2::container:: - table > - ( - nt2::of_size(237) - , &data[0] - , &data[0] + 237 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 237, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 237 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 }; - return nt2::container:: - table > - ( - nt2::of_size(238) - , &data[0] - , &data[0] + 238 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 238, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 238 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 }; - return nt2::container:: - table > - ( - nt2::of_size(239) - , &data[0] - , &data[0] + 239 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 239, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 239 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 }; - return nt2::container:: - table > - ( - nt2::of_size(240) - , &data[0] - , &data[0] + 240 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 240, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 240 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 }; - return nt2::container:: - table > - ( - nt2::of_size(241) - , &data[0] - , &data[0] + 241 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 241, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 241 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 }; - return nt2::container:: - table > - ( - nt2::of_size(242) - , &data[0] - , &data[0] + 242 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 242, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 242 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 }; - return nt2::container:: - table > - ( - nt2::of_size(243) - , &data[0] - , &data[0] + 243 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 243, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 243 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 }; - return nt2::container:: - table > - ( - nt2::of_size(244) - , &data[0] - , &data[0] + 244 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 244, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 244 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 }; - return nt2::container:: - table > - ( - nt2::of_size(245) - , &data[0] - , &data[0] + 245 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 245, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 245 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 }; - return nt2::container:: - table > - ( - nt2::of_size(246) - , &data[0] - , &data[0] + 246 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 246, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 246 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 }; - return nt2::container:: - table > - ( - nt2::of_size(247) - , &data[0] - , &data[0] + 247 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 247, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 247 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 }; - return nt2::container:: - table > - ( - nt2::of_size(248) - , &data[0] - , &data[0] + 248 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 248, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 248 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 }; - return nt2::container:: - table > - ( - nt2::of_size(249) - , &data[0] - , &data[0] + 249 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 249, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 249 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 }; - return nt2::container:: - table > - ( - nt2::of_size(250) - , &data[0] - , &data[0] + 250 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 250, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 250 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 }; - return nt2::container:: - table > - ( - nt2::of_size(251) - , &data[0] - , &data[0] + 251 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 251, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 251 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 }; - return nt2::container:: - table > - ( - nt2::of_size(252) - , &data[0] - , &data[0] + 252 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 252, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 252 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251 , T const& a252) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 , a252 }; - return nt2::container:: - table > - ( - nt2::of_size(253) - , &data[0] - , &data[0] + 253 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251 , T const& a252) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 253, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 , a252 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 253 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251 , T const& a252 , T const& a253) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 , a252 , a253 }; - return nt2::container:: - table > - ( - nt2::of_size(254) - , &data[0] - , &data[0] + 254 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251 , T const& a252 , T const& a253) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 254, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 , a252 , a253 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 254 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251 , T const& a252 , T const& a253 , T const& a254) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 , a252 , a253 , a254 }; - return nt2::container:: - table > - ( - nt2::of_size(255) - , &data[0] - , &data[0] + 255 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251 , T const& a252 , T const& a253 , T const& a254) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 255, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 , a252 , a253 , a254 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 255 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251 , T const& a252 , T const& a253 , T const& a254 , T const& a255) -{ - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 , a252 , a253 , a254 , a255 }; - return nt2::container:: - table > - ( - nt2::of_size(256) - , &data[0] - , &data[0] + 256 - ); -} -template -BOOST_FORCEINLINE nt2::container::table > -cons(nt2::of_size_max const& sz, T const& a0 , T const& a1 , T const& a2 , T const& a3 , T const& a4 , T const& a5 , T const& a6 , T const& a7 , T const& a8 , T const& a9 , T const& a10 , T const& a11 , T const& a12 , T const& a13 , T const& a14 , T const& a15 , T const& a16 , T const& a17 , T const& a18 , T const& a19 , T const& a20 , T const& a21 , T const& a22 , T const& a23 , T const& a24 , T const& a25 , T const& a26 , T const& a27 , T const& a28 , T const& a29 , T const& a30 , T const& a31 , T const& a32 , T const& a33 , T const& a34 , T const& a35 , T const& a36 , T const& a37 , T const& a38 , T const& a39 , T const& a40 , T const& a41 , T const& a42 , T const& a43 , T const& a44 , T const& a45 , T const& a46 , T const& a47 , T const& a48 , T const& a49 , T const& a50 , T const& a51 , T const& a52 , T const& a53 , T const& a54 , T const& a55 , T const& a56 , T const& a57 , T const& a58 , T const& a59 , T const& a60 , T const& a61 , T const& a62 , T const& a63 , T const& a64 , T const& a65 , T const& a66 , T const& a67 , T const& a68 , T const& a69 , T const& a70 , T const& a71 , T const& a72 , T const& a73 , T const& a74 , T const& a75 , T const& a76 , T const& a77 , T const& a78 , T const& a79 , T const& a80 , T const& a81 , T const& a82 , T const& a83 , T const& a84 , T const& a85 , T const& a86 , T const& a87 , T const& a88 , T const& a89 , T const& a90 , T const& a91 , T const& a92 , T const& a93 , T const& a94 , T const& a95 , T const& a96 , T const& a97 , T const& a98 , T const& a99 , T const& a100 , T const& a101 , T const& a102 , T const& a103 , T const& a104 , T const& a105 , T const& a106 , T const& a107 , T const& a108 , T const& a109 , T const& a110 , T const& a111 , T const& a112 , T const& a113 , T const& a114 , T const& a115 , T const& a116 , T const& a117 , T const& a118 , T const& a119 , T const& a120 , T const& a121 , T const& a122 , T const& a123 , T const& a124 , T const& a125 , T const& a126 , T const& a127 , T const& a128 , T const& a129 , T const& a130 , T const& a131 , T const& a132 , T const& a133 , T const& a134 , T const& a135 , T const& a136 , T const& a137 , T const& a138 , T const& a139 , T const& a140 , T const& a141 , T const& a142 , T const& a143 , T const& a144 , T const& a145 , T const& a146 , T const& a147 , T const& a148 , T const& a149 , T const& a150 , T const& a151 , T const& a152 , T const& a153 , T const& a154 , T const& a155 , T const& a156 , T const& a157 , T const& a158 , T const& a159 , T const& a160 , T const& a161 , T const& a162 , T const& a163 , T const& a164 , T const& a165 , T const& a166 , T const& a167 , T const& a168 , T const& a169 , T const& a170 , T const& a171 , T const& a172 , T const& a173 , T const& a174 , T const& a175 , T const& a176 , T const& a177 , T const& a178 , T const& a179 , T const& a180 , T const& a181 , T const& a182 , T const& a183 , T const& a184 , T const& a185 , T const& a186 , T const& a187 , T const& a188 , T const& a189 , T const& a190 , T const& a191 , T const& a192 , T const& a193 , T const& a194 , T const& a195 , T const& a196 , T const& a197 , T const& a198 , T const& a199 , T const& a200 , T const& a201 , T const& a202 , T const& a203 , T const& a204 , T const& a205 , T const& a206 , T const& a207 , T const& a208 , T const& a209 , T const& a210 , T const& a211 , T const& a212 , T const& a213 , T const& a214 , T const& a215 , T const& a216 , T const& a217 , T const& a218 , T const& a219 , T const& a220 , T const& a221 , T const& a222 , T const& a223 , T const& a224 , T const& a225 , T const& a226 , T const& a227 , T const& a228 , T const& a229 , T const& a230 , T const& a231 , T const& a232 , T const& a233 , T const& a234 , T const& a235 , T const& a236 , T const& a237 , T const& a238 , T const& a239 , T const& a240 , T const& a241 , T const& a242 , T const& a243 , T const& a244 , T const& a245 , T const& a246 , T const& a247 , T const& a248 , T const& a249 , T const& a250 , T const& a251 , T const& a252 , T const& a253 , T const& a254 , T const& a255) -{ - BOOST_ASSERT_MSG( nt2::numel(sz) <= 256, "Incompatible size in cons"); - T const data[] = { a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50 , a51 , a52 , a53 , a54 , a55 , a56 , a57 , a58 , a59 , a60 , a61 , a62 , a63 , a64 , a65 , a66 , a67 , a68 , a69 , a70 , a71 , a72 , a73 , a74 , a75 , a76 , a77 , a78 , a79 , a80 , a81 , a82 , a83 , a84 , a85 , a86 , a87 , a88 , a89 , a90 , a91 , a92 , a93 , a94 , a95 , a96 , a97 , a98 , a99 , a100 , a101 , a102 , a103 , a104 , a105 , a106 , a107 , a108 , a109 , a110 , a111 , a112 , a113 , a114 , a115 , a116 , a117 , a118 , a119 , a120 , a121 , a122 , a123 , a124 , a125 , a126 , a127 , a128 , a129 , a130 , a131 , a132 , a133 , a134 , a135 , a136 , a137 , a138 , a139 , a140 , a141 , a142 , a143 , a144 , a145 , a146 , a147 , a148 , a149 , a150 , a151 , a152 , a153 , a154 , a155 , a156 , a157 , a158 , a159 , a160 , a161 , a162 , a163 , a164 , a165 , a166 , a167 , a168 , a169 , a170 , a171 , a172 , a173 , a174 , a175 , a176 , a177 , a178 , a179 , a180 , a181 , a182 , a183 , a184 , a185 , a186 , a187 , a188 , a189 , a190 , a191 , a192 , a193 , a194 , a195 , a196 , a197 , a198 , a199 , a200 , a201 , a202 , a203 , a204 , a205 , a206 , a207 , a208 , a209 , a210 , a211 , a212 , a213 , a214 , a215 , a216 , a217 , a218 , a219 , a220 , a221 , a222 , a223 , a224 , a225 , a226 , a227 , a228 , a229 , a230 , a231 , a232 , a233 , a234 , a235 , a236 , a237 , a238 , a239 , a240 , a241 , a242 , a243 , a244 , a245 , a246 , a247 , a248 , a249 , a250 , a251 , a252 , a253 , a254 , a255 }; - return nt2::container:: - table > - ( - sz - , &data[0] - , &data[0] + 256 - ); -} diff --git a/inst/include/nt2/core/functions/putalong.hpp b/inst/include/nt2/core/functions/putalong.hpp deleted file mode 100644 index 4e1f159..0000000 --- a/inst/include/nt2/core/functions/putalong.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_PUTALONG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_PUTALONG_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief putalong generic tag - - Represents the putalong function in generic contexts. - - @par Models: - Hierarchy - **/ - struct putalong_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_putalong_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_putalong_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_putalong_; - } - /*! - - transform a0 in an expression "vector" in direction a1 - - @par Semantic: - - For everytable expressions: - - @code - T0 r = putalong(a0,a1); - @endcode - - resize a0 to [1, ..., numel(a0)] where the size vector is of length a1 - - @param a0 - - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::putalong_, putalong, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/quarter.hpp b/inst/include/nt2/core/functions/quarter.hpp deleted file mode 100644 index 690abbb..0000000 --- a/inst/include/nt2/core/functions/quarter.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_QUARTER_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_QUARTER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Quarter,quarter, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/rand.hpp b/inst/include/nt2/core/functions/rand.hpp deleted file mode 100644 index d9557f2..0000000 --- a/inst/include/nt2/core/functions/rand.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RAND_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag rand_ of functor rand - **/ - struct rand_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rand_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rand_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rand_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::rand_, rand, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - template - struct value_type - { - typedef typename boost::proto::result_of::child_c::type c_t; - typedef typename boost::proto::result_of::value::value_type::type type; - }; - - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/randi.hpp b/inst/include/nt2/core/functions/randi.hpp deleted file mode 100644 index d866420..0000000 --- a/inst/include/nt2/core/functions/randi.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RANDI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RANDI_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag randi_ of functor randi - **/ - struct randi_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_randi_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_randi_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_randi_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::randi_, randi, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::value_as - {}; - - template - struct size_of - : meta::boxed_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/randn.hpp b/inst/include/nt2/core/functions/randn.hpp deleted file mode 100644 index 134a4a1..0000000 --- a/inst/include/nt2/core/functions/randn.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RANDN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RANDN_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag randn_ of functor randn - **/ - struct randn_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_randn_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_randn_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_randn_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::randn_, randn, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - template - struct value_type - { - typedef typename boost::proto::result_of::child_c::type c_t; - typedef typename boost::proto::result_of::value::value_type::type type; - }; - - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/real_splat.hpp b/inst/include/nt2/core/functions/real_splat.hpp deleted file mode 100644 index a2517c1..0000000 --- a/inst/include/nt2/core/functions/real_splat.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_REAL_SPLAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_REAL_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Real_splat,real_splat, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/relative_index.hpp b/inst/include/nt2/core/functions/relative_index.hpp deleted file mode 100644 index 80c4759..0000000 --- a/inst/include/nt2/core/functions/relative_index.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RELATIVE_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RELATIVE_INDEX_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the nt2::relative_index function - */ - -#include - -namespace nt2 -{ - namespace tag - { - struct relative_index_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_relative_index_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_relative_index_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_relative_index_; - } - - //============================================================================ - /*! - * Performs an index translation to be used in indexed access computation - * - * \param a0 xpr Indexing expression - * \param a1 bi Base indexes of indexed expression - * \param a2 sz Sizes of indexed expression - * \param a3 idx Index being computed - * \param a4 target Desired index type - * \return The translated index to access current indexing expression - */ - //============================================================================ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::relative_index_, relative_index, 5) -} - -#endif diff --git a/inst/include/nt2/core/functions/relative_size.hpp b/inst/include/nt2/core/functions/relative_size.hpp deleted file mode 100644 index 46b6bb6..0000000 --- a/inst/include/nt2/core/functions/relative_size.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RELATIVE_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RELATIVE_SIZE_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the nt2::relative_size function - */ - -#include - -namespace nt2 -{ - namespace tag - { - struct relative_size_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_relative_size_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_relative_size_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_relative_size_; - } - - //============================================================================ - /*! - * Computes parts if the size to be used in indexed access computation - * - * \param a0 xpr Indexing expression - * \param a1 szs Indexed node Size - * \param a2 bis Indexed node base indices - * \return The number of elements dimensions required to store \c xpr - */ - //============================================================================ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::relative_size_, relative_size, 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/rephorz.hpp b/inst/include/nt2/core/functions/rephorz.hpp deleted file mode 100644 index d44f797..0000000 --- a/inst/include/nt2/core/functions/rephorz.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_REPHORZ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_REPHORZ_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct rephorz_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rephorz_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rephorz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rephorz_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::rephorz_, rephorz, 2) -} - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::value_as - {}; - - template - struct size_of - { - typedef typename boost::proto::result_of - ::child_c::value_type::extent_type base_t; - - typedef typename make_size< base_t::static_size==1 - ? 2 - : base_t::static_size - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee = boost::proto::child_c<0>(e).extent(); - sizee[1] *= boost::proto::value(boost::proto::child_c<1>(e)); - return sizee; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/repmat.hpp b/inst/include/nt2/core/functions/repmat.hpp deleted file mode 100644 index 729f931..0000000 --- a/inst/include/nt2/core/functions/repmat.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_REPMAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_REPMAT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct repmat_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_repmat_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_repmat_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_repmat_; - } - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::repmat_, repmat, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - #undef M0 -} - -namespace nt2 { namespace ext -{ - template - struct size_of - { - typedef typename boost::proto::result_of:: - child_c::value_type::extent_type extent_t; - typedef typename boost::proto::result_of:: - value < typename boost::proto::result_of:: - child_c::type - >::type reps_t; - - typedef typename meta::strip::type ext1_t; - typedef typename meta::strip::type ext2_t; - - typedef typename make_size < !(ext1_t::static_size <= ext2_t::static_size) - ? ext1_t::static_size - : ext2_t::static_size - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(X& e) const - { - result_type that(boost::proto::child_c<1>(e).extent()); - reps_t r(boost::proto::value(boost::proto::child_c<0>(e))); - - for(std::size_t i=0;i - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/repnum.hpp b/inst/include/nt2/core/functions/repnum.hpp deleted file mode 100644 index e08aacd..0000000 --- a/inst/include/nt2/core/functions/repnum.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_REPNUM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_REPNUM_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct repnum_ : ext::state_constant_ - { - typedef ext::state_constant_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_repnum_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_repnum_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_repnum_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::repnum_, repnum, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - #undef M0 -} - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::generative_value - {}; - - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/repvert.hpp b/inst/include/nt2/core/functions/repvert.hpp deleted file mode 100644 index dc51086..0000000 --- a/inst/include/nt2/core/functions/repvert.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_REPVERT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_REPVERT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct repvert_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_repvert_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_repvert_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_repvert_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::repvert_, repvert, 2) -} - -namespace nt2 { namespace ext -{ - template - struct value_type - : meta::value_as - {}; - - template - struct size_of - { - typedef typename boost::proto::result_of - ::child_c::value_type::extent_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee = boost::proto::child_c<0>(e).extent(); - sizee[0] *= boost::proto::value(boost::proto::child_c<1>(e)); - return sizee; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/reshape.hpp b/inst/include/nt2/core/functions/reshape.hpp deleted file mode 100644 index 55cea6d..0000000 --- a/inst/include/nt2/core/functions/reshape.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RESHAPE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RESHAPE_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the nt2::reshape function - */ - -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct reshape_ : ext::reshaping_ - { - /// @brief Parent hierarchy - typedef ext::reshaping_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_reshape_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_reshape_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_reshape_; - } - - //============================================================================ - /*! - * reshape an expression while keeping its numel constant - * - * \param xpr Expression to reshape - * \param size New size of the expression - */ - //============================================================================ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::reshape_, reshape, n) \ - NT2_FUNCTION_IMPLEMENTATION_SELF(nt2::tag::reshape_, reshape, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -//============================================================================== -// Setup reshape generator traits -//============================================================================== -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::boxed_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/resize.hpp b/inst/include/nt2/core/functions/resize.hpp deleted file mode 100644 index 1b1fa7d..0000000 --- a/inst/include/nt2/core/functions/resize.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RESIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RESIZE_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the nt2::resize function - */ - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct resize_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_resize_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_resize_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_resize_; - } - - //============================================================================ - /*! - * resize an expression - * - * \param xpr Expression to resize - * \param size New size of the expression - */ - //============================================================================ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::resize_, resize, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::boxed_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/ric.hpp b/inst/include/nt2/core/functions/ric.hpp deleted file mode 100644 index 3b16983..0000000 --- a/inst/include/nt2/core/functions/ric.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RIC_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RIC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Define the ric function tag - - Define a hierarchizable Tag representing the ric function in generic - contexts. - **/ - BOOST_SIMD_CONSTANT_REGISTER( ric_, double , 0, 0, 0 ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ric_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ric_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ric_, ric, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/rif.hpp b/inst/include/nt2/core/functions/rif.hpp deleted file mode 100644 index c6c6383..0000000 --- a/inst/include/nt2/core/functions/rif.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RIF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RIF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Define the cic function tag - - Define a hierarchizable Tag representing the cic function in generic - contexts. - **/ - BOOST_SIMD_CONSTANT_REGISTER( rif_, double - , 1, 0x3f800000UL, 0x3ff0000000000000ULL - ) - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rif_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rif_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::rif_, rif, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/rng.hpp b/inst/include/nt2/core/functions/rng.hpp deleted file mode 100644 index eae1ef3..0000000 --- a/inst/include/nt2/core/functions/rng.hpp +++ /dev/null @@ -1,125 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_RNG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_RNG_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace details - { - struct shuffle_t {}; - struct default_t {}; - } - - details::shuffle_t const shuffle_ = {}; - details::default_t const default_ = {}; - - /*! - @brief PRNG control access - - Return the current PRNG settings object - - @return A reference to the current PRNG settings object - **/ - BOOST_FORCEINLINE rng_settings rng() - { - return current_prng_; - } - - /*! - @brief PRNG seeding - - Set the seed of the current PRNG. - - @param seed Seed of the PRNG - - @return A reference to the current PRNG settings object - **/ - BOOST_FORCEINLINE rng_settings rng(int seed) - { - current_prng_.seed(seed); - return current_prng_; - } - - /*! - @brief Time based PRNG seeding - - Set the seed of the current PRNG using current time. - - @return A reference to the current PRNG settings object - **/ - BOOST_FORCEINLINE rng_settings rng(details::shuffle_t const&) - { - current_prng_.seed( (int)(time_quantum()) ); - return current_prng_; - } - - /*! - @brief PRNG reset - - Reset the PRNG settings to the initial state - - @return A reference to the current PRNG settings object - **/ - BOOST_FORCEINLINE rng_settings rng(details::default_t const&) - { - rng_settings that; - current_prng_ = that; - return current_prng_; - } - - /*! - @brief PRNG setup - - Set the current PRNG to be equal to another PRNG settings - - @param prng PRNG settings object - - @return A reference to the current PRNG settings object - **/ - BOOST_FORCEINLINE rng_settings rng(rng_settings const& prng) - { - current_prng_ = prng; - return current_prng_; - } - - /*! - @brief PRNG setup - - Set the current PRNG usign a seed and a generator. - - @param seed PRNG seed - @param gen PRNG generator - - @return A reference to the current PRNG settings object - **/ - BOOST_FORCEINLINE rng_settings rng(int seed, randstream_* gen) - { - return rng( rng_settings(gen,seed) ); - } - - /*! - @brief PRNG setup - - Set the current PRNG using time as a seed and a generator. - - @param g PRNG generator - - @return A reference to the current PRNG settings object - **/ - BOOST_FORCEINLINE rng_settings rng(details::shuffle_t const&, randstream_* g) - { - return rng( rng_settings(g,(int)(time_quantum())) ); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/rows.hpp b/inst/include/nt2/core/functions/rows.hpp deleted file mode 100644 index 16d9a02..0000000 --- a/inst/include/nt2/core/functions/rows.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ROWS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ROWS_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for rows functor - **/ - struct rows_ : ext::state_constant_ - { - typedef ext::state_constant_ parent; - typedef double default_type; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rows_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rows_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rows_; - } - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::rows_, rows, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/rowvect.hpp b/inst/include/nt2/core/functions/rowvect.hpp deleted file mode 100644 index d4fbaca..0000000 --- a/inst/include/nt2/core/functions/rowvect.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ROWVECT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ROWVECT_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief rowvect generic tag - - Represents the rowvect function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rowvect_ : ext::reshaping_ - { - /// @brief Parent hierarchy - typedef ext::reshaping_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rowvect_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rowvect_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rowvect_; - } - /*! - Reshapes an expression into a row shaped table. - - @par Semantic: - - For every table expression - - @code - auto r = rowvect(a0); - @endcode - - is similar to: - - @code - auto r = resize(a0, 1, numel(a0)); - @endcode - - @see @funcref{colvect}, @funcref{resize}, @funcref{numel} - @param a0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::rowvect_ , rowvect, 1) -} - -//============================================================================== -// Setup rowvect generator traits -//============================================================================== -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of - ::child_c::value_type::extent_type ext_t; - typedef typename meta::call::type num; - - typedef of_size_< 1, mpl_value::value > result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return result_type(1,nt2::numel(boost::proto::child_c<0>(e))); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/adjfun.hpp b/inst/include/nt2/core/functions/scalar/adjfun.hpp deleted file mode 100644 index 4071593..0000000 --- a/inst/include/nt2/core/functions/scalar/adjfun.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_ADJFUN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_ADJFUN_HPP_INCLUDED -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( adjfun_, tag::cpu_ - , (Functor)(A0) - , (unspecified_) - (scalar_ >) - ) - { - typedef container::table > result_type; - - BOOST_FORCEINLINE - result_type operator()(Functor const&, A0 const&) const - { - return result_type(); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( adjfun_, tag::cpu_ - , (Functor)(A0)(Along) - , (unspecified_) - (scalar_ >) - (scalar_ >) - ) - { - typedef container::table > result_type; - - BOOST_FORCEINLINE - result_type operator()(Functor const&, A0 const&, Along const&) const - { - return result_type(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/asum1.hpp b/inst/include/nt2/core/functions/scalar/asum1.hpp deleted file mode 100644 index 3ebd8e7..0000000 --- a/inst/include/nt2/core/functions/scalar/asum1.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_ASUM1_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_ASUM1_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( asum1_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return nt2::abs(a); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( asum1_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return nt2::abs(a); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/asum2.hpp b/inst/include/nt2/core/functions/scalar/asum2.hpp deleted file mode 100644 index 98b32a6..0000000 --- a/inst/include/nt2/core/functions/scalar/asum2.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_ASUM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_ASUM2_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( asum2_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return nt2::sqr_abs(a); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( asum2_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return nt2::sqr_abs(a); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/asump.hpp b/inst/include/nt2/core/functions/scalar/asump.hpp deleted file mode 100644 index 8ff1bd0..0000000 --- a/inst/include/nt2/core/functions/scalar/asump.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_ASUMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_ASUMP_HPP_INCLUDED - -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( asump_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< arithmetic_ > ) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const& p) const - { - return nt2::pow_abs(a, p); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( asump_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< unspecified_ >) - (scalar_< arithmetic_ > ) - (scalar_< integer_ > ) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE - result_type operator()(A0 const& a, A1 const& p, A2 const&) const - { - return nt2::pow_abs(a, p); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/band.hpp b/inst/include/nt2/core/functions/scalar/band.hpp deleted file mode 100644 index 9d38e55..0000000 --- a/inst/include/nt2/core/functions/scalar/band.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_BAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_BAND_HPP_INCLUDED -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( band_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( band_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 offset) const - { - return (offset >= 0) ? a : Zero(); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( band_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 sub, A2 super) const - { - BOOST_ASSERT_MSG( sub <= super - , "Invalid band shape requested" - ); - - return ((sub <= 0) && (0 <= super)) ? a : Zero(); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/blkdiag.hpp b/inst/include/nt2/core/functions/scalar/blkdiag.hpp deleted file mode 100644 index 5bee1de..0000000 --- a/inst/include/nt2/core/functions/scalar/blkdiag.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_BLKDIAG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_BLKDIAG_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( blkdiag_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 const& result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( blkdiag_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef nt2::container::table > result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A0 const& a1) const - { - return nt2::cons(nt2::of_size(2,2),a0,A0(0),A0(0),a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/cat.hpp b/inst/include/nt2/core/functions/scalar/cat.hpp deleted file mode 100644 index 56ffb42..0000000 --- a/inst/include/nt2/core/functions/scalar/cat.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_CAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_CAT_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates cat from 2 scalar - //============================================================================ - BOOST_DISPATCH_IMPLEMENT( cat_, tag::cpu_, - (Dimension)(A1)(A2), - (scalar_ >) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::cat_ - , container::domain - , std::size_t - , A1 - , A2 - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(Dimension const& dim,A1 const& a1,A2 const& a2) const - { - return boost::proto::make_expr < nt2::tag::cat_ - , container::domain - >(std::size_t(dim), a1,a2); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/cdiff.hpp b/inst/include/nt2/core/functions/scalar/cdiff.hpp deleted file mode 100644 index 8a7fd7b..0000000 --- a/inst/include/nt2/core/functions/scalar/cdiff.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_CDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_CDIFF_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( cdiff_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename container::table > result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& ) const - { - return result_type(); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( cdiff_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef typename container::table > result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const& ) const - { - return result_type(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/colon.hpp b/inst/include/nt2/core/functions/scalar/colon.hpp deleted file mode 100644 index c995a98..0000000 --- a/inst/include/nt2/core/functions/scalar/colon.hpp +++ /dev/null @@ -1,171 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_COLON_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_COLON_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - /// Generates colon from a pair of [low,up] - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef typename boost::common_type::type base_t; - typedef meta::constant_ constant_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::colon_ - , container::domain - , of_size_<1, -1> - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& l, A1 const& u) const - { - return boost::proto:: - make_expr < nt2::tag::colon_ - , container::domain - > ( of_size_<1, -1>(1,details::unity_colon_size(l,u)) - , constant_t(l) - , meta::as_() - ); - } - }; - - /// INTERNAL ONLY - /// Generates colon from a pair of [low,up] (static) - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1) - , (mpl_integral_< scalar_< arithmetic_ > >) - (mpl_integral_< scalar_< arithmetic_ > >) - ) - { - static const std::size_t sz = (A1::value>=A0::value) - ? std::size_t(A1::value-A0::value+1) : 0u; - - typedef typename boost::common_type::type base_t; - typedef meta::constant_ constant_t; - - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::colon_ - , container::domain - , of_size_<1, sz> - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& l, A1 const&) const - { - return boost::proto:: - make_expr < nt2::tag::colon_ - , container::domain - > ( of_size_<1, sz>() - , constant_t(l) - , meta::as_() - ); - } - }; - - /// INTERNAL ONLY - /// Generates colon from a pair of [low,up] and a step - /// Easy case : everything is signed integral - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< integer_ >) - (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - typedef typename boost::common_type::type base_t; - typedef meta::constant_ constant_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::colon_ - , container::domain - , of_size_<1, -1> - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& l, A1 const& s, A2 const& u) const - { - return boost::proto:: - make_expr < nt2::tag::colon_ - , container::domain - > ( of_size_<1,-1>(1,details::colon_size(l,s,u)) - , constant_t(l,s) - , meta::as_() - ); - } - }; - - //============================================================================ - // Generates colon from a pair of [low,up] and a number of elements - // Not easy case : floating points :s - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( colon_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef typename boost::dispatch::meta::as_floating::type base_t; - typedef meta::constant_ constant_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::colon_ - , container::domain - , of_size_<1, -1> - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& l, A1 const& s, A2 const& u) const - { - std::size_t n = (s) ? (((u-l)*s >= 0) ? size(l,s,u) : 0) - : std::size_t(u); - - return boost::proto::make_expr< nt2::tag::colon_ - , container::domain - > ( of_size_<1, -1>(1,n) - , constant_t(l,s) - , meta::as_() - ); - } - - BOOST_FORCEINLINE std::size_t - size(A0 const& l, A1 const& s, A2 const& u) const - { - const std::size_t nelt = std::size_t(tolerant_floor(base_t(u-l+s)/base_t(s))); - const base_t eps3 = Threeeps(); - - if(!fuzzy_equal(l+base_t(nelt-1)*s, u, eps3)) - { - if(fuzzy_equal(l+base_t(nelt-2)*s, u, eps3)) return nelt-1; - else if(fuzzy_equal(l+base_t(nelt)*s , u, eps3)) return nelt+1; - } - return nelt; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/cols.hpp b/inst/include/nt2/core/functions/scalar/cols.hpp deleted file mode 100644 index 4ac60ef..0000000 --- a/inst/include/nt2/core/functions/scalar/cols.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_COLS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_COLS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< arithmetic_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( cols_, tag::cpu_ \ - , BOOST_PP_REPEAT(n,M2,~)(T) \ - , BOOST_PP_REPEAT(n,M1,~) \ - (scalar_< unspecified_ >) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - , T const& s \ - ) \ - , (nt2::cols( nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a)) \ - , s \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - - #undef M0 - #undef M1 - #undef M2 - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( cols_, tag::cpu_ - , (T) - , (scalar_< unspecified_ >) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE result_type operator()(T const& s) const - { - return s; - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( cols_, tag::cpu_ - , (A0)(T) - , (fusion_sequence_) - (scalar_< unspecified_ >) - ) - { - typedef typename boost::remove_const::type size_type; - typedef meta::constant_ constant_t; - typedef meta::as_ target_t; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::cols_ - , container::domain - , size_type - , constant_t - , target_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& s) const - { - return boost::proto - ::make_expr < nt2::tag::cols_ - , container::domain - > ( a0 - , constant_t(s) - , target_t() - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/colvect.hpp b/inst/include/nt2/core/functions/scalar/colvect.hpp deleted file mode 100644 index 69471f2..0000000 --- a/inst/include/nt2/core/functions/scalar/colvect.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_COLVECT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_COLVECT_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( colvect_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/construct.hpp b/inst/include/nt2/core/functions/scalar/construct.hpp deleted file mode 100644 index 906bc29..0000000 --- a/inst/include/nt2/core/functions/scalar/construct.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_CONSTRUCT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_CONSTRUCT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::iterator_; - - //============================================================================ - // Construct a terminal from a size and a Iterator pair - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( construct_, tag::cpu_ - , (A0)(A1)(A2)(A3) - , (scalar_< unspecified_ >) - (fusion_sequence_) - (iterator_< scalar_< unspecified_ > >) - (iterator_< scalar_< unspecified_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0& a0, A1 const& a1, A2 const& a2, A3 const&) const - { - //======================================================================== - // Check we don't copy more than expected - //======================================================================== - BOOST_ASSERT_MSG - ( nt2::numel(a1) == 1 - , "Source range is larger than destination container." - ); - boost::ignore_unused(a1); - - a0 = *a2; - } - }; - - //============================================================================ - // Assign a container from a pair of iterators - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( construct_, tag::cpu_ - , (A0)(A1)(A2)(A3) - , (unspecified_) - (fusion_sequence_) - (iterator_< scalar_< unspecified_ > >) - (iterator_< scalar_< unspecified_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0& a0, A1 const& a1, A2 const& a2, A3 const& a3) const - { - //======================================================================== - // Check we don't copy more than expected - //======================================================================== - std::size_t range_size = std::distance(a2,a3); - - BOOST_ASSERT_MSG - ( nt2::numel(a1) >= range_size - , "Source range is larger than destination container." - ); - boost::ignore_unused(a1); - boost::ignore_unused(range_size); - - a0.clear(); - a0.insert(a0.begin(), a2, a3); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/ctranspose.hpp b/inst/include/nt2/core/functions/scalar/ctranspose.hpp deleted file mode 100644 index 8a4cda8..0000000 --- a/inst/include/nt2/core/functions/scalar/ctranspose.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_CTRANSPOSE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_CTRANSPOSE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( ctranspose_, tag::cpu_, (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/deltac.hpp b/inst/include/nt2/core/functions/scalar/deltac.hpp deleted file mode 100644 index cec17fc..0000000 --- a/inst/include/nt2/core/functions/scalar/deltac.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_DELTAC_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_DELTAC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deltac_, tag::cpu_ - , (A0)(A1)(D1)(D2)(T) - , (scalar_ >) - (scalar_ >) - (scalar_ >) - (scalar_ >) - (target_ > > ) - ) - { - BOOST_DISPATCH_RETURNS_ARGS ( 5 - , ( A0 i, A1 j, D1 d1, D2 d2, T const& t) - , ( A0 i, A1 j, D1 d1, D2 d2, T const&) - , (nt2::deltac(i, j, nt2::as_size(d1,d2), T())) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( deltac_, tag::cpu_ - , (A0)(A1)(D1)(T) - , (scalar_ >) - (scalar_ >) - (scalar_ >) - (target_ > > ) - ) - { - BOOST_DISPATCH_RETURNS_ARGS ( 4 - , ( A0 i, A1 j, D1 d1, T const& t) - , ( A0 i, A1 j, D1 d1, T const&) - , (nt2::deltac(i, j, nt2::as_size(d1), T())) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( deltac_, tag::cpu_ - , (A0)(A1)(FS)(T) - , (scalar_ >) - (scalar_ >) - (fusion_sequence_) - (target_ > > ) - ) - { - typedef meta::constant_,typename T::type> constant_t; - typedef meta::as_ target_t; - - BOOST_DISPATCH_RETURNS_ARGS ( 4 - , ( A0 i, A1 j, FS const& sz, T const& t) - , ( A0 i, A1 j, FS const& sz, T const& ) - , ( boost::proto - ::make_expr< nt2::tag::deltac_ - , container::domain - > ( sz - , constant_t(i, j) - , target_t() - ) - ) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/deltaf.hpp b/inst/include/nt2/core/functions/scalar/deltaf.hpp deleted file mode 100644 index 6007d62..0000000 --- a/inst/include/nt2/core/functions/scalar/deltaf.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_DELTAF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_DELTAF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( deltaf_, tag::cpu_ - , (A0)(A1)(D1)(D2)(T) - , (scalar_ >) - (scalar_ >) - (scalar_ >) - (scalar_ >) - (target_ > > ) - ) - { - BOOST_DISPATCH_RETURNS_ARGS ( 5 - , ( A0 i, A1 j, D1 d1, D2 d2, T const& t) - , ( A0 i, A1 j, D1 d1, D2 d2, T const&) - , (nt2::deltaf(i, j, nt2::as_size(d1,d2), T())) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( deltaf_, tag::cpu_ - , (A0)(A1)(D1)(T) - , (scalar_ >) - (scalar_ >) - (scalar_ >) - (target_ > > ) - ) - { - BOOST_DISPATCH_RETURNS_ARGS ( 4 - , ( A0 i, A1 j, D1 d1, T const& t) - , ( A0 i, A1 j, D1 d1, T const&) - , (nt2::deltaf(i, j, nt2::as_size(d1), T())) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( deltaf_, tag::cpu_ - , (A0)(A1)(FS)(T) - , (scalar_ >) - (scalar_ >) - (fusion_sequence_) - (target_ > > ) - ) - { - typedef meta::constant_,typename T::type> constant_t; - typedef meta::as_ target_t; - - BOOST_DISPATCH_RETURNS_ARGS ( 4 - , ( A0 i, A1 j, FS const& sz, T const& t) - , ( A0 i, A1 j, FS const& sz, T const& ) - , ( boost::proto - ::make_expr< nt2::tag::deltaf_ - , container::domain - > ( sz - , constant_t(i, j) - , target_t() - ) - ) - ) - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/depth.hpp b/inst/include/nt2/core/functions/scalar/depth.hpp deleted file mode 100644 index 7d132aa..0000000 --- a/inst/include/nt2/core/functions/scalar/depth.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_DEPTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_DEPTH_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( depth_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return 1u; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/diag_of.hpp b/inst/include/nt2/core/functions/scalar/diag_of.hpp deleted file mode 100644 index 5db5eb4..0000000 --- a/inst/include/nt2/core/functions/scalar/diag_of.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_DIAG_OF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_DIAG_OF_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( diag_of_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; - - /// INTERNAL ONLY - /// TODO: Make lazier - BOOST_DISPATCH_IMPLEMENT ( offset_diag_of_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< integer_ >) - ) - { - typedef container::table result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - std::size_t n = (a1 == 0) ? 1u : 0u; - nt2::_1D sz(n); - - result_type r(sz); - if(n) r(1) = a0; - - return r; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/diff.hpp b/inst/include/nt2/core/functions/scalar/diff.hpp deleted file mode 100644 index a3ff2f7..0000000 --- a/inst/include/nt2/core/functions/scalar/diff.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_DIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_DIFF_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( diff_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename container::table > result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return result_type(); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( diff_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef typename container::table > result_type; - BOOST_FORCEINLINE result_type operator()( A0 const& - , A1 const& - ) const - { - return result_type(); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( diff_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ >) - (scalar_ >) - (scalar_ >) - ) - { - typedef typename container::table > result_type; - BOOST_FORCEINLINE result_type operator()( A0 const& - , A1 const& - , A2 const& - ) const - { - return result_type(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/expand.hpp b/inst/include/nt2/core/functions/scalar/expand.hpp deleted file mode 100644 index 74712ce..0000000 --- a/inst/include/nt2/core/functions/scalar/expand.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_EXPAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_EXPAND_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates linearize_ from expression + N size value - //============================================================================ - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< integer_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( expand_, tag::cpu_ \ - , BOOST_PP_REPEAT(BOOST_PP_INC(n),M2,~) \ - , ((ast_)) \ - BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , (BOOST_PP_ENUM_BINARY_PARAMS( BOOST_PP_INC(n) \ - , const A, & a \ - ) \ - ) \ - , (nt2::expand \ - ( a0 \ - , nt2::as_size( BOOST_PP_ENUM_SHIFTED_PARAMS \ - ( BOOST_PP_INC(n), a ) \ - ) \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - - #undef M2 - #undef M1 - #undef M0 -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/expand_to.hpp b/inst/include/nt2/core/functions/scalar/expand_to.hpp deleted file mode 100644 index 2cd2c8a..0000000 --- a/inst/include/nt2/core/functions/scalar/expand_to.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_EXPAND_TO_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_EXPAND_TO_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - #define M2(z,n,t) (A##n) - #define M1(z,n,t) (scalar_< integer_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( expand_to_, tag::cpu_ \ - , (A0) \ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),M2,~) \ - , ((ast_)) \ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , (BOOST_PP_ENUM_BINARY_PARAMS( BOOST_PP_INC(n) \ - , const A, & a \ - ) \ - ) \ - , (nt2::expand_to \ - ( a0 \ - , nt2::as_size( BOOST_PP_ENUM_SHIFTED_PARAMS \ - ( BOOST_PP_INC(n), a ) \ - ) \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - #undef M0 - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( expand_to_, tag::cpu_ \ - , (A0) \ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),M2,~) \ - , (scalar_ > ) \ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , (BOOST_PP_ENUM_BINARY_PARAMS( BOOST_PP_INC(n) \ - , const A, & a \ - ) \ - ) \ - , (nt2::repnum \ - ( a0 \ - , nt2::as_size( BOOST_PP_ENUM_SHIFTED_PARAMS \ - ( BOOST_PP_INC(n), a ) \ - ) \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - #undef M0 - - #undef M2 - #undef M1 - -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/extent.hpp b/inst/include/nt2/core/functions/scalar/extent.hpp deleted file mode 100644 index a61774e..0000000 --- a/inst/include/nt2/core/functions/scalar/extent.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_EXTENT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_EXTENT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( extent_, tag::cpu_ - , (A0), (unspecified_) - ) - { - typedef _0D result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return result_type(); } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/fill_pattern.hpp b/inst/include/nt2/core/functions/scalar/fill_pattern.hpp deleted file mode 100644 index 0af498a..0000000 --- a/inst/include/nt2/core/functions/scalar/fill_pattern.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_FILL_PATTERN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_FILL_PATTERN_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates fill_pattern_ from expression + N size value - //============================================================================ - #define M3(z,n,t) ,A##n - #define M2(z,n,t) (A##n) - #define M1(z,n,t) (scalar_< integer_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( fill_pattern_, tag::cpu_ \ - , (A0) \ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),M2,~) \ - , ((ast_)) \ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS ( BOOST_PP_INC(n) \ - , const A,& a \ - ) \ - ) \ - , (nt2::fill_pattern \ - ( a0, nt2::as_size \ - (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_INC(n),a)) \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - - #undef M3 - #undef M2 - #undef M1 - #undef M0 -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/firstnonsingleton.hpp b/inst/include/nt2/core/functions/scalar/firstnonsingleton.hpp deleted file mode 100644 index b8b274a..0000000 --- a/inst/include/nt2/core/functions/scalar/firstnonsingleton.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_FIRSTNONSINGLETON_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_FIRSTNONSINGLETON_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( firstnonsingleton_, tag::cpu_ - , (A0), (scalar_< unspecified_ >) - ) - { - typedef boost::mpl::size_t<1> result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const&) const { return result_type(); } - }; - - BOOST_DISPATCH_IMPLEMENT ( firstnonsingleton_, tag::cpu_ - , (A0) - , (fusion_sequence_) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0) const - { - for(std::size_t i = 0; i < a0.size(); ++i) - if(a0[i] != 1) return i+1; - - return 1; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/firstoflength.hpp b/inst/include/nt2/core/functions/scalar/firstoflength.hpp deleted file mode 100644 index 27fd544..0000000 --- a/inst/include/nt2/core/functions/scalar/firstoflength.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_FIRSTOFLENGTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_FIRSTOFLENGTH_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( firstoflength_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 n) const - { - return n == A1(1) ? 1u : 0u; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( firstoflength_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - (scalar_< integer_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 n) const - { - for(std::size_t i = 0; i < a0.size(); ++i) - if(a0[i] == size_t(n)) return i+1; - - return 0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/flipdim.hpp b/inst/include/nt2/core/functions/scalar/flipdim.hpp deleted file mode 100644 index 7fe5663..0000000 --- a/inst/include/nt2/core/functions/scalar/flipdim.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_FLIPDIM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_FLIPDIM_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( flipdim_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const& ) const - { - return a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( flipdim_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a ) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/fliplr.hpp b/inst/include/nt2/core/functions/scalar/fliplr.hpp deleted file mode 100644 index 1535518..0000000 --- a/inst/include/nt2/core/functions/scalar/fliplr.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_FLIPLR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_FLIPLR_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( fliplr_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/flipud.hpp b/inst/include/nt2/core/functions/scalar/flipud.hpp deleted file mode 100644 index 0db3f14..0000000 --- a/inst/include/nt2/core/functions/scalar/flipud.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_FLIPUD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_FLIPUD_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( flipud_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/freqspace.hpp b/inst/include/nt2/core/functions/scalar/freqspace.hpp deleted file mode 100644 index 71ec61f..0000000 --- a/inst/include/nt2/core/functions/scalar/freqspace.hpp +++ /dev/null @@ -1,115 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_FREQSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_FREQSPACE_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( freqspace_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::freqspace_ - , container::domain - , _2D - , meta::as_ - , A0 - >::type result_type; - - BOOST_FORCEINLINE result_type operator ()(A0 a0) const - { - return boost::proto - ::make_expr < nt2::tag::freqspace_ - , container::domain - > ( _2D(1,1+a0/2) - , meta::as_() - , a0 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( freqspace_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (target_< scalar_ > >) - ) - { - typedef typename A1::type r_t; - - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::freqspace_ - , container::domain - , _2D, A1, A0 - >::type result_type; - - BOOST_FORCEINLINE result_type - operator ()(A0 a0,const A1& a1) const - { - return boost::proto - ::make_expr < nt2::tag::freqspace_ - , container::domain - > ( _2D(1,1+a0/2), a1, a0 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( freqspace_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (unspecified_) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::freqspace_ - , container::domain - , _2D - , meta::as_ - , A0, A1 - >::type result_type; - - BOOST_FORCEINLINE result_type operator ()(A0 a0, const A1& a1) const - { - return boost::proto - ::make_expr < nt2::tag::freqspace_ - , container::domain - > ( _2D(1,a0) - , meta::as_() - , a0, a1 - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( freqspace_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< integer_ >) - (unspecified_) - (target_< scalar_ > >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::freqspace_ - , container::domain - , _2D, A2, A0, A1 - >::type result_type; - - BOOST_FORCEINLINE result_type - operator ()(A0 a0, const A1& a1, const A2& a2) const - { - return boost::proto - ::make_expr < nt2::tag::freqspace_ - , container::domain - > ( _2D(1,a0), a2, a0, a1 ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/from_diag.hpp b/inst/include/nt2/core/functions/scalar/from_diag.hpp deleted file mode 100644 index 40b3bfa..0000000 --- a/inst/include/nt2/core/functions/scalar/from_diag.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_FROM_DIAG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_FROM_DIAG_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // from_diag build a diagonal matrix from a scalar - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( from_diag_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const { return a0; } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/function.hpp b/inst/include/nt2/core/functions/scalar/function.hpp deleted file mode 100644 index 5fe4d8c..0000000 --- a/inst/include/nt2/core/functions/scalar/function.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_FUNCTION_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_FUNCTION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ -#define M0(z,n,t) (I##n) -#define M1(z,n,t) (scalar_< integer_ >) -#define M3(z,n,t) (unspecified_) -#define M4(z,n,t) (i##n - boost::mpl::at_c::type::value) - -#define M2(z,n,t) \ -BOOST_DISPATCH_IMPLEMENT ( function_, tag::cpu_ \ - , (A0)BOOST_PP_REPEAT(n,M0,~) \ - , ((ast_)) \ - BOOST_PP_REPEAT(n,M1,~) \ - ) \ -{ \ - typedef meta::as_elementwise sched; \ - typedef typename sched::type scheduled; \ - \ - typedef typename meta:: \ - scalar_of< typename boost::dispatch::meta:: \ - semantic_of::type \ - >::type result_type; \ - typedef typename A0::index_type::index_type idx_t; \ - \ - BOOST_FORCEINLINE result_type \ - operator()(A0& a0, BOOST_PP_ENUM_BINARY_PARAMS(n,I,i) ) const \ - { \ - scheduled s = sched::call(a0); \ - return nt2::run( s \ - , nt2::as_index( s.extent() \ - , boost::fusion:: \ - make_vector(BOOST_PP_ENUM(n,M4,~)) \ - ) \ - , meta::as_() \ - ); \ - } \ -}; \ -BOOST_DISPATCH_IMPLEMENT ( function_, tag::cpu_ \ - , (A0)BOOST_PP_REPEAT(n,M0,~) \ - , (scalar_ >) \ - BOOST_PP_REPEAT(n,M3,~) \ - ) \ -{ \ - typedef A0& result_type; \ - \ - BOOST_FORCEINLINE result_type \ - operator()( A0& a0 \ - , BOOST_PP_ENUM_BINARY_PARAMS(n,I,BOOST_PP_INTERCEPT) ) const \ - { \ - return a0; \ - } \ -}; \ -/**/ - -BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M2,~) - -#undef M0 -#undef M1 -#undef M2 -#undef M3 -#undef M4 -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/globalnorm.hpp b/inst/include/nt2/core/functions/scalar/globalnorm.hpp deleted file mode 100644 index cad28d1..0000000 --- a/inst/include/nt2/core/functions/scalar/globalnorm.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_GLOBALNORM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_GLOBALNORM_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( globalnorm_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return nt2::abs(a); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( globalnorm_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (unspecified_ ) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return nt2::abs(a); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/globalnormp.hpp b/inst/include/nt2/core/functions/scalar/globalnormp.hpp deleted file mode 100644 index c9095ad..0000000 --- a/inst/include/nt2/core/functions/scalar/globalnormp.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_GLOBALNORMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_GLOBALNORMP_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( globalnormp_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (unspecified_) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return nt2::abs(a); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/height.hpp b/inst/include/nt2/core/functions/scalar/height.hpp deleted file mode 100644 index 5a5ec2d..0000000 --- a/inst/include/nt2/core/functions/scalar/height.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_HEIGHT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_HEIGHT_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( height_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return 1u; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/homot.hpp b/inst/include/nt2/core/functions/scalar/homot.hpp deleted file mode 100644 index f6a7545..0000000 --- a/inst/include/nt2/core/functions/scalar/homot.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_HOMOT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_HOMOT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( homot_, tag::cpu_ - , (A0)(Seq) - , (scalar_ >) - (fusion_sequence_) - ) - { - typedef typename boost::remove_const::type size_type; - typedef meta::constant_ constant_t; - typedef meta::as_ target_t; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::homot_ - , container::domain - , size_type - , constant_t - , target_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Seq const& s) const - { - return boost::proto - ::make_expr < nt2::tag::homot_ - , container::domain - > ( s, constant_t(a0), target_t() ); - } - }; - - //============================================================================ - // Generates homot from scalar + N size value - //============================================================================ - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< integer_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( homot_, tag::cpu_ \ - , BOOST_PP_REPEAT(BOOST_PP_INC(n),M2,~) \ - , (scalar_ > ) \ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS ( BOOST_PP_INC(n) \ - , const A,& a \ - ) \ - ) \ - , (nt2::homot \ - ( a0, nt2::as_size \ - (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_INC(n),a)) \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - - #undef M2 - #undef M1 - #undef M0 -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/ind2sub.hpp b/inst/include/nt2/core/functions/scalar/ind2sub.hpp deleted file mode 100644 index 79c9eb2..0000000 --- a/inst/include/nt2/core/functions/scalar/ind2sub.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_IND2SUB_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_IND2SUB_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - ind2sub(size,IND) - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 a0, A1 a1) - , nt2::ind2sub(a0,a1,1) - ); - }; - - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 a1) - , nt2::ind2sub(a0,a1,1) - ); - }; - - /// INTERNAL ONLY - ind2sub(size,IND,base) - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ >) - (scalar_ >) - (scalar_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::ind2sub_ - , container::domain - , _2D - , A1 - , A2 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1, A2 a2) const - { - return boost::proto::make_expr< nt2::tag::ind2sub_ - , container::domain - > ( as_size(a0,1), a1, a2 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( ind2sub_, tag::cpu_ - , (A0)(A1)(A2) - , (fusion_sequence_) - (scalar_ >) - (scalar_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::ind2sub_ - , container::domain - , typename boost::remove_const::type - , A1 - , A2 - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1, A2 a2) const - { - return boost::proto::make_expr< nt2::tag::ind2sub_ - , container::domain - > ( a0, a1, a2 ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/indices.hpp b/inst/include/nt2/core/functions/scalar/indices.hpp deleted file mode 100644 index 27610e1..0000000 --- a/inst/include/nt2/core/functions/scalar/indices.hpp +++ /dev/null @@ -1,180 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_INDICES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_INDICES_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - /// Along only returns a scalar - BOOST_DISPATCH_IMPLEMENT ( indices_, tag::cpu_ - , (A0) - , ((array_< scalar_< integer_ > - , boost::mpl::size_t<2> - > - )) - ) - { - typedef double result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& s) const - { - return static_cast(s[1]); - } - }; - - /// INTERNAL ONLY - /// Along only returns a scalar wityh a given target type - BOOST_DISPATCH_IMPLEMENT ( indices_, tag::cpu_ - , (A0)(T) - , ((array_< scalar_< integer_ > - , boost::mpl::size_t<2> - > - )) - (target_< unspecified_ >) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& s, T const&) const - { - return static_cast(s[1]); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( indices_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - ((array_< scalar_< integer_ > - , boost::mpl::size_t<2> - > - )) - ) - { - typedef typename boost::remove_const::type size_type; - typedef meta::constant_ constant_t; - typedef meta::as_ target_t; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::indices_ - , container::domain - , size_type - , constant_t - , target_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& s) const - { - return boost::proto - ::make_expr < nt2::tag::indices_ - , container::domain - > ( a0 - , constant_t(s[0],s[1]) - , target_t() - ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( indices_, tag::cpu_ - , (A0)(A1)(T) - , (fusion_sequence_) - ((array_< scalar_< integer_ > - , boost::mpl::size_t<2> - > - )) - (target_< scalar_< unspecified_ > >) - ) - { - typedef typename boost::remove_const::type size_type; - typedef meta::constant_ constant_t; - typedef meta::as_ target_t; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::indices_ - , container::domain - , size_type - , constant_t - , target_t - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& s, T const&) const - { - return boost::proto - ::make_expr < nt2::tag::indices_ - , container::domain - > ( a0 - , constant_t(s[0],s[1]) - , target_t() - ); - } - }; - - - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< arithmetic_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( indices_, tag::cpu_ \ - , BOOST_PP_REPEAT(n,M2,~)(X) \ - , BOOST_PP_REPEAT(n,M1,~) \ - ((array_< scalar_< integer_ > \ - , boost::mpl::size_t<2> \ - > \ - )) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - , X const& x \ - ) \ - , (nt2::indices \ - ( nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a)) \ - , x \ - ) \ - ) \ - ) \ - }; \ - \ - BOOST_DISPATCH_IMPLEMENT ( indices_, tag::cpu_ \ - , BOOST_PP_REPEAT(n,M2,~)(X)(T) \ - , BOOST_PP_REPEAT(n,M1,~) \ - ((array_< scalar_< integer_ > \ - , boost::mpl::size_t<2> \ - > \ - )) \ - (target_< scalar_< unspecified_ > >) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_ADD(n,2) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - , X const& x, T const& tgt \ - ) \ - , (nt2::indices \ - ( nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a)) \ - , x, tgt \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - - #undef M0 - #undef M1 - #undef M2 -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/inner_fold.hpp b/inst/include/nt2/core/functions/scalar/inner_fold.hpp deleted file mode 100644 index 4358222..0000000 --- a/inst/include/nt2/core/functions/scalar/inner_fold.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_INNER_FOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_INNER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - - //============================================================================ - // General inner_fold - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( inner_fold_, tag::cpu_ - , (Out)(In)(Neutral)(Bop)(Uop) - , ((ast_< Out, nt2::container::domain>)) - ((ast_< In, nt2::container::domain>)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename In::extent_type extent_type; - typedef typename Out::value_type value_type; - - BOOST_FORCEINLINE result_type - operator()(Out& out, In& in, Neutral const& neutral, Bop const& bop, Uop const&) const - { - extent_type ext = in.extent(); - std::size_t obound = nt2::numel(boost::fusion::pop_front(ext)); - std::size_t ibound = boost::fusion::at_c<0>(ext); - - for(std::size_t j = 0, k = 0; j < obound; ++j, k+=ibound) - { - value_type s_out = details::fold_step( - neutral(nt2::meta::as_()), in, bop, k, ibound, 1 - ); - - nt2::run(out, j, s_out); - } - } - }; - - } } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/inner_scan.hpp b/inst/include/nt2/core/functions/scalar/inner_scan.hpp deleted file mode 100644 index 72f9f7c..0000000 --- a/inst/include/nt2/core/functions/scalar/inner_scan.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_INNER_SCAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_INNER_SCAN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - - //============================================================================ - // General inner_scan - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( inner_scan_, tag::cpu_ - , (Out)(In)(Neutral)(Bop)(Uop) - , ((ast_< Out, nt2::container::domain>)) - ((ast_< In, nt2::container::domain>)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename Out::value_type value_type; - typedef typename In::extent_type extent_type; - - BOOST_FORCEINLINE result_type - operator()(Out& out, In& in, Neutral const& neutral, Bop const& bop, Uop const&) const - { - extent_type ext = in.extent(); - std::size_t obound = nt2::numel(boost::fusion::pop_front(ext)); - std::size_t ibound = boost::fusion::at_c<0>(ext); - - for(std::size_t j = 0, k = 0; j < obound; ++j, k+=ibound) - { - value_type res = details::scan_step( - neutral(nt2::meta::as_()) - ,out, in - ,bop - ,k, ibound, 1 - ,false - ); - boost::ignore_unused(res); - } - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/ismember.hpp b/inst/include/nt2/core/functions/scalar/ismember.hpp deleted file mode 100644 index dc0abee..0000000 --- a/inst/include/nt2/core/functions/scalar/ismember.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_ISMEMBER_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_ISMEMBER_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( ismember_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return a0 == a1; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/length.hpp b/inst/include/nt2/core/functions/scalar/length.hpp deleted file mode 100644 index 1a0423b..0000000 --- a/inst/include/nt2/core/functions/scalar/length.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_LENGTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_LENGTH_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( length_, tag::cpu_ - , (A0), (scalar_< unspecified_ >) - ) - { - typedef boost::mpl::size_t<1> result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return result_type(); } - }; - - BOOST_DISPATCH_IMPLEMENT ( length_, tag::cpu_ - , (A0) - , (fusion_sequence_) - ) - { - // See if the numel is somehow statically 0 - typedef typename boost::dispatch::meta::call::type numel_t; - typedef typename mpl_value::type empty_t; - - typedef typename boost::dispatch::make_functor::type func_t; - typedef typename boost::fusion::result_of::front::type first; - typedef boost::fusion::result_of::fold fusion_t; - - typedef typename boost::mpl::eval_if_c < empty_t::value == 0 - , boost::mpl::size_t<0U> - , fusion_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return eval( a0, boost::mpl::int_() ); - } - - BOOST_FORCEINLINE result_type eval(const A0&, boost::mpl::int_<0> const&) const - { - return result_type(); - } - - template - BOOST_FORCEINLINE result_type eval(const A0& a0, boost::mpl::int_ const&) const - { - return boost::fusion::fold( a0 - , boost::fusion::front(a0) - , func_t() - ); - } - - BOOST_FORCEINLINE result_type eval(const A0& a0, boost::mpl::int_<-1> const&) const - { - return numel(a0) ? eval(a0,boost::mpl::int_<1>()) : 0u; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/line.hpp b/inst/include/nt2/core/functions/scalar/line.hpp deleted file mode 100644 index 8a4e93c..0000000 --- a/inst/include/nt2/core/functions/scalar/line.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_LINE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_LINE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( line_, tag::cpu_ - , (A0)(A1) - , (scalar_ > ) - (scalar_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( line_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ > ) - (scalar_ > ) - (scalar_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1, A2) const - { - return a0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/linesstride.hpp b/inst/include/nt2/core/functions/scalar/linesstride.hpp deleted file mode 100644 index ad4f003..0000000 --- a/inst/include/nt2/core/functions/scalar/linesstride.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_LINESSTRIDE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_LINESSTRIDE_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( linesstride_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&,const A1&) const - { - return 1; - } - }; -} } - -#endif - diff --git a/inst/include/nt2/core/functions/scalar/linspace.hpp b/inst/include/nt2/core/functions/scalar/linspace.hpp deleted file mode 100644 index 51b2476..0000000 --- a/inst/include/nt2/core/functions/scalar/linspace.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_LINSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_LINSPACE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( linspace_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef meta::constant_ constant_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::linspace_ - , container::domain - , of_size_<1,100> - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& l, A0 const& u) const - { - return boost::proto:: - make_expr < nt2::tag::linspace_ - , container::domain - > ( of_size_<1,100>() - , constant_t(l,u,100) - , meta::as_() - ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( linspace_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef meta::constant_ constant_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::linspace_ - , container::domain - , _2D - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& l, A0 const& u, A1 const& n) const - { - return boost::proto:: - make_expr < nt2::tag::linspace_ - , container::domain - > ( of_size(1,n) - , constant_t( (n<2 ? u : l), u, (n<2 ? 2 : n) ) - , meta::as_() - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/logspace.hpp b/inst/include/nt2/core/functions/scalar/logspace.hpp deleted file mode 100644 index cf15c99..0000000 --- a/inst/include/nt2/core/functions/scalar/logspace.hpp +++ /dev/null @@ -1,146 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_LOGSPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_LOGSPACE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( logspace_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef meta::constant_ constant_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::logspace_ - , container::domain - , of_size_<1,50> - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& l, A0 const & uu) const - { - // This is matlab! - A0 u = (uu == nt2::Pi()) ? nt2::Log10_pi() : uu; - return boost::proto:: - make_expr < nt2::tag::logspace_ - , container::domain - > ( of_size_<1,50>() - , constant_t(l,u,50) - , meta::as_() - ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( logspace_, tag::cpu_ - , (A0)(A2) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (target_ < unspecified_ < A2> >) - ) - { - typedef meta::constant_ constant_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::logspace_ - , container::domain - , of_size_<1,50> - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& l, A0 const & u, A2 const &) const - { - return boost::proto:: - make_expr < nt2::tag::logspace_ - , container::domain - > ( of_size_<1,50>() - , constant_t(l,u,50) - , meta::as_() - ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( logspace_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef meta::constant_ constant_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::logspace_ - , container::domain - , _2D - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& l, A0 const& uu, A1 const& n) const - { - //This is matlab! - A0 u = (uu == nt2::Pi()) ? nt2::Log10_pi() : uu; - - return boost::proto:: - make_expr < nt2::tag::logspace_ - , container::domain - > ( of_size(1,n) - , constant_t ( (n<2 ? u : l), u, (n<2 ? 2 : n) ) - , meta::as_() - ); - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( logspace_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (scalar_< integer_ >) - (target_ < unspecified_ < A2> >) - ) - { - typedef meta::constant_ constant_t; - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::logspace_ - , container::domain - , _2D - , constant_t - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& l, A0 const & u, A1 const &n, A2 const &) const - { - return boost::proto:: - make_expr < nt2::tag::logspace_ - , container::domain - > ( of_size(1,n) - , constant_t(l,u,n) - , meta::as_() - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/mean.hpp b/inst/include/nt2/core/functions/scalar/mean.hpp deleted file mode 100644 index d2e2373..0000000 --- a/inst/include/nt2/core/functions/scalar/mean.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_MEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_MEAN_HPP_INCLUDED - -#include -#include -#include - -//TODO include complex cases -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mean_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mean_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ > ) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/meanad.hpp b/inst/include/nt2/core/functions/scalar/meanad.hpp deleted file mode 100644 index 16ef979..0000000 --- a/inst/include/nt2/core/functions/scalar/meanad.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_MEANAD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_MEANAD_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( meanad_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( meanad_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const &) const - { - return Zero(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/median.hpp b/inst/include/nt2/core/functions/scalar/median.hpp deleted file mode 100644 index c9a8642..0000000 --- a/inst/include/nt2/core/functions/scalar/median.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_MEDIAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_MEDIAN_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( median_, tag::cpu_, (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( median_, tag::cpu_, (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/medianad.hpp b/inst/include/nt2/core/functions/scalar/medianad.hpp deleted file mode 100644 index b214559..0000000 --- a/inst/include/nt2/core/functions/scalar/medianad.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_MEDIANAD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_MEDIANAD_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( medianad_, tag::cpu_, (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( medianad_, tag::cpu_, (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const &) const - { - return Zero(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/nanasum2.hpp b/inst/include/nt2/core/functions/scalar/nanasum2.hpp deleted file mode 100644 index 1a339da..0000000 --- a/inst/include/nt2/core/functions/scalar/nanasum2.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_NANASUM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_NANASUM2_HPP_INCLUDED - -#include -#include -#include -#include - -//TODO include complex cases -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nanasum2_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return nt2::if_zero_else(nt2::is_nan(a), nt2::sqr_abs(a)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nanasum2_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ > ) - (scalar_< integer_ > ) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return nt2::if_zero_else(nt2::is_nan(a), nt2::sqr_abs(a)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/nanmean.hpp b/inst/include/nt2/core/functions/scalar/nanmean.hpp deleted file mode 100644 index 97363ab..0000000 --- a/inst/include/nt2/core/functions/scalar/nanmean.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_NANMEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_NANMEAN_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nanmean_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nanmean_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ > ) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/nansum.hpp b/inst/include/nt2/core/functions/scalar/nansum.hpp deleted file mode 100644 index 7b5d318..0000000 --- a/inst/include/nt2/core/functions/scalar/nansum.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_NANSUM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_NANSUM_HPP_INCLUDED - -#include -#include -#include - -//TODO include complex cases -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nansum_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return nt2::if_zero_else(nt2::is_nan(a), a); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nansum_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ > ) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return nt2::if_zero_else(nt2::is_nan(a), a); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/nblines.hpp b/inst/include/nt2/core/functions/scalar/nblines.hpp deleted file mode 100644 index 0f788e5..0000000 --- a/inst/include/nt2/core/functions/scalar/nblines.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_NBLINES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_NBLINES_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( nblines_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&,const A1&) const - { - return 1; - } - }; -} } - -#endif - diff --git a/inst/include/nt2/core/functions/scalar/ndims.hpp b/inst/include/nt2/core/functions/scalar/ndims.hpp deleted file mode 100644 index 3fb7454..0000000 --- a/inst/include/nt2/core/functions/scalar/ndims.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_NDIMS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_NDIMS_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ndims_, tag::cpu_ - , (A0), (scalar_< unspecified_ >) - ) - { - typedef boost::mpl::size_t<2> result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return result_type(); } - }; - - BOOST_DISPATCH_IMPLEMENT ( ndims_, tag::cpu_ - , (A0), (fusion_sequence_) - ) - { - typedef std::size_t result_type; - - static bool local_match(std::size_t i) { return i != 1; } - - result_type operator()(A0& sz) const - { - // find the first non-1 from the end - typename A0::const_reverse_iterator - b = sz.rbegin(), e = sz.rend(),c; - c = std::find_if(b,e,local_match); - - return std::distance(c,e); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/norm2.hpp b/inst/include/nt2/core/functions/scalar/norm2.hpp deleted file mode 100644 index 5326ae4..0000000 --- a/inst/include/nt2/core/functions/scalar/norm2.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_NORM2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_NORM2_HPP_INCLUDED - -#include -#include - -//TODO include complex cases -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( norm2_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return nt2::abs(a); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( norm2_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const&) const - { - return nt2::abs(a); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/normp.hpp b/inst/include/nt2/core/functions/scalar/normp.hpp deleted file mode 100644 index cf139d5..0000000 --- a/inst/include/nt2/core/functions/scalar/normp.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_NORMP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_NORMP_HPP_INCLUDED - -#include -#include - - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( normp_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< arithmetic_ > ) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const& ) const - { - return nt2::abs(a); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( normp_, tag::cpu_, (A0)(A1)(A2) - , (scalar_< unspecified_ >) - (scalar_< arithmetic_ > ) - (scalar_< integer_ > ) - ) - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const& , A2 const& ) const - { - return nt2::abs(a); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/numel.hpp b/inst/include/nt2/core/functions/scalar/numel.hpp deleted file mode 100644 index dc991fc..0000000 --- a/inst/include/nt2/core/functions/scalar/numel.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_NUMEL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_NUMEL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( numel_, tag::cpu_ - , (A0), (scalar_< unspecified_ >) - ) - { - typedef boost::mpl::size_t<1> result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return result_type(); } - }; - - BOOST_DISPATCH_IMPLEMENT ( numel_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (mpl_integral_< scalar_< unspecified_ > >) - ) - { - typedef boost::mpl::size_t<1> result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&, const A1&) const { return result_type(); } - }; - - BOOST_DISPATCH_IMPLEMENT ( numel_, tag::cpu_ - , (A0) - , (fusion_sequence_) - ) - { - // multiplies functor - typedef typename boost::dispatch:: - make_functor::type func_t; - using seq_t = typename boost::dispatch::meta::strip::type; - using result_type = decltype(boost::fusion::fold( std::declval() - , boost::mpl::integral_c() - , func_t() - )); - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0) const - { - return boost::fusion::fold( a0 - , boost::mpl::integral_c() - , func_t() - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( numel_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - (mpl_integral_< scalar_< unspecified_ > >) - ) - { - typedef typename boost::dispatch:: - make_functor::type func_t; - - typedef typename boost::fusion::result_of::begin::type begin_t; - typedef typename boost::fusion::result_of::end::type end_t; - typedef typename boost::fusion::result_of:: - advance::type new_begin_t; - typedef boost::fusion::iterator_range it_t; - - typedef typename boost::fusion::result_of:: - value_at >::type first_t; - - typedef typename boost::fusion::result_of - ::fold< it_t const - , boost::mpl::integral_c const - , func_t - >::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a0, const A1&) const - { - return boost::fusion::fold( it_t(new_begin_t(a0), end_t(a0)) - , boost::mpl::integral_c() - , func_t() - ); - } - }; -} } - -#endif - diff --git a/inst/include/nt2/core/functions/scalar/outer_fold.hpp b/inst/include/nt2/core/functions/scalar/outer_fold.hpp deleted file mode 100644 index f27d92f..0000000 --- a/inst/include/nt2/core/functions/scalar/outer_fold.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_OUTER_FOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_OUTER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Global outer_fold - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( outer_fold_, tag::cpu_ - , (Out)(In)(Neutral)(Bop)(Uop) - , ((ast_< Out, nt2::container::domain>)) - ((ast_< In, nt2::container::domain>)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename Out::value_type value_type; - typedef typename In::extent_type extent_type; - - BOOST_FORCEINLINE result_type - operator()(Out& out, In& in, Neutral const& neutral, Bop const& bop, Uop const&) const - { - extent_type ext = in.extent(); - std::size_t obound = boost::fusion::at_c<2>(ext); - std::size_t ibound = boost::fusion::at_c<0>(ext); - std::size_t mbound = boost::fusion::at_c<1>(ext); - std::size_t iboundxmbound = ibound * mbound; - - for(std::size_t o = 0, oout_ = 0, oin_ = 0; - o < obound; - ++o, oout_+=ibound, oin_+= iboundxmbound) - { - details::outer_fold_step - (out, in, neutral, bop, 0, ibound, oout_, oin_); - } - } - }; - -}} - -#endif diff --git a/inst/include/nt2/core/functions/scalar/outer_scan.hpp b/inst/include/nt2/core/functions/scalar/outer_scan.hpp deleted file mode 100644 index f9e9068..0000000 --- a/inst/include/nt2/core/functions/scalar/outer_scan.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_OUTER_SCAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_OUTER_SCAN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // General outer_scan - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( outer_scan_, tag::cpu_ - , (Out)(In)(Neutral)(Bop)(Uop) - , ((ast_< Out, nt2::container::domain>)) - ((ast_< In, nt2::container::domain>)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename Out::value_type value_type; - typedef typename In::extent_type extent_type; - - BOOST_FORCEINLINE result_type - operator()(Out& out, In& in, Neutral const& neutral, Bop const& bop, Uop const&) const - { - extent_type ext = in.extent(); - std::size_t obound = boost::fusion::at_c<2>(ext); - std::size_t ibound = boost::fusion::at_c<0>(ext); - std::size_t mbound = boost::fusion::at_c<1>(ext); - std::size_t iboundxmbound = ibound * mbound; - - for(std::size_t o = 0, o_ = 0; - o < obound; - ++o, o_+=iboundxmbound) - { - for(std::size_t i = 0, i_ = o_; i < ibound; ++i, ++i_) - { - value_type summary = neutral(nt2::meta::as_()); - summary = details::scan_step(summary, out, in, bop, i_, mbound, ibound, false); - } - } - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/pispace.hpp b/inst/include/nt2/core/functions/scalar/pispace.hpp deleted file mode 100644 index 1357588..0000000 --- a/inst/include/nt2/core/functions/scalar/pispace.hpp +++ /dev/null @@ -1,118 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_PISPACE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_PISPACE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -//============================================================================== -// pispace actual functor forward declaration -//============================================================================== -namespace nt2 { namespace details { template struct pispace; } } - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates pispace from a pair of [low,up] - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( pispace_, tag::cpu_ - , (A0) - , (scalar_< floating_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::pispace_ - , container::domain - , of_size_<1,50> - , nt2::details::pispace - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& l) const - { - return boost::proto:: - make_expr < nt2::tag::pispace_ - , container::domain - > ( of_size_<1,50>() - , nt2::details::pispace(l,50) - , meta::as_() - ); - } - }; - - //============================================================================ - // Generates pispace from a pair of [low,up] and a number of elements - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( pispace_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >) - (scalar_< integer_ >) - ) - { - typedef typename boost::proto:: - result_of::make_expr< nt2::tag::pispace_ - , container::domain - , _2D - , nt2::details::pispace - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& l, A1 const& n) const - { - return boost::proto:: - make_expr < nt2::tag::pispace_ - , container::domain - > ( of_size(1,n) - , nt2::details::pispace ( l - , (n<2 ? 2 : n) - ) - , meta::as_() - ); - } - }; -} } - -namespace nt2 { namespace details -{ - //============================================================================ - // pispace actual functor : precompute step and just iterate over - //============================================================================ - template struct pispace - { - pispace() {} - pispace( T const& l, std::size_t n ) - : lower_(l), step_((Log10_pi()-l)/(n-1)) {} - - template - typename Target::type - operator()(Pos const& p, Size const&, Target const&) const - { - typedef typename Target::type type; - - return nt2::exp10(nt2::fma ( nt2::enumerate(p) - , nt2::splat(step_) - , nt2::splat(lower_) - )); - } - - T lower_, step_; - }; -} } - -#endif - diff --git a/inst/include/nt2/core/functions/scalar/putalong.hpp b/inst/include/nt2/core/functions/scalar/putalong.hpp deleted file mode 100644 index 7d147f7..0000000 --- a/inst/include/nt2/core/functions/scalar/putalong.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_PUTALONG_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_PUTALONG_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( putalong_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return a0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/rand.hpp b/inst/include/nt2/core/functions/scalar/rand.hpp deleted file mode 100644 index b3be11c..0000000 --- a/inst/include/nt2/core/functions/scalar/rand.hpp +++ /dev/null @@ -1,125 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_RAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_RAND_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - /// target - BOOST_DISPATCH_IMPLEMENT ( rand_, tag::cpu_ - , (T) - , (target_< scalar_< floating_ > >) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE result_type operator()(T const&) const - { - result_type that; - current_prng_.generator_->rand(&that,0,1); - return that; - } - }; - - /// INTERNAL ONLY - /// of_size + target - BOOST_DISPATCH_IMPLEMENT ( rand_, tag::cpu_ - , (T)(A0) - , (fusion_sequence_) - (target_< scalar_< floating_ > >) - ) - { - typedef typename boost::remove_const::type size_type; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::rand_, container::domain - , size_type - , T - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& tgt) const - { - return boost::proto - ::make_expr( a0, tgt ); - } - }; - - /// INTERNAL ONLY - /// of_size - BOOST_DISPATCH_IMPLEMENT ( rand_, tag::cpu_ - , (A0) - , (fusion_sequence_) - ) - { - typedef typename boost::remove_const::type size_type; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::rand_, container::domain - , size_type - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::proto - ::make_expr < nt2::tag::rand_ - , container::domain - >( a0, meta::as_() ); - } - }; - - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< arithmetic_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( rand_, tag::cpu_ \ - , BOOST_PP_REPEAT(n,M2,~) \ - , BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( n \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) ) \ - , nt2::rand(nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a))) \ - ) \ - }; \ - \ - BOOST_DISPATCH_IMPLEMENT ( rand_, tag::cpu_ \ - , BOOST_PP_REPEAT(n,M2,~)(T) \ - , BOOST_PP_REPEAT(n,M1,~) \ - (target_< scalar_< floating_ > >) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - , T const& tgt \ - ) \ - , (nt2::rand( nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a)) \ - , tgt \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - - #undef M0 - #undef M1 - #undef M2 - -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/randi.hpp b/inst/include/nt2/core/functions/scalar/randi.hpp deleted file mode 100644 index d8fef10..0000000 --- a/inst/include/nt2/core/functions/scalar/randi.hpp +++ /dev/null @@ -1,155 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_RANDI_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_RANDI_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 { namespace ext -{ - // randi(imax) - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ - , (A0) - , (scalar_< integer_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0) const - { - result_type that; - current_prng_.generator_->randi(&that,0,1,A0(1),a0); - return that; - } - }; - - // randi([imin imax]) - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ - , (S) - , (fusion_sequence_) - ) - { - typedef typename boost::fusion::result_of::value_at_c::type result_type; - - BOOST_FORCEINLINE result_type operator()(S const& minmax) const - { - result_type that; - current_prng_.generator_->randi ( &that , 0, 1 - , boost::fusion::at_c<0>(minmax) - , boost::fusion::at_c<1>(minmax) - ); - return that; - } - }; - - // randi(imax, of_size) - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ - , (A0)(S) - , (scalar_< integer_ >) - (fusion_sequence_) - ) - { - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::randi_, container::domain - , A0 - , A0 - , typename boost::remove_const::type - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 a0, S const& size) const - { - return boost::proto - ::make_expr(A0(1),a0,size); - } - }; - - // randi([imin imax], of_size) - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ - , (A0)(S) - , (fusion_sequence_) - (fusion_sequence_) - ) - { - typedef typename boost::fusion::result_of::value_at_c::type v_t; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::randi_, container::domain - , v_t - , v_t - , typename boost::remove_const::type - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, S const& size) const - { - return boost::proto - ::make_expr < nt2::tag::randi_ - , container::domain - > ( boost::fusion::at_c<0>(a0) - , boost::fusion::at_c<1>(a0) - , size - ); - } - }; - - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< arithmetic_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ \ - , (T)BOOST_PP_REPEAT(n,M2,~) \ - , (scalar_< integer_ >) \ - BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( T imax \ - , BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - ) \ - , (nt2::randi( imax \ - , nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a))\ - ) \ - ) \ - ) \ - }; \ - BOOST_DISPATCH_IMPLEMENT ( randi_, tag::cpu_ \ - , (S)BOOST_PP_REPEAT(n,M2,~) \ - , (fusion_sequence_) \ - BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( S const& rg \ - , BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - ) \ - , (nt2::randi( rg \ - , nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a))\ - ) \ - ) \ - ) \ - }; \ - /**/ - - - // randi(imax, ... ) + randi([imin imax], ...) - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - - #undef M0 - #undef M1 - #undef M2 - -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/randn.hpp b/inst/include/nt2/core/functions/scalar/randn.hpp deleted file mode 100644 index 75d295a..0000000 --- a/inst/include/nt2/core/functions/scalar/randn.hpp +++ /dev/null @@ -1,125 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_RANDN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_RANDN_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - /// target - BOOST_DISPATCH_IMPLEMENT ( randn_, tag::cpu_ - , (T) - , (target_< scalar_< floating_ > >) - ) - { - typedef typename T::type result_type; - - BOOST_FORCEINLINE result_type operator()(T const&) const - { - result_type that; - current_prng_.generator_->randn(&that,0,1); - return that; - } - }; - - /// INTERNAL ONLY - /// of_size + target - BOOST_DISPATCH_IMPLEMENT ( randn_, tag::cpu_ - , (T)(A0) - , (fusion_sequence_) - (target_< scalar_< floating_ > >) - ) - { - typedef typename boost::remove_const::type size_type; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::randn_, container::domain - , size_type - , T - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& tgt) const - { - return boost::proto - ::make_expr( a0, tgt ); - } - }; - - /// INTERNAL ONLY - /// of_size - BOOST_DISPATCH_IMPLEMENT ( randn_, tag::cpu_ - , (A0) - , (fusion_sequence_) - ) - { - typedef typename boost::remove_const::type size_type; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::randn_, container::domain - , size_type - , meta::as_ - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return boost::proto - ::make_expr < nt2::tag::randn_ - , container::domain - >( a0, meta::as_() ); - } - }; - - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< arithmetic_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( randn_, tag::cpu_ \ - , BOOST_PP_REPEAT(n,M2,~) \ - , BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( n \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) ) \ - , nt2::randn(nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a))) \ - ) \ - }; \ - \ - BOOST_DISPATCH_IMPLEMENT ( randn_, tag::cpu_ \ - , BOOST_PP_REPEAT(n,M2,~)(T) \ - , BOOST_PP_REPEAT(n,M1,~) \ - (target_< scalar_< floating_ > >) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - , T const& tgt \ - ) \ - , (nt2::randn( nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a)) \ - , tgt \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - - #undef M0 - #undef M1 - #undef M2 - -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/repmat.hpp b/inst/include/nt2/core/functions/scalar/repmat.hpp deleted file mode 100644 index 9900c1a..0000000 --- a/inst/include/nt2/core/functions/scalar/repmat.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_REPMAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_REPMAT_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates from an expression and an extent - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( repmat_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (fusion_sequence_) - ) - { - BOOST_DISPATCH_RETURNS( 2, (A0 a0, A1 const& a1) - , nt2::repnum(a0,a1) - ); - }; - - //============================================================================ - // Generates from an expression and a size - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( repmat_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS( 2, (A0 a0, A1 const& a1) - , nt2::repnum(a0,a1) - ); - }; - - //============================================================================ - // Generates from an expression and a single size - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( repmat_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - BOOST_DISPATCH_RETURNS( 2, (A0 a0, A1 a1) - , nt2::repnum(a0,a1) - ); - }; - - //============================================================================ - // Generates from an expression and two sizes - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( repmat_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - (scalar_< integer_ >) - ) - { - BOOST_DISPATCH_RETURNS( 3, (A0 a0, A1 a1, A2 a2) - , nt2::repnum(a0,a1,a2) - ); - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/repnum.hpp b/inst/include/nt2/core/functions/scalar/repnum.hpp deleted file mode 100644 index 949496f..0000000 --- a/inst/include/nt2/core/functions/scalar/repnum.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_REPNUM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_REPNUM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( repnum_, tag::cpu_ - , (A0)(Seq) - , (scalar_ >) - (fusion_sequence_) - ) - { - typedef typename boost::remove_const::type size_type; - typedef meta::constant_ constant_t; - typedef meta::as_ target_t; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::repnum_ - , container::domain - , size_type - , constant_t - , target_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, Seq const& s) const - { - return boost::proto - ::make_expr < nt2::tag::repnum_ - , container::domain - > ( s - , constant_t(a0) - , target_t() - ); - } - }; - - //============================================================================ - // Generates repnum from scalar + N size value - //============================================================================ - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< integer_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( repnum_, tag::cpu_ \ - , BOOST_PP_REPEAT(BOOST_PP_INC(n),M2,~) \ - , (scalar_ > ) \ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(n),M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS ( BOOST_PP_INC(n) \ - , const A,& a \ - ) \ - ) \ - , (nt2::repnum \ - ( a0, nt2::as_size \ - (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_INC(n),a)) \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - - #undef M2 - #undef M1 - #undef M0 -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/reshape.hpp b/inst/include/nt2/core/functions/scalar/reshape.hpp deleted file mode 100644 index 425a5e8..0000000 --- a/inst/include/nt2/core/functions/scalar/reshape.hpp +++ /dev/null @@ -1,120 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_RESHAPE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_RESHAPE_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - #define M6(z,n,t) A##n const& \ - BOOST_PP_IF ( BOOST_PP_EQUAL(n,t) \ - , BOOST_PP_EMPTY \ - , BOOST_PP_IDENTITY(a ## n) \ - )() \ - /**/ - - #define M5(z,n,t) * BOOST_PP_CAT(a,n) - - #define M4(z,n,t) , BOOST_PP_CAT(a,n) - - #define M3(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( reshape_, tag::cpu_ \ - , BOOST_PP_REPEAT(BOOST_PP_INC(t),M2,~) \ - , ((ast_)) \ - BOOST_PP_REPEAT(n,M1,~) \ - ((node_< BOOST_PP_CAT(A,BOOST_PP_INC(n)) \ - , nt2::tag::empty_colon_ \ - , boost::mpl::long_<3> \ - , nt2::container::domain \ - > \ - )) \ - BOOST_PP_REPEAT_FROM_TO(BOOST_PP_INC(n),t,M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS_ARGS \ - ( BOOST_PP_INC(t) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS( BOOST_PP_INC(t), const A, & a) ) \ - , ( BOOST_PP_ENUM( BOOST_PP_INC(t), M6, BOOST_PP_INC(n) ) ) \ - , nt2::reshape \ - ( a0 \ - , nt2::as_size( BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_INC(n), a) \ - BOOST_PP_COMMA_IF(n) numel(a0)/( \ - 1 BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(n), M5, ~) \ - BOOST_PP_REPEAT_FROM_TO( BOOST_PP_INC(BOOST_PP_INC(n)) \ - , BOOST_PP_INC(t) \ - , M5 \ - , ~ \ - ) \ - ) \ - BOOST_PP_REPEAT_FROM_TO( BOOST_PP_INC(BOOST_PP_INC(n)) \ - , BOOST_PP_INC(t) \ - , M4 \ - , ~ \ - ) \ - ) \ - ) \ - ) \ - }; \ - /**/ - - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< integer_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( reshape_, tag::cpu_ \ - , BOOST_PP_REPEAT(BOOST_PP_INC(n),M2,~) \ - , ((ast_)) \ - BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , (BOOST_PP_ENUM_BINARY_PARAMS( BOOST_PP_INC(n) \ - , const A, & a \ - ) \ - ) \ - , (nt2::reshape \ - ( a0 \ - , nt2::as_size( BOOST_PP_ENUM_SHIFTED_PARAMS \ - ( BOOST_PP_INC(n), a ) \ - ) \ - ) \ - ) \ - ) \ - }; \ - BOOST_PP_REPEAT(n,M3,n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - - #undef M6 - #undef M5 - #undef M4 - #undef M3 - #undef M2 - #undef M1 - #undef M0 -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/resize.hpp b/inst/include/nt2/core/functions/scalar/resize.hpp deleted file mode 100644 index 23b3901..0000000 --- a/inst/include/nt2/core/functions/scalar/resize.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_RESIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_RESIZE_HPP_INCLUDED - -#include -#include - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates linearize_ from expression + N size value - //============================================================================ - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< integer_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( resize_, tag::cpu_ \ - , BOOST_PP_REPEAT(BOOST_PP_INC(n),M2,~) \ - , ((ast_)) \ - BOOST_PP_REPEAT(n,M1,~) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , (BOOST_PP_ENUM_BINARY_PARAMS( BOOST_PP_INC(n) \ - , const A, & a \ - ) \ - ) \ - , (nt2::resize \ - ( a0 \ - , nt2::as_size( BOOST_PP_ENUM_SHIFTED_PARAMS \ - ( BOOST_PP_INC(n), a ) \ - ) \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(NT2_MAX_DIMENSIONS),M0,~) - - #undef M2 - #undef M1 - #undef M0 -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/rows.hpp b/inst/include/nt2/core/functions/scalar/rows.hpp deleted file mode 100644 index c90ba97..0000000 --- a/inst/include/nt2/core/functions/scalar/rows.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_ROWS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_ROWS_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - #define M2(z,n,t) (BOOST_PP_CAT(A,n)) - #define M1(z,n,t) (scalar_< arithmetic_ >) - - #define M0(z,n,t) \ - BOOST_DISPATCH_IMPLEMENT ( rows_, tag::cpu_ \ - , BOOST_PP_REPEAT(n,M2,~)(T) \ - , BOOST_PP_REPEAT(n,M1,~) \ - (scalar_< unspecified_ >) \ - ) \ - { \ - BOOST_DISPATCH_RETURNS( BOOST_PP_INC(n) \ - , ( BOOST_PP_ENUM_BINARY_PARAMS(n,const A,& a) \ - , T const& s \ - ) \ - , (nt2::rows( nt2::as_size(BOOST_PP_ENUM_PARAMS(n,a)) \ - , s \ - ) \ - ) \ - ) \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - - #undef M0 - #undef M1 - #undef M2 - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( rows_, tag::cpu_ - , (T) - , (scalar_< unspecified_ >) - ) - { - typedef T result_type; - - BOOST_FORCEINLINE result_type operator()(T const& s) const - { - return s; - } - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( rows_, tag::cpu_ - , (A0)(T) - , (fusion_sequence_) - (scalar_< unspecified_ >) - ) - { - typedef typename boost::remove_const::type size_type; - typedef meta::constant_ constant_t; - typedef meta::as_ target_t; - typedef typename boost::proto::result_of - ::make_expr < nt2::tag::rows_, container::domain - , size_type, constant_t, target_t - >::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, T const& s) const - { - return boost::proto - ::make_expr < nt2::tag::rows_ - , container::domain - > ( a0, constant_t(s), target_t() ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/rowvect.hpp b/inst/include/nt2/core/functions/scalar/rowvect.hpp deleted file mode 100644 index 732ec94..0000000 --- a/inst/include/nt2/core/functions/scalar/rowvect.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_ROWVECT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_ROWVECT_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( rowvect_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/setdiff.hpp b/inst/include/nt2/core/functions/scalar/setdiff.hpp deleted file mode 100644 index 29bd6f1..0000000 --- a/inst/include/nt2/core/functions/scalar/setdiff.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_SETDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_SETDIFF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( setdiff_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef container::table result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return a0 == a1 ? zeros(0, 1, meta::as_()) : cons(a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/setinter.hpp b/inst/include/nt2/core/functions/scalar/setinter.hpp deleted file mode 100644 index c6ba91e..0000000 --- a/inst/include/nt2/core/functions/scalar/setinter.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_SETINTER_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_SETINTER_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( setinter_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef container::table result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return a0 == a1 ? cons(a0) : zeros(0, 1, meta::as_()); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/setsymdiff.hpp b/inst/include/nt2/core/functions/scalar/setsymdiff.hpp deleted file mode 100644 index 2619c6b..0000000 --- a/inst/include/nt2/core/functions/scalar/setsymdiff.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_SETSYMDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_SETSYMDIFF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( setsymdiff_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef container::table result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return a0 == a1 ? zeros(0, 1, meta::as_()) : cons(a0, a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/setunion.hpp b/inst/include/nt2/core/functions/scalar/setunion.hpp deleted file mode 100644 index 5f75e41..0000000 --- a/inst/include/nt2/core/functions/scalar/setunion.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_SETUNION_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_SETUNION_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( setunion_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >) - (scalar_< arithmetic_ >) - ) - { - typedef container::table result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - return unique(cons(a0, a1)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/size.hpp b/inst/include/nt2/core/functions/scalar/size.hpp deleted file mode 100644 index c78123e..0000000 --- a/inst/include/nt2/core/functions/scalar/size.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_SIZE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( size_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef container:: - table < typename meta::make_dependent::type - , settings(automatic_,of_size_<1,2>) - > result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - result_type that; - that.data()[0] = that.data()[1] = std::size_t(1); - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( size_, tag::cpu_ - , (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&,const A1&) const - { - return 1; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/squeeze.hpp b/inst/include/nt2/core/functions/scalar/squeeze.hpp deleted file mode 100644 index c48bedd..0000000 --- a/inst/include/nt2/core/functions/scalar/squeeze.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_SQUEEZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_SQUEEZE_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( squeeze_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/stdev.hpp b/inst/include/nt2/core/functions/scalar/stdev.hpp deleted file mode 100644 index 9f3c3c6..0000000 --- a/inst/include/nt2/core/functions/scalar/stdev.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_STDEV_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_STDEV_HPP_INCLUDED - -#include -#include - -//TODO include complex cases -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( stdev_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return Zero(); - } - }; - BOOST_DISPATCH_IMPLEMENT ( stdev_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const &) const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( stdev_, tag::cpu_, (A0)(A1)(A2) - , (scalar_< unspecified_ >) - (scalar_< floating_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const &, A2 const &) const - { - return Zero();; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/swap.hpp b/inst/include/nt2/core/functions/scalar/swap.hpp deleted file mode 100644 index 28c66d8..0000000 --- a/inst/include/nt2/core/functions/scalar/swap.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_SWAP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_SWAP_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( swap_, tag::cpu_ - , (A0) - , (scalar_ >) - (scalar_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, A0& a1) const - { - boost::swap(a0,a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/tie.hpp b/inst/include/nt2/core/functions/scalar/tie.hpp deleted file mode 100644 index c31659a..0000000 --- a/inst/include/nt2/core/functions/scalar/tie.hpp +++ /dev/null @@ -1,102 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_TIE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_TIE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct as_child_ref; - - template - struct as_child_ref_expr - { - typedef container::domain::template as_child_expr impl; - typedef typename impl::result_type type; - static type call(T& t) - { - return impl()(t); - } - }; - - template - struct as_child_ref - { - typedef boost::proto::basic_expr< nt2::tag::terminal_, boost::proto::term > expr; - typedef nt2::container::expression type; - static type call(T& t) - { - return type(expr::make(t)); - } - }; - - template - struct as_child_ref - : as_child_ref_expr - { - }; - -#define M1(z,n,t) (A##n) -#define M2(z,n,t) (unspecified_) -#define M2b(z,n,t) (generic_< unspecified_ >) -#define M3(z,n,t) typename ext::as_child_ref::type -#define M4(z,n,t) ext::as_child_ref::call(a##n) - -#define M0(z,n,t) \ -BOOST_DISPATCH_IMPLEMENT ( tie_, BOOST_PP_TUPLE_ELEM(2,0,t) \ - , BOOST_PP_REPEAT(n,M1,~) \ - , BOOST_PP_REPEAT(n,BOOST_PP_TUPLE_ELEM(2,1,t),~) \ - ) \ -{ \ - typedef boost::proto:: \ - basic_expr< nt2::tag::tie_ \ - , boost::proto::list##n \ - , n \ - > expr; \ - typedef nt2::details:: \ - generator< nt2::tag::tie_ \ - , nt2::container::domain \ - , n \ - , expr const \ - > generator; \ - typedef typename generator::result_type result_type; \ - \ - BOOST_FORCEINLINE result_type \ - operator()(BOOST_PP_ENUM_BINARY_PARAMS(n,A,& a)) const \ - { \ - expr e = { BOOST_PP_ENUM(n, M4, ~) }; \ - return result_type(e); \ - } \ -}; \ -/**/ - -BOOST_PP_REPEAT_FROM_TO(1,BOOST_PROTO_MAX_ARITY,M0,(tag::formal_, M2)) -BOOST_PP_REPEAT_FROM_TO(1,BOOST_PROTO_MAX_ARITY,M0,(tag::cpu_, M2b)) - -#undef M0 -#undef M1 -#undef M2 -#undef M2b -#undef M3 -#undef M4 -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/transpose.hpp b/inst/include/nt2/core/functions/scalar/transpose.hpp deleted file mode 100644 index 55b4e79..0000000 --- a/inst/include/nt2/core/functions/scalar/transpose.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_TRANSPOSE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_TRANSPOSE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( transpose_, tag::cpu_, (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/trapz.hpp b/inst/include/nt2/core/functions/scalar/trapz.hpp deleted file mode 100644 index 7533a97..0000000 --- a/inst/include/nt2/core/functions/scalar/trapz.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_TRAPZ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_TRAPZ_HPP_INCLUDED - -#include -#include - -//TODO include complex cases -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( trapz_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return Zero(); - } - }; - BOOST_DISPATCH_IMPLEMENT ( trapz_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const &) const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( trapz_, tag::cpu_, (A0)(A1)(A2) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const &, A2 const &) const - { - return Zero();; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/tri1l.hpp b/inst/include/nt2/core/functions/scalar/tri1l.hpp deleted file mode 100644 index 22a13d1..0000000 --- a/inst/include/nt2/core/functions/scalar/tri1l.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_TRI1L_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_TRI1L_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tri1l_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&a0, A1 k) const - { - return k == 0 ? One():( k < 0 ? Zero() : a0 ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tri1l_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return One(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/tri1u.hpp b/inst/include/nt2/core/functions/scalar/tri1u.hpp deleted file mode 100644 index 74a1a56..0000000 --- a/inst/include/nt2/core/functions/scalar/tri1u.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_TRI1U_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_TRI1U_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tri1u_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 k) const - { - return k == 0 ? One() : (k > 0) ? Zero() : a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tri1u_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return One(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/tril.hpp b/inst/include/nt2/core/functions/scalar/tril.hpp deleted file mode 100644 index 454bbc2..0000000 --- a/inst/include/nt2/core/functions/scalar/tril.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_TRIL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_TRIL_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tril_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 k) const - { - return (k < 0) ? Zero() : a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( tril_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/triu.hpp b/inst/include/nt2/core/functions/scalar/triu.hpp deleted file mode 100644 index 84d422d..0000000 --- a/inst/include/nt2/core/functions/scalar/triu.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_TRIU_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_TRIU_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( triu_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< integer_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 k) const - { - return (k > 0) ? Zero() : a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( triu_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/unique.hpp b/inst/include/nt2/core/functions/scalar/unique.hpp deleted file mode 100644 index b2a6a86..0000000 --- a/inst/include/nt2/core/functions/scalar/unique.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_UNIQUE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_UNIQUE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( unique_, tag::cpu_ - , (A0) - , (scalar_< arithmetic_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/var.hpp b/inst/include/nt2/core/functions/scalar/var.hpp deleted file mode 100644 index 013242d..0000000 --- a/inst/include/nt2/core/functions/scalar/var.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_VAR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_VAR_HPP_INCLUDED - -#include -#include - -//TODO include complex cases -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( var_, tag::cpu_, (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return Zero(); - } - }; - BOOST_DISPATCH_IMPLEMENT ( var_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A1 const &) const - { - return Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( var_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const&, A0 const &, A1 const &) const - { - return Zero(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/whereij.hpp b/inst/include/nt2/core/functions/scalar/whereij.hpp deleted file mode 100644 index e2c9cf2..0000000 --- a/inst/include/nt2/core/functions/scalar/whereij.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_WHEREIJ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_WHEREIJ_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( whereij_, tag::cpu_, - (A0)(A1), - (unspecified_) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1, A1 const& a2) const - { - return a0(0,0) ? a1 : a2; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/whereijk.hpp b/inst/include/nt2/core/functions/scalar/whereijk.hpp deleted file mode 100644 index ede8630..0000000 --- a/inst/include/nt2/core/functions/scalar/whereijk.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_WHEREIJK_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_WHEREIJK_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( whereijk_, tag::cpu_, - (A0)(A1), - (unspecified_) - (scalar_< unspecified_ >) - (scalar_< unspecified_ >) - ) - { - typedef A1 result_type; - - BOOST_FORCEINLINE result_type - operator()(A0 const& a0, A1 const& a1, A1 const& a2) const - { - return a0(0,0,0) ? a1 : a2; - } - }; -} } - -#endif - diff --git a/inst/include/nt2/core/functions/scalar/width.hpp b/inst/include/nt2/core/functions/scalar/width.hpp deleted file mode 100644 index a59882f..0000000 --- a/inst/include/nt2/core/functions/scalar/width.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_WIDTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_WIDTH_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( width_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return 1u; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/scalar/wmean.hpp b/inst/include/nt2/core/functions/scalar/wmean.hpp deleted file mode 100644 index 8d923a6..0000000 --- a/inst/include/nt2/core/functions/scalar/wmean.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SCALAR_WMEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SCALAR_WMEAN_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( wmean_, tag::cpu_, (A0)(A1) - , (scalar_< unspecified_ >) - (scalar_< floating_ >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &) const - { - return a; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( wmean_, tag::cpu_, (A0)(A1)(A2) - , (scalar_< unspecified_ >) - (scalar_< floating_ >) - (scalar_< integer_ > ) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a, A1 const &, A2 const &) const - { - return a; - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/setdiff.hpp b/inst/include/nt2/core/functions/setdiff.hpp deleted file mode 100644 index 21a7569..0000000 --- a/inst/include/nt2/core/functions/setdiff.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SETDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SETDIFF_HPP_INCLUDED - - -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief setdiff generic tag - - Represents the setdiff function in generic contexts. - - @par Models: - Hierarchy - **/ - struct setdiff_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_setdiff_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_setdiff_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_setdiff_; - } - - /*! - Computes common elements to 2 tables with no repetitions as a column vector - - @par Semantic: - - For every tables expression - - @code - auto r = setdiff(a0, a1); - @endcode - - returns the datas as common to a0 and a1 with no repetitions as a column vector. - - @param a0 - éparam a1 - - @return a column vector of size less or equal to min(numel(a0), numel(a1)) - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::setdiff_ , setdiff, 2) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/setinter.hpp b/inst/include/nt2/core/functions/setinter.hpp deleted file mode 100644 index d4bfc96..0000000 --- a/inst/include/nt2/core/functions/setinter.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SETINTER_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SETINTER_HPP_INCLUDED - - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief setinter generic tag - - Represents the setinter function in generic contexts. - - @par Models: - Hierarchy - **/ - struct setinter_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_setinter_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_setinter_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_setinter_; - } - - /*! - Computes common elements to 2 tables with no repetitions as a column vector - - @par Semantic: - - For every tables expression - - @code - auto r = setinter(a0, a1); - @endcode - - returns the datas as common to a0 and a1 with no repetitions as a column vector. - - @param a0 - éparam a1 - - @return a column vector of size less or equal to min(numel(a0), numel(a1)) - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::setinter_ , setinter, 2) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/setsymdiff.hpp b/inst/include/nt2/core/functions/setsymdiff.hpp deleted file mode 100644 index 515f226..0000000 --- a/inst/include/nt2/core/functions/setsymdiff.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SETSYMDIFF_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SETSYMDIFF_HPP_INCLUDED - - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief setsymdiff generic tag - - Represents the setsymdiff function in generic contexts. - - @par Models: - Hierarchy - **/ - struct setsymdiff_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_setsymdiff_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_setsymdiff_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_setsymdiff_; - } - - /*! - Computes elements from 2 tables that belongs to one of them but not to both, - with no repetitions as a column vector - - @par Semantic: - - For every tables expression - - @code - auto r = setsymdiff(a0, a1); - @endcode - - returns the symmetric difference of the datas contained in the two table expressions as a column vector. - - @param a0 - éparam a1 - - @return a column vector of size less or equal to min(numel(a0), numel(a1)) - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::setsymdiff_ , setsymdiff, 2) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/setunion.hpp b/inst/include/nt2/core/functions/setunion.hpp deleted file mode 100644 index 2222897..0000000 --- a/inst/include/nt2/core/functions/setunion.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SETUNION_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SETUNION_HPP_INCLUDED - - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief setunion generic tag - - Represents the setunion function in generic contexts. - - @par Models: - Hierarchy - **/ - struct setunion_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_setunion_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_setunion_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_setunion_; - } - - /*! - Computes elements of 2 tables with no repetitions as a column vector - - @par Semantic: - - For every tables expression - - @code - auto r = setunion(a0, a1); - @endcode - - returns the datas of a0 and a1 with no repetitions as a column vector. - The functor name is setunion and not union for obvious reasons - - @param a0 - éparam a1 - - @return a column vector of size less or equal to min(numel(a0), numel(a1)) - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::setunion_ , setunion, 2) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/seven.hpp b/inst/include/nt2/core/functions/seven.hpp deleted file mode 100644 index 6c84514..0000000 --- a/inst/include/nt2/core/functions/seven.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SEVEN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SEVEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Seven,seven, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/shared_memory/inner_fold.hpp b/inst/include/nt2/core/functions/shared_memory/inner_fold.hpp deleted file mode 100644 index 7b160ed..0000000 --- a/inst/include/nt2/core/functions/shared_memory/inner_fold.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SHARED_MEMORY_INNER_FOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SHARED_MEMORY_INNER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates inner_fold - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( inner_fold_, (nt2::tag::shared_memory_) - , (Out)(In)(Neutral)(Bop)(Uop)(BackEnd)(Site) - , ((ast_< Out, nt2::container::domain>)) - ((ast_< In, nt2::container::domain>)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename boost::remove_reference::type::extent_type extent_type; - typedef typename Out::value_type value_type; - - BOOST_FORCEINLINE result_type - operator()(Out& out, In& in, Neutral const& neutral, Bop const& bop, Uop const& uop) const - { - - extent_type ext = in.extent(); - std::size_t bound = boost::fusion::at_c<0>(ext); - std::size_t obound = nt2::numel(boost::fusion::pop_front(ext)); - std::size_t top_cache_line_size = config::top_cache_line_size(2)/sizeof(value_type); - if(!top_cache_line_size) top_cache_line_size = 1u; - - std::size_t grain = top_cache_line_size; - - nt2::worker - w(out, in, neutral, bop, uop); - - if((obound > grain) && (8*grain < bound*obound)) - { - nt2::spawner< tag::transform_, BackEnd > s; - s(w,0,obound,grain); - } - - else - w(0,obound); - - } - - }; -} } - -#endif - diff --git a/inst/include/nt2/core/functions/shared_memory/inner_scan.hpp b/inst/include/nt2/core/functions/shared_memory/inner_scan.hpp deleted file mode 100644 index c9654dc..0000000 --- a/inst/include/nt2/core/functions/shared_memory/inner_scan.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SHARED_MEMORY_INNER_SCAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SHARED_MEMORY_INNER_SCAN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Generates inner_scan - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( inner_scan_, (nt2::tag::shared_memory_) - , (Out)(In)(Neutral)(Bop)(Uop)(BackEnd)(Site) - , ((ast_< Out, nt2::container::domain>)) - ((ast_< In, nt2::container::domain>)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename boost::remove_reference::type::extent_type extent_type; - typedef typename Out::value_type value_type; - - BOOST_FORCEINLINE result_type - operator()(Out& out, In& in, Neutral const& neutral, Bop const& bop, Uop const& /*uop*/) const - { - - extent_type ext = in.extent(); - std::size_t bound = boost::fusion::at_c<0>(ext); - std::size_t obound = nt2::numel(boost::fusion::pop_front(ext)); - std::size_t top_cache_line_size = config::top_cache_line_size(2)/sizeof(value_type); - if(!top_cache_line_size) top_cache_line_size = 1u; - - std::size_t grain = top_cache_line_size; - - nt2::worker - w(out, in, neutral, bop); - - if((obound > grain) && (8*grain < bound*obound)) - { - nt2::spawner< tag::transform_, BackEnd > s; - s(w,0,obound,grain); - } - - else - w(0,obound); - - } - - }; -} } - -#endif - diff --git a/inst/include/nt2/core/functions/shared_memory/outer_fold.hpp b/inst/include/nt2/core/functions/shared_memory/outer_fold.hpp deleted file mode 100644 index 69b6221..0000000 --- a/inst/include/nt2/core/functions/shared_memory/outer_fold.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SHARED_MEMORY_OUTER_FOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SHARED_MEMORY_OUTER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( outer_fold_, (nt2::tag::shared_memory_) - , (Out)(In)(Neutral)(Bop)(Uop)(BackEnd)(Site) - , ((ast_)) - ((ast_)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename boost::remove_reference::type::extent_type extent_type; - - BOOST_FORCEINLINE result_type operator()(Out& out, In& in, Neutral const& neutral, Bop const& bop, Uop const& uop) const - { - extent_type ext = in.extent(); - std::size_t obound = boost::fusion::at_c<2>(ext); - std::size_t top_cache_line_size = config::top_cache_line_size(2)/sizeof(typename Out::value_type); - if(!top_cache_line_size) top_cache_line_size = 1u; - - std::size_t grain = top_cache_line_size; - - nt2::worker - w(out, in, neutral, bop, uop); - - nt2::spawner< tag::transform_,BackEnd > s; - - if( obound > grain ) s(w,0,obound,grain); - else w(0,obound); - } - }; - -} } -#endif diff --git a/inst/include/nt2/core/functions/shared_memory/outer_scan.hpp b/inst/include/nt2/core/functions/shared_memory/outer_scan.hpp deleted file mode 100644 index 4cd5d22..0000000 --- a/inst/include/nt2/core/functions/shared_memory/outer_scan.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SHARED_MEMORY_OUTER_SCAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SHARED_MEMORY_OUTER_SCAN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( outer_scan_, (nt2::tag::shared_memory_) - , (Out)(In)(Neutral)(Bop)(Uop)(BackEnd)(Site) - , ((ast_)) - ((ast_)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename boost::remove_reference::type::extent_type extent_type; - - BOOST_FORCEINLINE result_type operator()(Out& out, In& in, Neutral const& neutral, Bop const& bop, Uop const& uop) const - { - extent_type ext = in.extent(); - std::size_t obound = boost::fusion::at_c<2>(ext); - std::size_t top_cache_line_size = config::top_cache_line_size(2)/sizeof(typename Out::value_type); - if(!top_cache_line_size) top_cache_line_size = 1u; - - std::size_t grain = top_cache_line_size; - - nt2::worker - w(out, in, neutral, bop, uop); - - nt2::spawner< tag::transform_,BackEnd > s; - - if( obound > grain ) - s(w,0,obound,grain); - else - w(0,obound); - } - - private: - static std::size_t gcd (std::size_t a, std::size_t b) - { - while (b) { - std::size_t r = a % b; - a = b; - b = r; - } - return a; - } - }; - -} } -#endif diff --git a/inst/include/nt2/core/functions/shared_memory/transform.hpp b/inst/include/nt2/core/functions/shared_memory/transform.hpp deleted file mode 100644 index d2e30be..0000000 --- a/inst/include/nt2/core/functions/shared_memory/transform.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SHARED_MEMORY_TRANSFORM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SHARED_MEMORY_TRANSFORM_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Partial Shared Memory elementwise operation - // Generates a SPMD loop nest and forward to internal site for evaluation - // using the partial transform syntax. - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( transform_, (nt2::tag::shared_memory_) - , (Out)(In)(BackEnd)(Site)(Range) - , ((ast_)) - ((ast_)) - (unspecified_) - ) - { - - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(Out& out, In& in, Range range) const - { - std::size_t grain = config::top_cache_size(2)/sizeof(typename Out::value_type); - std::size_t it = range.first; - std::size_t sz = range.second; - - if(!grain) grain = 1u; - - nt2::worker w(out,in); - nt2::spawner s; - - if(sz > 8*grain) s(w,it,sz,grain); - else w(it,sz); - } - }; - -} } -#endif diff --git a/inst/include/nt2/core/functions/signmask.hpp b/inst/include/nt2/core/functions/signmask.hpp deleted file mode 100644 index 97a7742..0000000 --- a/inst/include/nt2/core/functions/signmask.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SIGNMASK_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SIGNMASK_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Signmask,signmask, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/simd/inner_fold.hpp b/inst/include/nt2/core/functions/simd/inner_fold.hpp deleted file mode 100644 index b261642..0000000 --- a/inst/include/nt2/core/functions/simd/inner_fold.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SIMD_INNER_FOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SIMD_INNER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include - - -#ifndef BOOST_SIMD_NO_SIMD - -namespace nt2 { namespace ext -{ - //============================================================================ - // General inner_fold - //============================================================================ - BOOST_DISPATCH_IMPLEMENT_IF ( inner_fold_, boost::simd::tag::simd_ - , (Out)(In)(Neutral)(Bop)(Uop) - , ( boost::simd::meta:: - is_vectorizable < typename Out::value_type - , BOOST_SIMD_DEFAULT_EXTENSION - > - ) - , ((ast_< Out, nt2::container::domain>)) - ((ast_< In, nt2::container::domain>)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename Out::value_type value_type; - typedef typename In::extent_type extent_type; - typedef boost::simd::native target_type; - - BOOST_FORCEINLINE result_type - operator()(Out& out, In& in - , Neutral const& neutral, Bop const& bop, Uop const& uop - ) const - { - extent_type ext = in.extent(); - std::size_t obound = nt2::numel(boost::fusion::pop_front(ext)); - static const std::size_t N = boost::simd::meta::cardinal_of::value; - std::size_t bound = boost::fusion::at_c<0>(ext); - std::size_t nb_vec = (bound/N); - std::size_t ibound = nb_vec * N; - - for(std::size_t j = 0, k = 0; j != obound; ++j, k+=bound) - { - target_type vec_out = details::fold_step( - neutral(nt2::meta::as_()), in, bop, k, nb_vec, N - ); - - value_type s_out = uop( vec_out ); - s_out = details::fold_step(s_out, in, bop, k+ibound, bound-ibound, 1); - - nt2::run(out, j, s_out); - } - } - }; -} } - -#endif -#endif diff --git a/inst/include/nt2/core/functions/simd/outer_fold.hpp b/inst/include/nt2/core/functions/simd/outer_fold.hpp deleted file mode 100644 index 2f89db4..0000000 --- a/inst/include/nt2/core/functions/simd/outer_fold.hpp +++ /dev/null @@ -1,90 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SIMD_OUTER_FOLD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SIMD_OUTER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable: 4702) // unreachable code false positive -#endif - -#ifndef BOOST_SIMD_NO_SIMD -namespace nt2 { namespace ext -{ - //============================================================================ - // Partial outer_fold with offset/size - //============================================================================ - BOOST_DISPATCH_IMPLEMENT_IF ( outer_fold_, boost::simd::tag::simd_ - , (Out)(In)(Neutral)(Bop)(Uop) - , ( boost::simd::meta:: - is_vectorizable < typename Out::value_type - , BOOST_SIMD_DEFAULT_EXTENSION - > - ) - , ((ast_< Out, nt2::container::domain>)) - ((ast_< In, nt2::container::domain>)) - (unspecified_) - (unspecified_) - (unspecified_) - ) - { - typedef void result_type; - typedef typename Out::value_type value_type; - typedef typename In::extent_type extent_type; - typedef boost::simd::native target_type; - - BOOST_FORCEINLINE result_type - operator()( Out& out ,In& in - , Neutral const& neutral - , Bop const& bop, Uop const& - ) const - { - extent_type ext = in.extent(); - static const std::size_t N = boost::simd::meta::cardinal_of::value; - std::size_t obound = boost::fusion::at_c<2>(ext); - std::size_t ibound = boost::fusion::at_c<0>(ext); - std::size_t mbound = boost::fusion::at_c<1>(ext); - std::size_t iboundxmbound = ibound * mbound; - - std::size_t cache_line_size = nt2::config::top_cache_line_size(2); // in byte - std::size_t cache_bound = (cache_line_size / (sizeof(value_type)*N))*N; - std::size_t iibound = boost::simd::align_under(ibound, cache_bound); - - for(std::size_t o = 0, oout_ = 0, oin_ = 0; - o < obound; - ++o, oout_+=ibound, oin_+= iboundxmbound) - { - // vectorized part - details::outer_fold_step - (out, in, neutral, bop, 0, iibound, oout_, oin_); - - // scalar part - details::outer_fold_step - (out, in, neutral, bop, iibound, ibound - iibound, oout_, oin_); - - } - } - }; -} } - -#endif - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif diff --git a/inst/include/nt2/core/functions/simd/transform.hpp b/inst/include/nt2/core/functions/simd/transform.hpp deleted file mode 100644 index c62fc5f..0000000 --- a/inst/include/nt2/core/functions/simd/transform.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SIMD_TRANSFORM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SIMD_TRANSFORM_HPP_INCLUDED -#ifndef BOOST_SIMD_NO_SIMD - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Partial nD element-wise transform with offset/size - //============================================================================ - BOOST_DISPATCH_IMPLEMENT_IF ( transform_, boost::simd::tag::simd_ - , (Out)(In)(Range) - , (boost::simd::meta::is_vectorizable) - , ((ast_)) - ((ast_)) - (unspecified_) - ) - { - typedef void result_type; - - typedef typename Out::value_type stype; - typedef boost::simd::native target_type; - - BOOST_FORCEINLINE result_type - operator()(Out& out, In& in, Range range) const - { - std::size_t p (range.first); - std::size_t sz (range.second); - - static const std::size_t N = boost::simd::meta - ::cardinal_of::value; - - std::size_t aligned_sz = sz & ~(N-1); - std::size_t it = p; - - for(std::size_t m=p+aligned_sz; it != m; it+=N) - nt2::run( out, it, nt2::run(in, it, meta::as_()) ); - - for(std::size_t m=p+sz; it != m; ++it) - nt2::run( out, it, nt2::run(in, it, meta::as_()) ); - } - }; -} } - -#endif -#endif diff --git a/inst/include/nt2/core/functions/six.hpp b/inst/include/nt2/core/functions/six.hpp deleted file mode 100644 index b0b04db..0000000 --- a/inst/include/nt2/core/functions/six.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SIX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SIX_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Six,six, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/sixteen.hpp b/inst/include/nt2/core/functions/sixteen.hpp deleted file mode 100644 index 34ffce4..0000000 --- a/inst/include/nt2/core/functions/sixteen.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SIXTEEN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SIXTEEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Sixteen,sixteen, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/size.hpp b/inst/include/nt2/core/functions/size.hpp deleted file mode 100644 index 409991b..0000000 --- a/inst/include/nt2/core/functions/size.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SIZE_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - struct size_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_size_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_size_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_size_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::size_, size, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::size_, size, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/smallestposval.hpp b/inst/include/nt2/core/functions/smallestposval.hpp deleted file mode 100644 index f947f05..0000000 --- a/inst/include/nt2/core/functions/smallestposval.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SMALLESTPOSVAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Smallestposval,smallestposval, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/splitfactor.hpp b/inst/include/nt2/core/functions/splitfactor.hpp deleted file mode 100644 index 8ad1389..0000000 --- a/inst/include/nt2/core/functions/splitfactor.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SPLITFACTOR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SPLITFACTOR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Splitfactor,splitfactor, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/sqrt_1o_5.hpp b/inst/include/nt2/core/functions/sqrt_1o_5.hpp deleted file mode 100644 index 81bbf3a..0000000 --- a/inst/include/nt2/core/functions/sqrt_1o_5.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SQRT_1O_5_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SQRT_1O_5_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Sqrt_1o_5,sqrt_1o_5, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/sqrt_2.hpp b/inst/include/nt2/core/functions/sqrt_2.hpp deleted file mode 100644 index 1856866..0000000 --- a/inst/include/nt2/core/functions/sqrt_2.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SQRT_2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SQRT_2_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Sqrt_2,sqrt_2, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/sqrt_2o_2.hpp b/inst/include/nt2/core/functions/sqrt_2o_2.hpp deleted file mode 100644 index 6c00103..0000000 --- a/inst/include/nt2/core/functions/sqrt_2o_2.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SQRT_2O_2_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SQRT_2O_2_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Sqrt_2o_2,sqrt_2o_2, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/sqrt_2o_3.hpp b/inst/include/nt2/core/functions/sqrt_2o_3.hpp deleted file mode 100644 index dd33d8b..0000000 --- a/inst/include/nt2/core/functions/sqrt_2o_3.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SQRT_2O_3_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SQRT_2O_3_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Sqrt_2o_3,sqrt_2o_3, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/sqrteps.hpp b/inst/include/nt2/core/functions/sqrteps.hpp deleted file mode 100644 index 624e38b..0000000 --- a/inst/include/nt2/core/functions/sqrteps.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SQRTEPS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SQRTEPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Sqrteps,sqrteps, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/sqrtsmallestposval.hpp b/inst/include/nt2/core/functions/sqrtsmallestposval.hpp deleted file mode 100644 index 6a64f7c..0000000 --- a/inst/include/nt2/core/functions/sqrtsmallestposval.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SQRTSMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SQRTSMALLESTPOSVAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Sqrtsmallestposval,sqrtsmallestposval, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/sqrtvalmax.hpp b/inst/include/nt2/core/functions/sqrtvalmax.hpp deleted file mode 100644 index 174a618..0000000 --- a/inst/include/nt2/core/functions/sqrtvalmax.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SQRTVALMAX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SQRTVALMAX_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Sqrtvalmax,sqrtvalmax, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/squeeze.hpp b/inst/include/nt2/core/functions/squeeze.hpp deleted file mode 100644 index 550b8e5..0000000 --- a/inst/include/nt2/core/functions/squeeze.hpp +++ /dev/null @@ -1,104 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SQUEEZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SQUEEZE_HPP_INCLUDED -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief squeeze generic tag - - Represents the squeeze function in generic contexts. - - @par Models: - Hierarchy - **/ - struct squeeze_ : ext::reshaping_ - { - /// @brief Parent hierarchy - typedef ext::reshaping_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_squeeze_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_squeeze_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_squeeze_; - } - - /*! - - squeeze an expression by removing its singleton dimensions - - @par Semantic: - - For every table expression - - @code - auto r = squeeze(a0); - @endcode - - @param a0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::squeeze_, squeeze, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of - ::child_c::value_type::extent_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee; - result_type ex = boost::proto::child_c<0>(e).extent(); - - // Squeeze don't affect 2D array - if(result_type::static_size <= 2) - { - sizee = ex; - } - else - { - // Copy non singleton dimensions - std::size_t u = 0; - for(std::size_t i=0;i - - -namespace nt2 -{ - namespace tag - { - struct stdev_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_stdev_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_stdev_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_stdev_; - } - /*! - @brief standard deviation of a table expression along a given dimension - - Returns the variance of a table expression along a given dimension - - @par Semantic - - For any table expression of T @c t integer or weights w and any - integer @c n: - - @code - auto r = stddev(t, w, n); - @endcode - - is equivalent to: - - @code - auto r = sqrt(var(t, w, n)); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{var}, @funcref{sqrt} - @param a0 Table expression to process - @param a1 normalization hint or table expression of weights - @param a2 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::stdev_ , stdev, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::stdev_ , stdev, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::stdev_ , stdev, 1) - -} - -#endif diff --git a/inst/include/nt2/core/functions/sub2ind.hpp b/inst/include/nt2/core/functions/sub2ind.hpp deleted file mode 100644 index c9edd9d..0000000 --- a/inst/include/nt2/core/functions/sub2ind.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SUB2IND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SUB2IND_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief sub2ind generic tag - - Represents the sub2ind function in generic contexts. - - @par Models: - Hierarchy - **/ - struct sub2ind_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sub2ind_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sub2ind_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sub2ind_; - } - - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::sub2ind_, sub2ind, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #if defined(DOXYGEN_ONLY) - /*! - @brief Convert subscripts to linear indices - - Determines the linear index equivalents to the specified subscripts for - each dimension of an N-dimensional container of size . - - @param sz Size sequence of target container - @param dims Subscript to convert - - @return A linear index pointing to the same element than \c pos. - **/ - template - detail::unspecified sub2ind(Size const& sz, Dims const& ... dims); - #endif -} - -#endif diff --git a/inst/include/nt2/core/functions/swap.hpp b/inst/include/nt2/core/functions/swap.hpp deleted file mode 100644 index 96abaf5..0000000 --- a/inst/include/nt2/core/functions/swap.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SWAP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SWAP_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines swap function tag - struct swap_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_swap_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_swap_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_swap_; - } - - /*! - @brief Swap values - - Swap values between expression of same number of element. - - @param First expression to swap - @param Second expression to swap - **/ - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::swap_, swap, (A0&)(A1&) , 2); - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::swap_, swap, (A0 const&)(A1&) , 2); - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::swap_, swap, (A0 &)(A1 const&) , 2); - NT2_FUNCTION_IMPLEMENTATION_TPL(tag::swap_, swap, (A0 const&)(A1 const&), 2); -} - -#endif diff --git a/inst/include/nt2/core/functions/sx.hpp b/inst/include/nt2/core/functions/sx.hpp deleted file mode 100644 index 17f9b44..0000000 --- a/inst/include/nt2/core/functions/sx.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SX_HPP_INCLUDED - -#include - -/*! - * \par Description - * sx sx(a0, a1) is equivalent to bsxfun(functor(), a0, a1) if Tag is a binary functor - * sx(a0, a1, a2) is equivalent to tsxfun(functor(), a0, a1, a2) if Tag is a ternary functor - * - * \par Header file - * - * \code - * #include - * \endcode - * - * - * \code - * namespace boost::simd - * { - * template - * meta::call::type - * sx(const A0 & a0); - * } - * \endcode - * -**/ - -namespace nt2 -{ - namespace tag - { - struct sx_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sx_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sx_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sx_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::sx_ , sx, 3) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::sx_ , sx, 4) -} - -#endif diff --git a/inst/include/nt2/core/functions/sxfun.hpp b/inst/include/nt2/core/functions/sxfun.hpp deleted file mode 100644 index 79a12f3..0000000 --- a/inst/include/nt2/core/functions/sxfun.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_SXFUN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_SXFUN_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the sxfun function - **/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for bsxfun functor - **/ - struct sxfun_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sxfun_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sxfun_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sxfun_; - } - - /*! - @brief Apply element-by-element operation to n expressions - with singleton expansion enabled - - sxfun(f,a,b) applies the element-by-element pfo @c f to expressions - @c a and @c b, with singleton expansion enabled. - - The corresponding dimensions of @c a and @c b must be equal to each other - or equal to one. Whenever a dimension of @c a or @c b is singleton (i.e equal - to one), sxfun virtually replicates the array along that dimension to match - the other array. - - @param a0 Polymorphic Function object to apply - @param a1 First expression to process - @param a2 Second expression to process - @param a3 Third expression to process - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::sxfun_ , sxfun, 4) - ///@overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::sxfun_ , tsxfun, 4) - ///@overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::sxfun_ , bsxfun, 3) - ///@overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::sxfun_ , sxfun, 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/table/construct.hpp b/inst/include/nt2/core/functions/table/construct.hpp deleted file mode 100644 index 33161fa..0000000 --- a/inst/include/nt2/core/functions/table/construct.hpp +++ /dev/null @@ -1,183 +0,0 @@ -///============================================================================== -/// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -/// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -/// Copyright 2011 - 2012 MetaScale SAS -/// -/// Distributed under the Boost Software License, Version 1.0. -/// See accompanying file LICENSE.txt or copy at -/// http:///www.boost.org/LICENSE_1_0.txt -///============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_CONSTRUCT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_CONSTRUCT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::iterator_; - - /// INTERNAL ONLY - /// Construct a terminal from a size - /// * Perform a resize on the table's container - BOOST_DISPATCH_IMPLEMENT ( construct_, tag::cpu_ - , (A0)(A1) - , ((node_ < A0,nt2::tag::terminal_ - , boost::mpl::long_<0> - , nt2::container::domain - > - )) - (fusion_sequence_) - ) - { - typedef typename A0::extent_type extent_type; - typedef typename A0::container_type container_type; - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0, A1 const& a1) const - { - boost::proto::value(a0).resize(a1); - } - }; - - /// INTERNAL ONLY - /// Construct a terminal from a size and some unspecified allocator - /// * Construct a proper container from size and allocator - /// * Swap with the table's container - /// - /// This is done even if swap sounds bad with automatic storage table. - /// Good news are that automatic_ table usually don't require allocators ;) - BOOST_DISPATCH_IMPLEMENT ( construct_, tag::cpu_ - , (A0)(A1)(A2) - , ((node_ < A0,nt2::tag::terminal_ - , boost::mpl::long_<0> - , nt2::container::domain - > - )) - (fusion_sequence_) - (unspecified_) - ) - { - typedef typename A0::extent_type extent_type; - typedef typename A0::allocator_type allocator_type; - typedef typename A0::container_type container_type; - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0, A1 const& a1, A2 const& a2) const - { - container_type that((extent_type(a1)),(allocator_type(a2))); - boost::proto::value(a0).swap(that); - } - }; - - /// INTERNAL ONLY - /// Construct a terminal from another expression - /// Non trivial assignment is passed to the parent expression type that will - /// select how to perform the expression evaluation. - BOOST_DISPATCH_IMPLEMENT ( construct_, tag::cpu_ - , (A0)(A1) - , ((node_ < A0,nt2::tag::terminal_ - , boost::mpl::long_<0> - , nt2::container::domain - > - )) - ((ast_)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0, A1 const& a1) const - { - static_cast(a0) = a1; - } - }; - - /// INTERNAL ONLY - /// Construct a terminal from a scalar: - /// * Resize table to [1 1] - /// * Copy the scalar to the table memory (*raw() is the easiest way) - BOOST_DISPATCH_IMPLEMENT ( construct_, tag::cpu_ - , (A0)(A1) - , ((node_ < A0,nt2::tag::terminal_ - , boost::mpl::long_<0> - , nt2::container::domain - > - )) - (scalar_< unspecified_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0, A1 const& a1) const - { - boost::proto::value(a0).resize(of_size_<1,1>()); - *(a0.data()) = a1; - } - }; - - /// INTERNAL ONLY - /// Construct a terminal from a size and a Iterator pair - BOOST_DISPATCH_IMPLEMENT ( construct_, tag::cpu_ - , (A0)(A1)(A2)(A3) - , ((node_ < A0,nt2::tag::terminal_ - , boost::mpl::long_<0> - , nt2::container::domain - > - )) - (fusion_sequence_) - (iterator_< scalar_< unspecified_ > >) - (iterator_< scalar_< unspecified_ > >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type - operator()(A0& a0, A1 const& a1, A2 const& a2, A3 const& a3) const - { - BOOST_ASSERT_MSG - ( nt2::numel(a1) >= (std::size_t)std::distance(a2,a3) - , "Source range is larger than destination container." - ); - - boost::proto::value(a0).resize(a1); - nt2::memory::copy( a2, a3, a0.data() ); - } - }; - -// terminal = terminal for multi architectural - BOOST_DISPATCH_IMPLEMENT_IF( construct_, tag::cpu_ - , (A0)(A1) - , ( meta::is_device_assign ) - , ((node_ < A0,nt2::tag::terminal_ - , boost::mpl::long_<0> - , nt2::container::domain - > - )) - ((node_ < A1,nt2::tag::terminal_ - , boost::mpl::long_<0> - , nt2::container::domain - > - )) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0, A1 const& a1) const - { - boost::proto::value(a0).assign(boost::proto::value(a1)); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/details/function_index_size.hpp b/inst/include/nt2/core/functions/table/details/function_index_size.hpp deleted file mode 100644 index 70f1da8..0000000 --- a/inst/include/nt2/core/functions/table/details/function_index_size.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_DETAILS_FUNCTION_INDEX_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_DETAILS_FUNCTION_INDEX_SIZE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Size of a function_index call node is depends of the indexers - //============================================================================ - template - struct size_of - { - typedef typename boost::proto::result_of:: - child_c::value_type indices; - - typedef typename boost::proto::result_of:: - value< typename boost::proto::result_of:: - child_c::value_type - >::type shape; - typedef typename boost::proto::result_of:: - value< typename boost::proto::result_of:: - child_c::value_type - >::type sizes; - typedef typename boost::proto::result_of:: - value< typename boost::proto::result_of:: - child_c::value_type - >::type::type bases; - - typedef details::make_size< indices::proto_arity_c - , Domain - , shape - , sizes - , bases - , indices - > impl; - typedef typename impl::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return impl() ( boost::proto::value(boost::proto::child_c<1>(e)) - , boost::proto::value(boost::proto::child_c<2>(e)) - , bases() - , boost::proto::child_c<0>(e) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/details/function_index_value_type.hpp b/inst/include/nt2/core/functions/table/details/function_index_value_type.hpp deleted file mode 100644 index 50fbdbf..0000000 --- a/inst/include/nt2/core/functions/table/details/function_index_value_type.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_DETAILS_FUNCTION_INDEX_VALUE_TYPE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_DETAILS_FUNCTION_INDEX_VALUE_TYPE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Extension of value_type to handle function_index call nodes - // The returned value is the value_type of the leftmost children of the node - //============================================================================ - template - struct value_type - { - typedef std::size_t type; - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/details/is_definitely_vector.hpp b/inst/include/nt2/core/functions/table/details/is_definitely_vector.hpp deleted file mode 100644 index 7934fda..0000000 --- a/inst/include/nt2/core/functions/table/details/is_definitely_vector.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_DETAILS_IS_DEFINITELY_VECTOR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_DETAILS_IS_DEFINITELY_VECTOR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - template - struct is_col_vector - { - static const std::size_t n = Seq::static_size; - static const bool is_not = n < 1 || (n > 1 && meta::mpl_safe_at_c >::type::value != -1); - typedef typename meta::indeterminate_false::type type; - }; - - template - struct is_col_vector< nt2::of_size_ > - : meta::true_ - { - }; - - template - struct is_row_vector - { - static const std::size_t n = Seq::static_size; - static const bool is_not = n < 2 || (n > 2 && meta::mpl_safe_at_c >::type::value != -1); - typedef typename meta::indeterminate_false::type type; - }; - - template - struct is_row_vector< nt2::of_size_<1, N> > - : meta::true_ - { - }; - - template - struct is_vector : meta::or_< is_col_vector, is_row_vector > {}; - - template - struct is_definitely_not_vector : boost::is_same::type, meta::false_> {}; - - template - struct is_definitely_vector : boost::is_same::type, meta::true_> {}; - - template - struct is_definitely_col_vector : boost::is_same::type, meta::true_> {}; - - template - struct is_definitely_row_vector : boost::is_same::type, meta::true_> {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/details/is_vectorizable_indexer.hpp b/inst/include/nt2/core/functions/table/details/is_vectorizable_indexer.hpp deleted file mode 100644 index 7cb1b7e..0000000 --- a/inst/include/nt2/core/functions/table/details/is_vectorizable_indexer.hpp +++ /dev/null @@ -1,107 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_DETAILS_IS_VECTORIZABLE_INDEXER_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_DETAILS_IS_VECTORIZABLE_INDEXER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct mpl_safe_next - : boost::mpl::next - { - }; - - template - struct mpl_safe_next - { - typedef It type; - }; - - template - struct is_vectorizable_scalar - : boost::mpl::bool_< T::extent_type::static_size == 0u > - { - }; - - template - struct is_vectorizable_indexer_impl - : boost::mpl::false_ - { - }; - - template - struct is_vectorizable_indexer - : is_vectorizable_indexer_impl - { - }; - - // scalar - template - struct is_vectorizable_indexer_impl< Id, boost::mpl::size_t<1u>, typename boost::enable_if_c< Id::extent_type::static_size == 0u >::type > - : boost::mpl::true_ - { - }; - - template - struct is_vectorizable_indexers_impl - { - typedef typename boost::mpl::end::type seq_end; - - typedef typename boost::mpl:: - find_if< Children - , boost::mpl::not_< is_vectorizable_indexer< boost::mpl::_1, Cardinal > > - >::type it; - - typedef typename boost::mpl:: - fold < boost::mpl::iterator_range< it, typename mpl_safe_next::type > - , boost::mpl::true_ - , boost::mpl::and_< boost::mpl::_1 - , is_vectorizable_indexer< boost::mpl::_2, boost::mpl::size_t<1> > - > - >::type init; - - typedef typename boost::mpl:: - fold < boost::mpl::iterator_range< typename mpl_safe_next::type, seq_end > - , init - , boost::mpl::and_< boost::mpl::_1 - , is_vectorizable_scalar< boost::mpl::_2 > - > - >::type type; - - static const bool value = type::value; - }; - - - template - struct is_vectorizable_indexers - : is_vectorizable_indexers_impl::type>::type> - { - }; - - template - struct is_contiguous_indexers - : is_vectorizable_indexers_impl > - { - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/details/make_size.hpp b/inst/include/nt2/core/functions/table/details/make_size.hpp deleted file mode 100644 index 7990ccd..0000000 --- a/inst/include/nt2/core/functions/table/details/make_size.hpp +++ /dev/null @@ -1,198 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_DETAILS_MAKE_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_DETAILS_MAKE_SIZE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag -{ - struct relative_colon_; -} } - -namespace nt2 { namespace details -{ - /// INTERNAL ONLY - /// Build a of_size for size_of - template< int N - , class Domain - , class Shape - , class Sizes, class Bases - , class Children - > - struct make_size; - \ - #define M1(z,n,t) \ - mpl_value \ - < typename meta:: \ - call< tag::relative_size_ \ - ( typename boost::proto::result_of::child_c::type \ - , typename boost::fusion::result_of:: \ - at_c::type, n>::type \ - , typename boost::fusion::result_of:: \ - at_c::type, n>::type \ - ) \ - >::type \ - >::value \ - /**/ - - #define M2(z,n,t) \ - that[n] = nt2::relative_size( boost::proto::child_c(children) \ - , boost::fusion::at_c(sz) \ - , boost::fusion::at_c(bs) \ - ); \ - /**/ - - #define M4(t) t - #define M5(t) - - #define M3(z,n,t) \ - template \ - struct impl \ - { \ - BOOST_FORCEINLINE \ - static result_type call( Sizes const& BOOST_PP_IF(n,M4,M5)(sz) \ - , Bases const& BOOST_PP_IF(n,M4,M5)(bs) \ - , Children const& BOOST_PP_IF(n,M4,M5)(children) \ - ) \ - { \ - result_type that; \ - BOOST_PP_REPEAT(n, M2, t) \ - return that; \ - } \ - }; \ - /**/ - - #define M0(z,n,t) \ - template< class Domain \ - , class Shape, class Sizes, class Bases \ - , class Children \ - > \ - struct make_size \ - { \ - typedef of_size_ result_type; \ - \ - template \ - struct impl {}; \ - \ - BOOST_PP_REPEAT(BOOST_PP_INC(n), M3, n) \ - \ - BOOST_FORCEINLINE result_type \ - operator()(Shape const&, Sizes const& s, Bases const& b, Children const& children) const \ - { \ - return impl::call(s, b, children); \ - } \ - }; \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(2, BOOST_PP_INC(NT2_MAX_DIMENSIONS), M0, ~) - #undef M0 - #undef M1 - #undef M2 - #undef M3 - #undef M4 - #undef M5 - - template< class Domain - , class Shape, class Sizes, class Bases - , class Children - > - struct make_size<1, Domain, Shape, Sizes, Bases, Children> - { - typedef typename boost::proto::result_of::child_c::value_type::extent_type idx0_sz; - static const std::size_t shape_min = Shape::static_size > 2u ? 2u : Shape::static_size; - static const std::size_t size_max = idx0_sz::static_size > shape_min ? idx0_sz::static_size : shape_min; - typedef typename nt2::make_size::type size_max_type; - - typedef typename boost::mpl:: - if_< boost::mpl::and_ < is_definitely_vector - , is_definitely_vector - > - , typename boost::mpl::if_c< Shape::static_size == 1u - , nt2::of_size_<-1> - , nt2::of_size_<1, -1> - >::type - , typename boost::mpl:: - if_< boost::mpl::or_ < is_definitely_not_vector - , is_definitely_not_vector - > - , idx0_sz - , size_max_type - >::type - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()( Shape const& shp, Sizes const& sz - , Bases const& bs, Children const& children - ) const - { - std::size_t s = nt2::relative_size( boost::proto::child_c<0>(children) - , boost::fusion::at_c<0>(sz) - , boost::fusion::at_c<0>(bs) - ); - - // Select shorter computation if relactive_colon is involved - typedef boost::is_same< typename Children::proto_child0::proto_tag - , nt2::tag::relative_colon_ - > select_t; - - return eval(shp,children,s,typename select_t::type()); - } - - BOOST_FORCEINLINE result_type - eval( Shape const& shp, Children const& children, std::size_t s - , boost::mpl::false_ const& - ) const - { - idx0_sz const& idx0 = boost::proto::child_c<0>(children).extent(); - std::size_t n = nt2::ndims(shp); - std::size_t m = nt2::ndims(idx0); - - bool idx0_vector = (m == 1u) - || ( m == 2u && boost::fusion::at_c<0>(idx0) == 1u); - - // column vector - if(idx0_vector && n == 1u) return nt2::of_size(s); - - // row vector - if(idx0_vector && n == 2u && boost::fusion::at_c<0>(shp) == 1u) - return nt2::of_size(1u, s); - - // Else return the extent - return boost::proto::child_c<0>(children).extent(); - } - - BOOST_FORCEINLINE result_type - eval( Shape const&, Children const& - , std::size_t s, boost::mpl::true_ const& - ) const - { - return nt2::of_size(1u, s); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/details/reindex.hpp b/inst/include/nt2/core/functions/table/details/reindex.hpp deleted file mode 100644 index 3e4d06f..0000000 --- a/inst/include/nt2/core/functions/table/details/reindex.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_DETAILS_REINDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_DETAILS_REINDEX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - /// INTERNAL ONLY - /// This helper functor forward calls to relative_index - /// inside a fusion::transform - struct reindex - { - template struct result; - - template struct result - : meta:: - call< nt2::tag::relative_index_ - ( typename boost::fusion::result_of:: - at_c< typename boost::remove_reference::type const - , 0 - >::type - , typename boost::fusion::result_of:: - at_c< typename boost::remove_reference::type const - , 1 - >::type - , typename boost::fusion::result_of:: - at_c< typename boost::remove_reference::type const - , 2 - >::type - , typename boost::fusion::result_of:: - at_c< typename boost::remove_reference::type const - , 3 - >::type - , typename boost::fusion::result_of:: - at_c< typename boost::remove_reference::type const - , 4 - >::type - ) - > - {}; - - template - BOOST_FORCEINLINE typename result::type - operator()(T const& t) const - { - return nt2::relative_index( boost::fusion::at_c<0>(t) - , boost::fusion::at_c<1>(t) - , boost::fusion::at_c<2>(t) - , boost::fusion::at_c<3>(t) - , boost::fusion::at_c<4>(t) - ); - } - }; - - /// INTERNAL ONLY - /// Turn SIMD values or targets into integer SIMD, use std::size_t for scalars - template - struct as_integer_target - : meta::as_index - { - }; - - template - struct as_integer_target< boost::dispatch::meta::as_ > - : as_integer_target - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/extent.hpp b/inst/include/nt2/core/functions/table/extent.hpp deleted file mode 100644 index d5e1cad..0000000 --- a/inst/include/nt2/core/functions/table/extent.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_EXTENT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_EXTENT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( extent_, tag::cpu_ - , (A0)(S0)(K0) - , ((container_,S0>)) - ) - { - typedef typename A0::extent_type const& result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const { return a0.extent(); } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/function.hpp b/inst/include/nt2/core/functions/table/function.hpp deleted file mode 100644 index 7049c2b..0000000 --- a/inst/include/nt2/core/functions/table/function.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_FUNCTION_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_FUNCTION_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (Expr)(State)(Data)(Arity) - , ((expr_< unspecified_ - , nt2::tag::function_ - , Arity - > - )) - (generic_< integer_ >) - (unspecified_) - ) - { - typedef typename boost::proto::result_of::child_c::type child0; - typedef typename boost::proto::result_of::child_c::type child1; - - typedef typename meta::call< tag::run_( child0 - , typename meta::call< tag::run_ ( child1 - , State const& - , Data const& - ) - >::type - , Data const& - ) - >::type result_type; - - BOOST_FORCEINLINE result_type - operator()(Expr& expr, State const& state, Data const& data) const - { - return nt2::run( boost::proto::child_c<0>(expr) - , nt2::run( boost::proto::child_c<1>(expr) - , state - , data - ) - , data - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/function_index.hpp b/inst/include/nt2/core/functions/table/function_index.hpp deleted file mode 100644 index 79c08c7..0000000 --- a/inst/include/nt2/core/functions/table/function_index.hpp +++ /dev/null @@ -1,115 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_FUNCTION_INDEX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_FUNCTION_INDEX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( run_, tag::cpu_ - , (Expr)(State)(Data)(Arity) - , ((expr_< unspecified_ - , nt2::tag::function_index_ - , Arity - > - )) - (generic_< integer_ >) - (unspecified_) - ) - { - // Get the indexed parameters - typedef typename boost::proto::result_of:: - value< typename boost::proto::result_of:: - child_c::value_type - >::type size_type; - - typedef typename boost::proto::result_of:: - value< typename boost::proto::result_of:: - child_c::value_type - >::type::type index_type; - - // Get the indexing expression pack - typedef typename boost::proto::result_of:: - child_c::value_type childN; - - // ... and computes its number of indexes - static const long arity = childN::proto_arity_c; - - // Compute a type able to hold the position we look for - typedef typename boost::mpl:: - if_< typename is_vectorizable_indexers::type - , State - , typename details::as_integer_target::type - >::type i_t; - typedef boost::array pos_type; - - // Once set, we build a type with evaluation targets - typedef boost::array< boost::dispatch::meta::as_ - , arity - > target_type; - - // We use a zip_view for passign all those informations to relative_index - typedef boost::fusion::vector< childN const& - , index_type const& - , size_type const& - , pos_type const& - , target_type const& - > seq; - - typedef boost::fusion::zip_view zipped; - typedef boost::fusion:: - transform_view transformed; - - typedef i_t result_type; - - BOOST_FORCEINLINE result_type - operator()(Expr& expr, State const& state, Data const&) const - { - // Compute base index of the source expression - index_type indexes; - target_type targets; - - // Grab the destination subscript - pos_type pos = as_subscript( typename make_size::type(expr.extent()) - , nt2::enumerate(state) - ); - - // Apply index_t to each subscript value - transformed trs = boost::fusion:: - transform( zipped - ( seq( boost::proto::child_c<0>(expr) - , indexes - , boost::proto::value(boost::proto::child_c<2>(expr)) - , pos - , targets - ) - ) - , details::reindex() - ); - - // Get the linear position from the transformed subscript and evaluate - return nt2::as_index( boost::proto::value(boost::proto::child_c<2>(expr)) - , trs - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/numel.hpp b/inst/include/nt2/core/functions/table/numel.hpp deleted file mode 100644 index 886dd6b..0000000 --- a/inst/include/nt2/core/functions/table/numel.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//===========================//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_NUMEL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_NUMEL_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( numel_, tag::cpu_ - , (A0)(S0)(K0) - , ((container_,S0>)) - ) - { - typedef typename - meta::call::type result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - return nt2::numel(nt2::extent(a0)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/table/size.hpp b/inst/include/nt2/core/functions/table/size.hpp deleted file mode 100644 index d52fcab..0000000 --- a/inst/include/nt2/core/functions/table/size.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_SIZE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_SIZE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( size_, tag::cpu_ - , (A0)(S0)(K0) - , ((container_,S0>)) - ) - { - typedef typename meta::call::type base; - typedef typename meta::strip::type ext_t; - - static const std::size_t len = ext_t::static_size; - static const std::size_t olen = len > 2 ? len : 2; - - typedef container::table< std::size_t - , settings(automatic_, of_size_<1, olen>) - > result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - result_type that; - std::size_t i=1; - for(; i,S0>)) - (scalar_< unspecified_ >) - ) - { - typedef std::size_t result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0,const A1& a1) const - { - std::size_t nb_dims = nt2::extent(a0).size(); - return std::size_t(a1-1) < nb_dims ? nt2::extent(a0)[a1-1] : 1; - } - }; -} } - -#endif - diff --git a/inst/include/nt2/core/functions/table/swap.hpp b/inst/include/nt2/core/functions/table/swap.hpp deleted file mode 100644 index 6c52e30..0000000 --- a/inst/include/nt2/core/functions/table/swap.hpp +++ /dev/null @@ -1,115 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TABLE_SWAP_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TABLE_SWAP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( swap_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1) const - { - eval( a0, a1 - , boost::mpl::bool_ < meta::is_container_terminal::value - && meta::is_container_terminal::value - >() - , typename meta::is_layout_compatible::type() - ); - } - - BOOST_FORCEINLINE result_type - eval( A0& a0, A1& a1 - , boost::mpl::true_ const&, boost::mpl::true_ const& - ) const - { - boost::proto::value(a0).swap(boost::proto::value(a1)); - } - - BOOST_FORCEINLINE result_type - eval( A0& a0, A1& a1 - , boost::mpl::true_ const&, boost::mpl::false_ const& - ) const - { - if(extent(a0) == extent(a1)) - { - nt2::tie(a1,a0) = nt2::tie(a0,a1); - } - else - { - // std::swap can't handle different types - A0 tmp = a0; - a0 = a1; - a1 = tmp; - } - } - - template - BOOST_FORCEINLINE result_type - eval(A0& a0, A1& a1, boost::mpl::false_ const&, Same const&) const - { - BOOST_ASSERT_MSG( numel(a0) == numel(a1) - , "Swapping expression with incompatible sizes." - ); - - nt2::tie(a1,a0) = nt2::tie(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( swap_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1) const - { - BOOST_ASSERT_MSG( numel(a0) == 1u - , "Swapping non-scalar expression with a scalar" - ); - - boost::swap(a0(first_index<1>(a0)),a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( swap_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - ((ast_)) - ) - { - typedef void result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1) const - { - BOOST_ASSERT_MSG( numel(a1) == 1u - , "Swapping non-scalar expression with a scalar" - ); - - boost::swap(a0, a1(first_index<1>(a1)) ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/ten.hpp b/inst/include/nt2/core/functions/ten.hpp deleted file mode 100644 index ef0de3e..0000000 --- a/inst/include/nt2/core/functions/ten.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TEN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TEN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Ten,ten, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/third.hpp b/inst/include/nt2/core/functions/third.hpp deleted file mode 100644 index eba0dbe..0000000 --- a/inst/include/nt2/core/functions/third.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_THIRD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_THIRD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Third,third, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/thirdrooteps.hpp b/inst/include/nt2/core/functions/thirdrooteps.hpp deleted file mode 100644 index 70300c0..0000000 --- a/inst/include/nt2/core/functions/thirdrooteps.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_THIRDROOTEPS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_THIRDROOTEPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Thirdrooteps,thirdrooteps, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/thousand.hpp b/inst/include/nt2/core/functions/thousand.hpp deleted file mode 100644 index 9697ac9..0000000 --- a/inst/include/nt2/core/functions/thousand.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_THOUSAND_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_THOUSAND_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Thousand,thousand, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/three.hpp b/inst/include/nt2/core/functions/three.hpp deleted file mode 100644 index 83201d1..0000000 --- a/inst/include/nt2/core/functions/three.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_THREE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_THREE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Three,three, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/threeeps.hpp b/inst/include/nt2/core/functions/threeeps.hpp deleted file mode 100644 index c3c6393..0000000 --- a/inst/include/nt2/core/functions/threeeps.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_THREEEPS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_THREEEPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Threeeps,threeeps, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/tie.hpp b/inst/include/nt2/core/functions/tie.hpp deleted file mode 100644 index 56ede89..0000000 --- a/inst/include/nt2/core/functions/tie.hpp +++ /dev/null @@ -1,134 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TIE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TIE_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the nt2::tie function - */ - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct tie_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_tie_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_tie_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_tie_; - } - - //============================================================================ - /*! - * Tie terminals for multi-return function handling - */ - //============================================================================ - #define param(r,_,i,b) (BOOST_PP_CAT(A,i) BOOST_PP_CAT(c,b) &) - - #define c0 - #define c1 const - #define bits(z, n, _) ((0)(1)) - - #define call_operator(r, constness) \ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::tie_, tie, BOOST_PP_SEQ_FOR_EACH_I_R(r,param,~,constness), BOOST_PP_SEQ_SIZE(constness)) - /**/ - - #define M0(z,n,t) \ - BOOST_PP_SEQ_FOR_EACH_PRODUCT_R( \ - z, \ - call_operator \ - , BOOST_PP_REPEAT(n, bits, ~) \ - ) \ - /**/ - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_DISPATCH_MAX_ARITY),M0,~) - - #undef M0 - #undef bits - #undef c1 - #undef c0 - #undef param - #undef call_operator -} - -//============================================================================== -// Specify tie node generation processs -//============================================================================== -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type child0; - typedef typename child0::extent_type const& result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& expr) const - { - return boost::proto::child_c<0>(expr).extent(); - } - }; -} } - -namespace nt2 { namespace details -{ - //============================================================================ - // INTERNAL ONLY - // tie semantic is a fusion sequence and don't carry any special meaning. - //============================================================================ - template - struct generator - { - typedef typename boost::remove_const::type base_t; - typedef typename boost::fusion::result_of::as_vector::type sem_t; - typedef typename boost::mpl::transform< sem_t - , boost::dispatch::meta - ::semantic_of - >::type semantic_t; - - typedef container::expression result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return result_type(e); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/transform.hpp b/inst/include/nt2/core/functions/transform.hpp deleted file mode 100644 index 7deae72..0000000 --- a/inst/include/nt2/core/functions/transform.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TRANSFORM_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TRANSFORM_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the nt2::transform function - */ - -#include - -namespace nt2 -{ - namespace tag - { - struct transform_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_transform_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_transform_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_transform_; - } - - //============================================================================ - /*! - * Evaluates all elements of \c a1, possibly in parallel, - * and store the result in \c a0. - * - * \param a0 Expression to store result in - * \param a1 Expression to evaluate - * \param a2 Optional pair containing linear offset and number of element to process - * \return nothing - */ - //============================================================================ - - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::transform_, transform, 2) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::transform_, transform, (A0&)(A1 const&), 2) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::transform_, transform, (A0 const&)(A1&), 2) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::transform_, transform, (A0&)(A1&), 2) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::transform_, transform, 3) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::transform_, transform, (A0&)(A1 const&)(A2 const&), 3) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::transform_, transform, (A0 const&)(A1&)(A2 const&), 3) - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::transform_, transform, (A0&)(A1&)(A2 const&), 3) -} - -#endif diff --git a/inst/include/nt2/core/functions/transpose.hpp b/inst/include/nt2/core/functions/transpose.hpp deleted file mode 100644 index 0b69803..0000000 --- a/inst/include/nt2/core/functions/transpose.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TRANSPOSE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TRANSPOSE_HPP_INCLUDED -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief transpose generic tag - - Represents the transpose function in generic contexts. - - @par Models: - Hierarchy - **/ - struct transpose_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_transpose_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_transpose_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_transpose_; - } - /*! - Transpose a matrix expression. - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = transpose(a0); - @endcode - - produces r such that for every valid couple of indices i, j: - - @code - r(j, i) = a0(i, j) - @endcode - - @par alias: @c trans - @param a0 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::transpose_, transpose, 1) - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::transpose_, trans, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - //BOOST_ASSERT(ndims(boost::proto::child_c<0>(e)) <= 2); - return _2D( boost::fusion::at_c<1>(boost::proto::child_c<0>(e).extent()) - , boost::fusion::at_c<0>(boost::proto::child_c<0>(e).extent()) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/core/functions/trapz.hpp b/inst/include/nt2/core/functions/trapz.hpp deleted file mode 100644 index fc74056..0000000 --- a/inst/include/nt2/core/functions/trapz.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TRAPZ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TRAPZ_HPP_INCLUDED - -#include -namespace nt2 -{ - namespace tag - { - struct trapz_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_trapz_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_trapz_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_trapz_; - } - /*! - @brief Trapezoidal numerical integration - - - - @par Semantic - - - @code - auto r = trapz(y); - @endcode - - Computes an approximation of the integral of y via - the trapezoidal method (with unit spacing). to compute the integral - for spacing different from one, multiply z by the spacing increment. - - for vectors, trapz(y) is the integral of y. for matrices, trapz(y) - is a row vector with the integral over each column. for n-d - arrays, trapz(y) works across the first non-singleton dimension. - - - @code - auto r = trapz(x, y); - @endcode - - computes the integral of y with respect to x using - the trapezoidal method. x must be a vector and y must a vector of the same - length as the numel of x or an array whose first - non-singleton dimension has numel(x) elements. trapz operates along this - dimension. - - - @code - auto r = trapz(x, y, n); - @endcode - - or - - - @code - auto r = trapz(y,dim) - @endcode - - integrates across dimension dim - of y. the length of x must be the same as size(y,n) and x gives the abscissae. - - @par Note: - On the interval \f$[a, b]\f$ and value \f$y_a\f$, \f$y_b\f$, the trapezoidal integration formula write down: - - \f$ t = \frac{y_a+y_b}2 (b-a)\f$ - - @see @funcref{firstnonsingleton} - - @param a0 Table expression to process if a1 is not present, or abscissae - @param a1 Table expression to process or dimension along which to process - @param a2 if present Dimension along which to process a0 - - @return An expression eventually evaluating to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::trapz_ , trapz, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::trapz_ , trapz, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::trapz_ , trapz, 1) - -} - - -#endif diff --git a/inst/include/nt2/core/functions/tri1l.hpp b/inst/include/nt2/core/functions/tri1l.hpp deleted file mode 100644 index cb32e9c..0000000 --- a/inst/include/nt2/core/functions/tri1l.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TRI1L_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TRI1L_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief tri1l generic tag - - Represents the tri1l function in generic contexts. - - @par Models: - Hierarchy - **/ - struct tri1l_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_tri1l_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_tri1l_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_tri1l_; - } - - /*! - @brief Apply a 1-lower-triangular masking to an expression - - returns the elements below the diagonal of @c a0, 1 on the diagonal - and 0 elsewhere. - - @param a0 Expression to mask. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::tri1l_, tri1l, 1) - - - /*! - @brief Apply an offset 1-lower-triangular masking to an expression - - returns the elements below the @c a1 diagonal of @c a0, 1 on the kth diagonal - and 0 elsewhere. - - @c a1 = 0 is the main diagonal, - - @c a1 > 0 is above the main diagonal, - - @c a1 < 0 is below the main diagonal. - - @see funcref{triu}, funcref{tri1u}, funcref{tril} - @param a0 Expression to mask. - @param a1 Diagonal offset to the mask. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::tri1l_, tri1l, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/tri1u.hpp b/inst/include/nt2/core/functions/tri1u.hpp deleted file mode 100644 index a2357c1..0000000 --- a/inst/include/nt2/core/functions/tri1u.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TRI1U_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TRI1U_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief tri1u generic tag - - Represents the tri1u function in generic contexts. - - @par Models: - Hierarchy - **/ - struct tri1u_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_tri1u_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_tri1u_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_tri1u_; - } - - /*! - @brief Apply a 1-upper-triangular masking to an expression - - returns the elements above the @c a1 diagonal of @c a0, 1 on the kth diagonal - and 0 elsewhere. - - @c a1 = 0 is the main diagonal, - - @c a1 > 0 is above the main diagonal, - - @c a1 < 0 is below the main diagonal. - - @see funcref{triu}, funcref{tril}, funcref{tri1l} - - @param a0 Expression to mask. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::tri1u_, tri1u, 1) - - - /*! - @brief Apply an offset 1-upper-triangular masking to an expression - - Apply a mask on an expression that evaluates to 0 everywhere except on the - upper triangular part of @c a0 and @c a1 subdiagonal and 1 on the diagonal. - - @param a0 Expression to mask. - @param a1 Diagonal offset to the mask. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::tri1u_, tri1u, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/tril.hpp b/inst/include/nt2/core/functions/tril.hpp deleted file mode 100644 index dd821f3..0000000 --- a/inst/include/nt2/core/functions/tril.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TRIL_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TRIL_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief tril generic tag - - Represents the tril function in generic contexts. - - @par Models: - Hierarchy - **/ - struct tril_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_tril_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_tril_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_tril_; - } - - /*! - @brief Apply a lower-triangular masking to an expression - - returns the elements on and below the diagonal of @c a0 - and 0 elsewhere. - - @param a0 Expression to mask. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::tril_, tril, 1) - - - /*! - @brief Apply an offset lower-triangular masking to an expression - - returns the elements on and below the @c a1-th diagonal of @c a0, 0 elsewhere. - - @c a1 = 0 is the main diagonal, - - @c a1 > 0 is above the main diagonal, - - @c a1 < 0 is below the main diagonal. - - @see funcref{triu}, funcref{tri1u}, funcref{tri1l} - @param a0 Expression to mask. - @param a1 Diagonal offset to the mask. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::tril_, tril, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/triu.hpp b/inst/include/nt2/core/functions/triu.hpp deleted file mode 100644 index bc6b437..0000000 --- a/inst/include/nt2/core/functions/triu.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TRIU_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TRIU_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief triu generic tag - - Represents the triu function in generic contexts. - - @par Models: - Hierarchy - **/ - struct triu_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_triu_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_triu_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_triu_; - } - - /*! - @brief Apply a upper-triangular masking to an expression - - returns the elements on and above the @c a1-th diagonal of @c a0, 0 elsewhere. - - @c a1 = 0 is the main diagonal, - - @c a1 > 0 is above the main diagonal, - - @c a1 < 0 is below the main diagonal. - - Apply a mask on an expression that evaluates to 0 everywhere except on the - upper triangular part of @c a0. - - @see funcref{tri1u}, funcref{tril}, funcref{tri1l} - @param a0 Expression to mask. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::triu_, triu, 1) - - - /*! - @brief Apply an offset upper-triangular masking to an expression - - Apply a mask on an expression that evaluates to 0 everywhere except on the - upper triangular part of @c a0 and @c a1 subdiagonal. - - @param a0 Expression to mask. - @param a1 Diagonal offset to the mask. - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::triu_, triu, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/trues.hpp b/inst/include/nt2/core/functions/trues.hpp deleted file mode 100644 index ed8cc71..0000000 --- a/inst/include/nt2/core/functions/trues.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TRUES_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TRUES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::True, trues, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } - -#endif diff --git a/inst/include/nt2/core/functions/twelve.hpp b/inst/include/nt2/core/functions/twelve.hpp deleted file mode 100644 index a13ec3c..0000000 --- a/inst/include/nt2/core/functions/twelve.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TWELVE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TWELVE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Twelve,twelve, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/twenty.hpp b/inst/include/nt2/core/functions/twenty.hpp deleted file mode 100644 index 298bdb4..0000000 --- a/inst/include/nt2/core/functions/twenty.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TWENTY_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TWENTY_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Twenty,twenty, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/two.hpp b/inst/include/nt2/core/functions/two.hpp deleted file mode 100644 index ec4b1e0..0000000 --- a/inst/include/nt2/core/functions/two.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TWO_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TWO_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Two generator - - Create an array full of 2. - - @par Semantic: - - two() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = two(); - @endcode - is equivalent to - @code - double x = 2.; - @endcode - - - For any Integer @c n, the following code: - @code - auto x = two(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - @c double 2. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = two(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - @c double 2. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = two(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with @c double 2. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = two(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with @c double 2. - - - For any type @c T, the following code: - @code - T x = two( as_() ); - @endcode - is equivalent to - @code - T x = T(2); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = two(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - type @c T twos. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = two(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with type @c T twos. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = two(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with type @c T twos. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = two(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with type @c T twos. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Two constant. - - @sa Two - **/ - template - details::unspecified two(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified two(Args const&... dims); - - /// @overload - template ClassName::type two(ClassName const& classname); - - /// @overload - double two(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Two,two, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/twoofive.hpp b/inst/include/nt2/core/functions/twoofive.hpp deleted file mode 100644 index 0da2b34..0000000 --- a/inst/include/nt2/core/functions/twoofive.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TWOOFIVE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TWOOFIVE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Twoofive,twoofive, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/twothird.hpp b/inst/include/nt2/core/functions/twothird.hpp deleted file mode 100644 index 9ff2323..0000000 --- a/inst/include/nt2/core/functions/twothird.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TWOTHIRD_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TWOTHIRD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Twothird,twothird, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/twoto31.hpp b/inst/include/nt2/core/functions/twoto31.hpp deleted file mode 100644 index 59cda6c..0000000 --- a/inst/include/nt2/core/functions/twoto31.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TWOTO31_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TWOTO31_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Twoto31 generator - - Create an array full of the Twoto31 constant. - - @par Semantic: - - twoto31() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = twoto31(); - @endcode - is equivalent to - @code - double x = Twoto31(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = twoto31(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Twoto31() value. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = twoto31(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Twoto31() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = twoto31(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Twoto31() value. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = twoto31(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Twoto31() value. - - - For any type @c T, the following code: - @code - T x = twoto31( as_() ); - @endcode - is equivalent to - @code - T x = Twoto31(); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = twoto31(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Twoto31() value. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = twoto31(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Twoto31() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = twoto31(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Twoto31() value. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = twoto31(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Twoto31() value. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Twoto31 constant. - - @sa Twoto31 - **/ - template - details::unspecified twoto31(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified twoto31(Args const&... dims); - - /// @overload - template ClassName::type twoto31(ClassName const& classname); - - /// @overload - double twoto31(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Twoto31,twoto31, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/twotom10.hpp b/inst/include/nt2/core/functions/twotom10.hpp deleted file mode 100644 index 2802b54..0000000 --- a/inst/include/nt2/core/functions/twotom10.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TWOTOM10_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TWOTOM10_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Twotom10 generator - - Create an array full of the Twotom10 constant. - - @par Semantic: - - twotom10() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = twotom10(); - @endcode - is equivalent to - @code - double x = Twotom10(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = twotom10(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Twotom10() value. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = twotom10(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Twotom10() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = twotom10(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Twotom10() value. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = twotom10(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Twotom10() value. - - - For any type @c T, the following code: - @code - T x = twotom10( as_() ); - @endcode - is equivalent to - @code - T x = Twotom10(); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = twotom10(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Twotom10() value. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = twotom10(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Twotom10() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = twotom10(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Twotom10() value. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = twotom10(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Twotom10() value. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Twotom10 constant. - - @sa Twotom10 - **/ - template - details::unspecified twotom10(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified twotom10(Args const&... dims); - - /// @overload - template ClassName::type twotom10(ClassName const& classname); - - /// @overload - double twotom10(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Twotom10,twotom10, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/twotonmb.hpp b/inst/include/nt2/core/functions/twotonmb.hpp deleted file mode 100644 index 1983683..0000000 --- a/inst/include/nt2/core/functions/twotonmb.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_TWOTONMB_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_TWOTONMB_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Twotonmb generator - - Create an array full of the Twotonmb constant. - - @par Semantic: - - twotonmb() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = twotonmb(); - @endcode - is equivalent to - @code - double x = Twotonmb(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = twotonmb(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Twotonmb() value. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = twotonmb(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Twotonmb() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = twotonmb(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Twotonmb() value. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = twotonmb(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Twotonmb() value. - - - For any type @c T, the following code: - @code - T x = twotonmb( as_() ); - @endcode - is equivalent to - @code - T x = Twotonmb(); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = twotonmb(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Twotonmb() value. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = twotonmb(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Twotonmb() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = twotonmb(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Twotonmb() value. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = twotonmb(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Twotonmb() value. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Twotonmb constant. - - @sa Twotonmb - **/ - template - details::unspecified twotonmb(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified twotonmb(Args const&... dims); - - /// @overload - template ClassName::type twotonmb(ClassName const& classname); - - /// @overload - double twotonmb(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Twotonmb,twotonmb, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/unique.hpp b/inst/include/nt2/core/functions/unique.hpp deleted file mode 100644 index 4033a45..0000000 --- a/inst/include/nt2/core/functions/unique.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_UNIQUE_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_UNIQUE_HPP_INCLUDED - - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief unique generic tag - - Represents the unique function in generic contexts. - - @par Models: - Hierarchy - **/ - struct unique_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_unique_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_unique_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_unique_; - } - - /*! - sort and suppress duplicates elements. - - @par Semantic: - - For every matrix expression - - @code - auto r = unique(a0); - @endcode - - returns the same data as in a0, but with no repetitions as a sorted column vector. - - @param a0 - - @return a column vector of size less or equal to numel(a) - **/ - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::unique_ , unique, 1) -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/core/functions/valmax.hpp b/inst/include/nt2/core/functions/valmax.hpp deleted file mode 100644 index 0e35c8e..0000000 --- a/inst/include/nt2/core/functions/valmax.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_VALMAX_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_VALMAX_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Valmax generator - - Create an array full of the Valmax constant. - - @par Semantic: - - valmax() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = valmax(); - @endcode - is equivalent to - @code - double x = Valmax(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = valmax(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Valmax() value. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = valmax(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Valmax() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = valmax(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Valmax() value. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = valmax(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Valmax() value. - - - For any type @c T, the following code: - @code - T x = valmax( as_() ); - @endcode - is equivalent to - @code - T x = Valmax(); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = valmax(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Valmax() value. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = valmax(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Valmax() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = valmax(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Valmax() value. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = valmax(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Valmax() value. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Valmax constant. - - @sa Valmax - **/ - template - details::unspecified valmax(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified valmax(Args const&... dims); - - /// @overload - template ClassName::type valmax(ClassName const& classname); - - /// @overload - double valmax(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Valmax,valmax, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/valmin.hpp b/inst/include/nt2/core/functions/valmin.hpp deleted file mode 100644 index 0985e05..0000000 --- a/inst/include/nt2/core/functions/valmin.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_VALMIN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_VALMIN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Valmin generator - - Create an array full of the Valmin constant. - - @par Semantic: - - valmin() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = valmin(); - @endcode - is equivalent to - @code - double x = Valmin(); - @endcode - - - For any Integer @c n, the following code: - @code - auto x = valmin(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Valmin() value. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = valmin(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Valmin() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = valmin(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Valmin() value. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = valmin(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Valmin() value. - - - For any type @c T, the following code: - @code - T x = valmin( as_() ); - @endcode - is equivalent to - @code - T x = Valmin(); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = valmin(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table filled with - the Valmin() value. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = valmin(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} table filled - with the Valmin() value. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = valmin(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table filled with the Valmin() value. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = valmin(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table filled with the Valmin() value. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - filled with the @c Valmin constant. - - @sa Valmin - **/ - template - details::unspecified valmin(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified valmin(Args const&... dims); - - /// @overload - template ClassName::type valmin(ClassName const& classname); - - /// @overload - double valmin(); - - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Valmin,valmin, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - - #endif -} - -namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct value_type - : meta::generative_value - {}; - - /// INTERNAL ONLY - template - struct size_of - : meta::generative_size - {}; -} } -#endif - diff --git a/inst/include/nt2/core/functions/var.hpp b/inst/include/nt2/core/functions/var.hpp deleted file mode 100644 index 5323d75..0000000 --- a/inst/include/nt2/core/functions/var.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_VAR_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_VAR_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the var functor - **/ - struct var_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_var_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_var_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_var_; - } - /*! - @brief variance of a table along a given dimension - - Returns the variance of a table along a given dimension - - @par Semantic - - For any table expression of T @c t integer or weights w and any integer @c n: - - @code - auto r = var(t, w, n); - @endcode - - is equivalent to: - - if w is an integer - - @code - size_t h = size(a, n); - auto r = asum2(a-mean(a, n))/(w || (h == 1))? h : h-1); - @endcode - - if w is an expression table of positive weights - - @code - auto r = asum2(a-mean(a, w, n))/sum(w); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{mean}, @funcref{asum2} - @param a0 Table expression to process - @param a1 normalization hint or table expression of weights - @param a2 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::var_ , var, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::var_ , var, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::var_ , var, 1) -} - - -#endif diff --git a/inst/include/nt2/core/functions/vertcat.hpp b/inst/include/nt2/core/functions/vertcat.hpp deleted file mode 100644 index fbc9e79..0000000 --- a/inst/include/nt2/core/functions/vertcat.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_VERTCAT_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_VERTCAT_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief vertcat generic tag - - Represents the vertcat function in generic contexts. - - @par Models: - Hierarchy - **/ - struct vertcat_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_vertcat_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_vertcat_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_vertcat_; - } - /*! - Vertical concatenation - - @par Semantic: - - For every parameter of type T0 - - @code - T0 r = vertcat(a0); - @endcode - - is similar to: - - @code - auto r = cat(1, a0, a1); - @endcode - - @see @funcref{horzcat}, @funcref{cat} - - @par alias: @c catv - @param a0 - @param a1 - - @return an expression which eventually will evaluate to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::vertcat_, vertcat, 2) - /// INTERNAL ONLY - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::vertcat_, vertcat, 1) - /// INTERNAL ONLY - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::vertcat_, catv, 1) - /// INTERNAL ONLY - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::vertcat_, catv, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/whereij.hpp b/inst/include/nt2/core/functions/whereij.hpp deleted file mode 100644 index c8969b0..0000000 --- a/inst/include/nt2/core/functions/whereij.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_WHEREIJ_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_WHEREIJ_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the whereij function - **/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for whereij functor - **/ - struct whereij_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_whereij_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_whereij_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_whereij_; - } - - /*! - @brief Act as : for i for j r(i, j) = f(i, j) ? a(i, j) : b(i, j) - @param f Binary Polymorphic Function object to apply to 0 based indices - @param a First expression to process - @param b Second expression to process - - see @funcref{if_else} - **/ - template BOOST_FORCEINLINE - typename meta::call::type - whereij(Functor const& f, A0 const& a, A1 const& b) - { - return typename make_functor::type()(f,a,b); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/whereijk.hpp b/inst/include/nt2/core/functions/whereijk.hpp deleted file mode 100644 index 4010431..0000000 --- a/inst/include/nt2/core/functions/whereijk.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_WHEREIJK_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_WHEREIJK_HPP_INCLUDED - -/*! - @file - @brief Defines and implements the whereijk function - **/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for whereijk functor - **/ - struct whereijk_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( - dispatching_whereijk_( ext::adl_helper(), static_cast(args)... ) - ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher - dispatching_whereijk_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_whereijk_; - } - - /*! - @brief Act as : for i for j for k r(i, j, k) = f(i, j, k) ? a(i, j, k) : b(i, j, k) - @param f Ternary Polymorphic Function object to apply to 0 based indices - @param a First expression to process - @param b Second expression to process - - see @funcref{if_else}, @funcref{whereij} - **/ - template BOOST_FORCEINLINE - typename meta::call::type - whereijk(Functor const& f, A0 const& a, A1 const& b) - { - return typename make_functor::type()(f,a,b); - } -} - -#endif diff --git a/inst/include/nt2/core/functions/width.hpp b/inst/include/nt2/core/functions/width.hpp deleted file mode 100644 index 1738582..0000000 --- a/inst/include/nt2/core/functions/width.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_WIDTH_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_WIDTH_HPP_INCLUDED - -/*! - * \file - * \brief Defines and implements the nt2::width function - */ - -#include - -namespace nt2 -{ - namespace tag - { - struct width_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_width_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_width_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_width_; - } - - //============================================================================ - /*! - * Compute the width of a given entity in number of elements - * - * \param a0 Expression to inspect - * \return The width of \c xpr - */ - //============================================================================ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::width_, width, 1) -} - -#endif diff --git a/inst/include/nt2/core/functions/wmean.hpp b/inst/include/nt2/core/functions/wmean.hpp deleted file mode 100644 index 2e8470d..0000000 --- a/inst/include/nt2/core/functions/wmean.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_WMEAN_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_WMEAN_HPP_INCLUDED - -#include - - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the wmean functor - **/ - struct wmean_ : ext::abstract_ - { - /// @brief Parent hierarchy - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_wmean_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_wmean_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_wmean_; - } - /*! - @brief weigthed mean of a table along a given dimension - - Returns the weigthed mean of a table along a given dimension - - @par Semantic - - For any table expression of T @c t, weights w and any integer @c n: - - @code - auto r = wmean(t, w, n); - @endcode - - is equivalent to: - - @code - auto r = dot(a, expand_to(a, w), n)/sum(w); - @endcode - - @par Note: - n default to firstnonsingleton(t) - - @see @funcref{firstnonsingleton}, @funcref{mean}, @funcref{asum2} - @param a0 Table expression to process - @param a1 normalization hint or table of weights - @param a2 Dimension along which to process a0 - - @return An expression eventually evaluated to the result - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::wmean_ , wmean, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::wmean_ , wmean, 2) -} - -#endif diff --git a/inst/include/nt2/core/functions/zeros.hpp b/inst/include/nt2/core/functions/zeros.hpp deleted file mode 100644 index ec14bb4..0000000 --- a/inst/include/nt2/core/functions/zeros.hpp +++ /dev/null @@ -1,170 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_FUNCTIONS_ZEROS_HPP_INCLUDED -#define NT2_CORE_FUNCTIONS_ZEROS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - #if defined(DOXYGEN_ONLY) - /*! - @brief Zeros generator - - Create an array full of zeros. - - @par Semantic: - - zeros() semantic depends of its parameters type and quantity: - - - The following code: - @code - double x = zeros(); - @endcode - is equivalent to - @code - double x = 0.; - @endcode - - - For any Integer @c n, the following code: - @code - auto x = zeros(n); - @endcode - generates an expression that evaluates as a @size2d{n,n} table of @c double - zeros. - - - For any Integer @c sz1,...,szn , the following code: - @code - auto x = zeros(sz1,...,szn); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} - table of @c double zeros. - - - For any Expression @c dims evaluating as a row vector of @c N elements, - the following code: - @code - auto x = zeros(dims); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table of @c double zeros. - - - For any Fusion Sequence @c dims of @c N elements, the following code: - @code - auto x = zeros(dims); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table of type @c double zeros. - - - For any type @c T, the following code: - @code - T x = zeros( as_() ); - @endcode - is equivalent to - @code - T x = T(1); - @endcode - - - For any Integer @c n and any type @c T, the following code: - @code - auto x = zeros(n, as_()); - @endcode - generates an expression that evaluates as a @size2d{n,n} table of type @c T - zeros. - - - For any Integer @c sz1,...,szN and any type @c T, the following code: - @code - auto x = zeros(sz1,...,szn, as_()); - @endcode - generates an expression that evaluates as a @sizes{sz1,szn} - table of type @c T zeros. - - - For any Expression @c dims evaluating as a row vector of @c N elements - and any type @c T, the following code: - @code - auto x = zeros(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{dims(1),dims(N)} - table of type @c T zeros. - - - For any Fusion Sequence @c dims of @c N elements and any type @c T, the - following code: - @code - auto x = zeros(dims, as_()); - @endcode - generates an expression that evaluates as a @sizes{at_c<0>(dims),at_c(dims)} - table of type @c T zeros. - - @par Matlab equivalent: - - This function is equivalent to the Matlab function - zeros. - zeros() doesn't however support the @c like based function. One can actually - use the class_ function to generate a Type specifier or use such a - predefined specifier. - - @param dims Size of each dimension, specified as one or more integer values - or as a row vector of integer values. If any @c dims is lesser - or equal to 0, then the resulting expression is empty. - - @param classname Type specifier of the output. If left unspecified, the - resulting expression behaves as an array of double. - - @return An Expression evaluating as an array of a given type and dimensions - full of zeros - **/ - template - details::unspecified zeros(Args const&... dims, ClassName const& classname); - - /// @overload - template details::unspecified zeros(Args const&... dims); - - /// @overload - template ClassName::type zeros(ClassName const& classname); - - /// @overload - double zeros(); - #else - - #define M0(z,n,t) \ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::Zero, zeros, n) \ - /**/ - - BOOST_PP_REPEAT_FROM_TO(1,BOOST_PP_INC(BOOST_PP_INC(NT2_MAX_DIMENSIONS)),M0,~) - - #undef M0 - #endif -} - -namespace nt2 -{ - /// INTERNAL ONLY - namespace ext - { - template - struct value_type - : meta::generative_value - {}; - - template - struct size_of - : meta::generative_size - {}; - } -} - -#endif diff --git a/inst/include/nt2/core/include/functions/adjfun.hpp b/inst/include/nt2/core/include/functions/adjfun.hpp deleted file mode 100644 index 6c46dbc..0000000 --- a/inst/include/nt2/core/include/functions/adjfun.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ADJFUN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ADJFUN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/aggregate.hpp b/inst/include/nt2/core/include/functions/aggregate.hpp deleted file mode 100644 index 5af056e..0000000 --- a/inst/include/nt2/core/include/functions/aggregate.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_AGGREGATE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_AGGREGATE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/allbits.hpp b/inst/include/nt2/core/include/functions/allbits.hpp deleted file mode 100644 index d196007..0000000 --- a/inst/include/nt2/core/include/functions/allbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ALLBITS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ALLBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/along.hpp b/inst/include/nt2/core/include/functions/along.hpp deleted file mode 100644 index d4889a1..0000000 --- a/inst/include/nt2/core/include/functions/along.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ALONG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ALONG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/along_index.hpp b/inst/include/nt2/core/include/functions/along_index.hpp deleted file mode 100644 index 57d7a85..0000000 --- a/inst/include/nt2/core/include/functions/along_index.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ALONG_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ALONG_INDEX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/arrayfun.hpp b/inst/include/nt2/core/include/functions/arrayfun.hpp deleted file mode 100644 index a8ccb6a..0000000 --- a/inst/include/nt2/core/include/functions/arrayfun.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ARRAYFUN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ARRAYFUN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/as_size.hpp b/inst/include/nt2/core/include/functions/as_size.hpp deleted file mode 100644 index c0341fc..0000000 --- a/inst/include/nt2/core/include/functions/as_size.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_AS_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_AS_SIZE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/asum1.hpp b/inst/include/nt2/core/include/functions/asum1.hpp deleted file mode 100644 index ddf565c..0000000 --- a/inst/include/nt2/core/include/functions/asum1.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ASUM1_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ASUM1_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/asum2.hpp b/inst/include/nt2/core/include/functions/asum2.hpp deleted file mode 100644 index 8027b18..0000000 --- a/inst/include/nt2/core/include/functions/asum2.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ASUM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ASUM2_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/asump.hpp b/inst/include/nt2/core/include/functions/asump.hpp deleted file mode 100644 index 04b65dc..0000000 --- a/inst/include/nt2/core/include/functions/asump.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ASUMP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ASUMP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/band.hpp b/inst/include/nt2/core/include/functions/band.hpp deleted file mode 100644 index 13af17b..0000000 --- a/inst/include/nt2/core/include/functions/band.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_BAND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_BAND_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/bitincrement.hpp b/inst/include/nt2/core/include/functions/bitincrement.hpp deleted file mode 100644 index 5372786..0000000 --- a/inst/include/nt2/core/include/functions/bitincrement.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_BITINCREMENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_BITINCREMENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/blkdiag.hpp b/inst/include/nt2/core/include/functions/blkdiag.hpp deleted file mode 100644 index a49e110..0000000 --- a/inst/include/nt2/core/include/functions/blkdiag.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_BLKDIAG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_BLKDIAG_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/bsxfun.hpp b/inst/include/nt2/core/include/functions/bsxfun.hpp deleted file mode 100644 index fea2be9..0000000 --- a/inst/include/nt2/core/include/functions/bsxfun.hpp +++ /dev/null @@ -1,14 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_BSXFUN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_BSXFUN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/c180.hpp b/inst/include/nt2/core/include/functions/c180.hpp deleted file mode 100644 index e05fbf0..0000000 --- a/inst/include/nt2/core/include/functions/c180.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_C180_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_C180_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/cat.hpp b/inst/include/nt2/core/include/functions/cat.hpp deleted file mode 100644 index d05d319..0000000 --- a/inst/include/nt2/core/include/functions/cat.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CAT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/cdiff.hpp b/inst/include/nt2/core/include/functions/cdiff.hpp deleted file mode 100644 index 7873041..0000000 --- a/inst/include/nt2/core/include/functions/cdiff.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CDIFF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CDIFF_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/cgold.hpp b/inst/include/nt2/core/include/functions/cgold.hpp deleted file mode 100644 index eea94e2..0000000 --- a/inst/include/nt2/core/include/functions/cgold.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CGOLD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CGOLD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/cic.hpp b/inst/include/nt2/core/include/functions/cic.hpp deleted file mode 100644 index 6f57a1b..0000000 --- a/inst/include/nt2/core/include/functions/cic.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CIC_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CIC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/cif.hpp b/inst/include/nt2/core/include/functions/cif.hpp deleted file mode 100644 index cc53812..0000000 --- a/inst/include/nt2/core/include/functions/cif.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CIF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CIF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/class.hpp b/inst/include/nt2/core/include/functions/class.hpp deleted file mode 100644 index 24a3012..0000000 --- a/inst/include/nt2/core/include/functions/class.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CLASS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CLASS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/colon.hpp b/inst/include/nt2/core/include/functions/colon.hpp deleted file mode 100644 index 8b07112..0000000 --- a/inst/include/nt2/core/include/functions/colon.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_COLON_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_COLON_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/cols.hpp b/inst/include/nt2/core/include/functions/cols.hpp deleted file mode 100644 index 4030623..0000000 --- a/inst/include/nt2/core/include/functions/cols.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_COLS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_COLS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/colvect.hpp b/inst/include/nt2/core/include/functions/colvect.hpp deleted file mode 100644 index 84e2d18..0000000 --- a/inst/include/nt2/core/include/functions/colvect.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_COLVECT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_COLVECT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/cons.hpp b/inst/include/nt2/core/include/functions/cons.hpp deleted file mode 100644 index 6418d07..0000000 --- a/inst/include/nt2/core/include/functions/cons.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CONS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CONS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/construct.hpp b/inst/include/nt2/core/include/functions/construct.hpp deleted file mode 100644 index c8bb7f0..0000000 --- a/inst/include/nt2/core/include/functions/construct.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CONSTRUCT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CONSTRUCT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ctranspose.hpp b/inst/include/nt2/core/include/functions/ctranspose.hpp deleted file mode 100644 index 856b0f7..0000000 --- a/inst/include/nt2/core/include/functions/ctranspose.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CTRANSPOSE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CTRANSPOSE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/cumtrapz.hpp b/inst/include/nt2/core/include/functions/cumtrapz.hpp deleted file mode 100644 index ba62738..0000000 --- a/inst/include/nt2/core/include/functions/cumtrapz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_CUMTRAPZ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_CUMTRAPZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/delta.hpp b/inst/include/nt2/core/include/functions/delta.hpp deleted file mode 100644 index 0064866..0000000 --- a/inst/include/nt2/core/include/functions/delta.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_DELTA_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_DELTA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/deltac.hpp b/inst/include/nt2/core/include/functions/deltac.hpp deleted file mode 100644 index aed957e..0000000 --- a/inst/include/nt2/core/include/functions/deltac.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_DELTAC_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_DELTAC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/deltaf.hpp b/inst/include/nt2/core/include/functions/deltaf.hpp deleted file mode 100644 index 8204d3c..0000000 --- a/inst/include/nt2/core/include/functions/deltaf.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_DELTAF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_DELTAF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/depth.hpp b/inst/include/nt2/core/include/functions/depth.hpp deleted file mode 100644 index ff470c3..0000000 --- a/inst/include/nt2/core/include/functions/depth.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_DEPTH_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_DEPTH_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/diag_of.hpp b/inst/include/nt2/core/include/functions/diag_of.hpp deleted file mode 100644 index ee5e497..0000000 --- a/inst/include/nt2/core/include/functions/diag_of.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_DIAG_OF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_DIAG_OF_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/diff.hpp b/inst/include/nt2/core/include/functions/diff.hpp deleted file mode 100644 index 5e33bf2..0000000 --- a/inst/include/nt2/core/include/functions/diff.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_DIFF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_DIFF_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/disp.hpp b/inst/include/nt2/core/include/functions/disp.hpp deleted file mode 100644 index 2cec9d3..0000000 --- a/inst/include/nt2/core/include/functions/disp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_DISP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_DISP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/display.hpp b/inst/include/nt2/core/include/functions/display.hpp deleted file mode 100644 index f3af9b6..0000000 --- a/inst/include/nt2/core/include/functions/display.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_DISPLAY_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_DISPLAY_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/eight.hpp b/inst/include/nt2/core/include/functions/eight.hpp deleted file mode 100644 index dd4a748..0000000 --- a/inst/include/nt2/core/include/functions/eight.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_EIGHT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_EIGHT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/eleven.hpp b/inst/include/nt2/core/include/functions/eleven.hpp deleted file mode 100644 index b97fd6a..0000000 --- a/inst/include/nt2/core/include/functions/eleven.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ELEVEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ELEVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/erase.hpp b/inst/include/nt2/core/include/functions/erase.hpp deleted file mode 100644 index 709383e..0000000 --- a/inst/include/nt2/core/include/functions/erase.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ERASE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ERASE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/expand.hpp b/inst/include/nt2/core/include/functions/expand.hpp deleted file mode 100644 index f78578a..0000000 --- a/inst/include/nt2/core/include/functions/expand.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_EXPAND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_EXPAND_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/expand_to.hpp b/inst/include/nt2/core/include/functions/expand_to.hpp deleted file mode 100644 index 90e37c6..0000000 --- a/inst/include/nt2/core/include/functions/expand_to.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_EXPAND_TO_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_EXPAND_TO_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/extent.hpp b/inst/include/nt2/core/include/functions/extent.hpp deleted file mode 100644 index 44cb0af..0000000 --- a/inst/include/nt2/core/include/functions/extent.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_EXTENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_EXTENT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/eye.hpp b/inst/include/nt2/core/include/functions/eye.hpp deleted file mode 100644 index 8f4e96d..0000000 --- a/inst/include/nt2/core/include/functions/eye.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_EYE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_EYE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fact_10.hpp b/inst/include/nt2/core/include/functions/fact_10.hpp deleted file mode 100644 index 468574d..0000000 --- a/inst/include/nt2/core/include/functions/fact_10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FACT_10_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FACT_10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fact_11.hpp b/inst/include/nt2/core/include/functions/fact_11.hpp deleted file mode 100644 index 8fc83ac..0000000 --- a/inst/include/nt2/core/include/functions/fact_11.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FACT_11_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FACT_11_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fact_12.hpp b/inst/include/nt2/core/include/functions/fact_12.hpp deleted file mode 100644 index b1c2e26..0000000 --- a/inst/include/nt2/core/include/functions/fact_12.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FACT_12_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FACT_12_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fact_4.hpp b/inst/include/nt2/core/include/functions/fact_4.hpp deleted file mode 100644 index 166f779..0000000 --- a/inst/include/nt2/core/include/functions/fact_4.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FACT_4_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FACT_4_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fact_5.hpp b/inst/include/nt2/core/include/functions/fact_5.hpp deleted file mode 100644 index 2748241..0000000 --- a/inst/include/nt2/core/include/functions/fact_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FACT_5_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FACT_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fact_6.hpp b/inst/include/nt2/core/include/functions/fact_6.hpp deleted file mode 100644 index 36ea27b..0000000 --- a/inst/include/nt2/core/include/functions/fact_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FACT_6_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FACT_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fact_7.hpp b/inst/include/nt2/core/include/functions/fact_7.hpp deleted file mode 100644 index ca0e990..0000000 --- a/inst/include/nt2/core/include/functions/fact_7.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FACT_7_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FACT_7_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fact_8.hpp b/inst/include/nt2/core/include/functions/fact_8.hpp deleted file mode 100644 index 2e097e4..0000000 --- a/inst/include/nt2/core/include/functions/fact_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FACT_8_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FACT_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fact_9.hpp b/inst/include/nt2/core/include/functions/fact_9.hpp deleted file mode 100644 index 82df110..0000000 --- a/inst/include/nt2/core/include/functions/fact_9.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FACT_9_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FACT_9_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/falses.hpp b/inst/include/nt2/core/include/functions/falses.hpp deleted file mode 100644 index 4c13374..0000000 --- a/inst/include/nt2/core/include/functions/falses.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FALSES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FALSES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fifteen.hpp b/inst/include/nt2/core/include/functions/fifteen.hpp deleted file mode 100644 index f5df58e..0000000 --- a/inst/include/nt2/core/include/functions/fifteen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FIFTEEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FIFTEEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fill_pattern.hpp b/inst/include/nt2/core/include/functions/fill_pattern.hpp deleted file mode 100644 index fb09070..0000000 --- a/inst/include/nt2/core/include/functions/fill_pattern.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FILL_PATTERN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FILL_PATTERN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/find.hpp b/inst/include/nt2/core/include/functions/find.hpp deleted file mode 100644 index a9d5366..0000000 --- a/inst/include/nt2/core/include/functions/find.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FIND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FIND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/findi.hpp b/inst/include/nt2/core/include/functions/findi.hpp deleted file mode 100644 index bc36ab7..0000000 --- a/inst/include/nt2/core/include/functions/findi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FINDI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FINDI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/findj.hpp b/inst/include/nt2/core/include/functions/findj.hpp deleted file mode 100644 index 8531d0b..0000000 --- a/inst/include/nt2/core/include/functions/findj.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FINDJ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FINDJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/first_index.hpp b/inst/include/nt2/core/include/functions/first_index.hpp deleted file mode 100644 index e1afc4f..0000000 --- a/inst/include/nt2/core/include/functions/first_index.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FIRST_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FIRST_INDEX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/firstnonsingleton.hpp b/inst/include/nt2/core/include/functions/firstnonsingleton.hpp deleted file mode 100644 index 2badf3c..0000000 --- a/inst/include/nt2/core/include/functions/firstnonsingleton.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FIRSTNONSINGLETON_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FIRSTNONSINGLETON_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/firstoflength.hpp b/inst/include/nt2/core/include/functions/firstoflength.hpp deleted file mode 100644 index e3e1a7e..0000000 --- a/inst/include/nt2/core/include/functions/firstoflength.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FIRSTOFLENGTH_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FIRSTOFLENGTH_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/five.hpp b/inst/include/nt2/core/include/functions/five.hpp deleted file mode 100644 index 1401549..0000000 --- a/inst/include/nt2/core/include/functions/five.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FIVE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fiveo_8.hpp b/inst/include/nt2/core/include/functions/fiveo_8.hpp deleted file mode 100644 index b0f2408..0000000 --- a/inst/include/nt2/core/include/functions/fiveo_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FIVEO_8_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FIVEO_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/flipdim.hpp b/inst/include/nt2/core/include/functions/flipdim.hpp deleted file mode 100644 index 5974d62..0000000 --- a/inst/include/nt2/core/include/functions/flipdim.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FLIPDIM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FLIPDIM_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fliplr.hpp b/inst/include/nt2/core/include/functions/fliplr.hpp deleted file mode 100644 index 056f241..0000000 --- a/inst/include/nt2/core/include/functions/fliplr.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FLIPLR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FLIPLR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/flipud.hpp b/inst/include/nt2/core/include/functions/flipud.hpp deleted file mode 100644 index de774cf..0000000 --- a/inst/include/nt2/core/include/functions/flipud.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FLIPUD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FLIPUD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fold_step.hpp b/inst/include/nt2/core/include/functions/fold_step.hpp deleted file mode 100644 index adb6a62..0000000 --- a/inst/include/nt2/core/include/functions/fold_step.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FOLD_STEP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FOLD_STEP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/four.hpp b/inst/include/nt2/core/include/functions/four.hpp deleted file mode 100644 index 68ed167..0000000 --- a/inst/include/nt2/core/include/functions/four.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FOUR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FOUR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/fourthrooteps.hpp b/inst/include/nt2/core/include/functions/fourthrooteps.hpp deleted file mode 100644 index f77a7c5..0000000 --- a/inst/include/nt2/core/include/functions/fourthrooteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FOURTHROOTEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FOURTHROOTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/freqspace.hpp b/inst/include/nt2/core/include/functions/freqspace.hpp deleted file mode 100644 index 0a39fed..0000000 --- a/inst/include/nt2/core/include/functions/freqspace.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FREQSPACE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FREQSPACE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/from_diag.hpp b/inst/include/nt2/core/include/functions/from_diag.hpp deleted file mode 100644 index 1ac197b..0000000 --- a/inst/include/nt2/core/include/functions/from_diag.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FROM_DIAG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FROM_DIAG_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/function.hpp b/inst/include/nt2/core/include/functions/function.hpp deleted file mode 100644 index bc1ecd7..0000000 --- a/inst/include/nt2/core/include/functions/function.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FUNCTION_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FUNCTION_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/function_index.hpp b/inst/include/nt2/core/include/functions/function_index.hpp deleted file mode 100644 index 0b147f2..0000000 --- a/inst/include/nt2/core/include/functions/function_index.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FUNCTION_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FUNCTION_INDEX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/function_index_size.hpp b/inst/include/nt2/core/include/functions/function_index_size.hpp deleted file mode 100644 index f78bd6c..0000000 --- a/inst/include/nt2/core/include/functions/function_index_size.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FUNCTION_INDEX_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FUNCTION_INDEX_SIZE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/function_index_value_type.hpp b/inst/include/nt2/core/include/functions/function_index_value_type.hpp deleted file mode 100644 index 87cdfd3..0000000 --- a/inst/include/nt2/core/include/functions/function_index_value_type.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_FUNCTION_INDEX_VALUE_TYPE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_FUNCTION_INDEX_VALUE_TYPE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/generative.hpp b/inst/include/nt2/core/include/functions/generative.hpp deleted file mode 100644 index 1e21e2b..0000000 --- a/inst/include/nt2/core/include/functions/generative.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GENERATIVE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GENERATIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/global.hpp b/inst/include/nt2/core/include/functions/global.hpp deleted file mode 100644 index 56f4cb8..0000000 --- a/inst/include/nt2/core/include/functions/global.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBAL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalall.hpp b/inst/include/nt2/core/include/functions/globalall.hpp deleted file mode 100644 index cb58a12..0000000 --- a/inst/include/nt2/core/include/functions/globalall.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALALL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALALL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalany.hpp b/inst/include/nt2/core/include/functions/globalany.hpp deleted file mode 100644 index a3cb7fa..0000000 --- a/inst/include/nt2/core/include/functions/globalany.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALANY_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALANY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalasum1.hpp b/inst/include/nt2/core/include/functions/globalasum1.hpp deleted file mode 100644 index d6df30b..0000000 --- a/inst/include/nt2/core/include/functions/globalasum1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALASUM1_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALASUM1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalasum2.hpp b/inst/include/nt2/core/include/functions/globalasum2.hpp deleted file mode 100644 index 2458f07..0000000 --- a/inst/include/nt2/core/include/functions/globalasum2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALASUM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALASUM2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalasump.hpp b/inst/include/nt2/core/include/functions/globalasump.hpp deleted file mode 100644 index aea1eac..0000000 --- a/inst/include/nt2/core/include/functions/globalasump.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALASUMP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALASUMP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalfind.hpp b/inst/include/nt2/core/include/functions/globalfind.hpp deleted file mode 100644 index d4c5507..0000000 --- a/inst/include/nt2/core/include/functions/globalfind.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALFIND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALFIND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalmax.hpp b/inst/include/nt2/core/include/functions/globalmax.hpp deleted file mode 100644 index 17c5b20..0000000 --- a/inst/include/nt2/core/include/functions/globalmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMAX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalmean.hpp b/inst/include/nt2/core/include/functions/globalmean.hpp deleted file mode 100644 index e2e9cd4..0000000 --- a/inst/include/nt2/core/include/functions/globalmean.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMEAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMEAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalmeanad.hpp b/inst/include/nt2/core/include/functions/globalmeanad.hpp deleted file mode 100644 index cb2a273..0000000 --- a/inst/include/nt2/core/include/functions/globalmeanad.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMEANAD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMEANAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalmedian.hpp b/inst/include/nt2/core/include/functions/globalmedian.hpp deleted file mode 100644 index 01744be..0000000 --- a/inst/include/nt2/core/include/functions/globalmedian.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMEDIAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMEDIAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalmedianad.hpp b/inst/include/nt2/core/include/functions/globalmedianad.hpp deleted file mode 100644 index eb66d3e..0000000 --- a/inst/include/nt2/core/include/functions/globalmedianad.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMEDIANAD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMEDIANAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalmin.hpp b/inst/include/nt2/core/include/functions/globalmin.hpp deleted file mode 100644 index c388816..0000000 --- a/inst/include/nt2/core/include/functions/globalmin.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMIN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALMIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalnone.hpp b/inst/include/nt2/core/include/functions/globalnone.hpp deleted file mode 100644 index c1bfe82..0000000 --- a/inst/include/nt2/core/include/functions/globalnone.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALNONE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALNONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalnorm.hpp b/inst/include/nt2/core/include/functions/globalnorm.hpp deleted file mode 100644 index 7cdaed2..0000000 --- a/inst/include/nt2/core/include/functions/globalnorm.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALNORM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALNORM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalnorm2.hpp b/inst/include/nt2/core/include/functions/globalnorm2.hpp deleted file mode 100644 index 1cb5e57..0000000 --- a/inst/include/nt2/core/include/functions/globalnorm2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALNORM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALNORM2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalnormp.hpp b/inst/include/nt2/core/include/functions/globalnormp.hpp deleted file mode 100644 index e3ee99b..0000000 --- a/inst/include/nt2/core/include/functions/globalnormp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALNORMP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALNORMP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalprod.hpp b/inst/include/nt2/core/include/functions/globalprod.hpp deleted file mode 100644 index 079f699..0000000 --- a/inst/include/nt2/core/include/functions/globalprod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALPROD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALPROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalstdev.hpp b/inst/include/nt2/core/include/functions/globalstdev.hpp deleted file mode 100644 index d21721b..0000000 --- a/inst/include/nt2/core/include/functions/globalstdev.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALSTDEV_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALSTDEV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalsum.hpp b/inst/include/nt2/core/include/functions/globalsum.hpp deleted file mode 100644 index 155f093..0000000 --- a/inst/include/nt2/core/include/functions/globalsum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALSUM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALSUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/globalvar.hpp b/inst/include/nt2/core/include/functions/globalvar.hpp deleted file mode 100644 index 3528ca9..0000000 --- a/inst/include/nt2/core/include/functions/globalvar.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GLOBALVAR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GLOBALVAR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/gold.hpp b/inst/include/nt2/core/include/functions/gold.hpp deleted file mode 100644 index 2fc3863..0000000 --- a/inst/include/nt2/core/include/functions/gold.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GOLD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GOLD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/greatestnoninteger.hpp b/inst/include/nt2/core/include/functions/greatestnoninteger.hpp deleted file mode 100644 index bfede64..0000000 --- a/inst/include/nt2/core/include/functions/greatestnoninteger.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GREATESTNONINTEGER_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GREATESTNONINTEGER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/grids.hpp b/inst/include/nt2/core/include/functions/grids.hpp deleted file mode 100644 index 2d6efaa..0000000 --- a/inst/include/nt2/core/include/functions/grids.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_GRIDS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_GRIDS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/half.hpp b/inst/include/nt2/core/include/functions/half.hpp deleted file mode 100644 index 94b5dfa..0000000 --- a/inst/include/nt2/core/include/functions/half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_HALF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/halfeps.hpp b/inst/include/nt2/core/include/functions/halfeps.hpp deleted file mode 100644 index c06e669..0000000 --- a/inst/include/nt2/core/include/functions/halfeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_HALFEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_HALFEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/height.hpp b/inst/include/nt2/core/include/functions/height.hpp deleted file mode 100644 index 00ed3bc..0000000 --- a/inst/include/nt2/core/include/functions/height.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_HEIGHT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_HEIGHT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/homot.hpp b/inst/include/nt2/core/include/functions/homot.hpp deleted file mode 100644 index 40ab0cb..0000000 --- a/inst/include/nt2/core/include/functions/homot.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_HOMOT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_HOMOT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/horzcat.hpp b/inst/include/nt2/core/include/functions/horzcat.hpp deleted file mode 100644 index 55f77d4..0000000 --- a/inst/include/nt2/core/include/functions/horzcat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_HORZCAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_HORZCAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/hundred.hpp b/inst/include/nt2/core/include/functions/hundred.hpp deleted file mode 100644 index d326f9e..0000000 --- a/inst/include/nt2/core/include/functions/hundred.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_HUNDRED_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_HUNDRED_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/idivide.hpp b/inst/include/nt2/core/include/functions/idivide.hpp deleted file mode 100644 index 454162c..0000000 --- a/inst/include/nt2/core/include/functions/idivide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_IDIVIDE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_IDIVIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ifvectvert.hpp b/inst/include/nt2/core/include/functions/ifvectvert.hpp deleted file mode 100644 index f0c675d..0000000 --- a/inst/include/nt2/core/include/functions/ifvectvert.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_IFVECTVERT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_IFVECTVERT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ind2sub.hpp b/inst/include/nt2/core/include/functions/ind2sub.hpp deleted file mode 100644 index 03317cc..0000000 --- a/inst/include/nt2/core/include/functions/ind2sub.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_IND2SUB_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_IND2SUB_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/indices.hpp b/inst/include/nt2/core/include/functions/indices.hpp deleted file mode 100644 index 0563864..0000000 --- a/inst/include/nt2/core/include/functions/indices.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_INDICES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_INDICES_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/inf.hpp b/inst/include/nt2/core/include/functions/inf.hpp deleted file mode 100644 index 2dd8f2e..0000000 --- a/inst/include/nt2/core/include/functions/inf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_INF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_INF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/inner_fold.hpp b/inst/include/nt2/core/include/functions/inner_fold.hpp deleted file mode 100644 index fa15712..0000000 --- a/inst/include/nt2/core/include/functions/inner_fold.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_INNER_FOLD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_INNER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/inner_scan.hpp b/inst/include/nt2/core/include/functions/inner_scan.hpp deleted file mode 100644 index 4a531fa..0000000 --- a/inst/include/nt2/core/include/functions/inner_scan.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_INNER_SCAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_INNER_SCAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/int_splat.hpp b/inst/include/nt2/core/include/functions/int_splat.hpp deleted file mode 100644 index 28e6d64..0000000 --- a/inst/include/nt2/core/include/functions/int_splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_INT_SPLAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_INT_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/is_definitely_vector.hpp b/inst/include/nt2/core/include/functions/is_definitely_vector.hpp deleted file mode 100644 index a762a96..0000000 --- a/inst/include/nt2/core/include/functions/is_definitely_vector.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_IS_DEFINITELY_VECTOR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_IS_DEFINITELY_VECTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/is_vectorizable_indexer.hpp b/inst/include/nt2/core/include/functions/is_vectorizable_indexer.hpp deleted file mode 100644 index 2f81aa4..0000000 --- a/inst/include/nt2/core/include/functions/is_vectorizable_indexer.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_IS_VECTORIZABLE_INDEXER_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_IS_VECTORIZABLE_INDEXER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ismember.hpp b/inst/include/nt2/core/include/functions/ismember.hpp deleted file mode 100644 index 87757c9..0000000 --- a/inst/include/nt2/core/include/functions/ismember.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ISMEMBER_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ISMEMBER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/kron.hpp b/inst/include/nt2/core/include/functions/kron.hpp deleted file mode 100644 index 68dcc37..0000000 --- a/inst/include/nt2/core/include/functions/kron.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_KRON_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_KRON_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/last_index.hpp b/inst/include/nt2/core/include/functions/last_index.hpp deleted file mode 100644 index 13807ea..0000000 --- a/inst/include/nt2/core/include/functions/last_index.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LAST_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LAST_INDEX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ldexpmask.hpp b/inst/include/nt2/core/include/functions/ldexpmask.hpp deleted file mode 100644 index 209a4b3..0000000 --- a/inst/include/nt2/core/include/functions/ldexpmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LDEXPMASK_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LDEXPMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/length.hpp b/inst/include/nt2/core/include/functions/length.hpp deleted file mode 100644 index 3433167..0000000 --- a/inst/include/nt2/core/include/functions/length.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LENGTH_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LENGTH_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/limitexponent.hpp b/inst/include/nt2/core/include/functions/limitexponent.hpp deleted file mode 100644 index eee18d7..0000000 --- a/inst/include/nt2/core/include/functions/limitexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LIMITEXPONENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LIMITEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/line.hpp b/inst/include/nt2/core/include/functions/line.hpp deleted file mode 100644 index ef3461c..0000000 --- a/inst/include/nt2/core/include/functions/line.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LINE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LINE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/linesstride.hpp b/inst/include/nt2/core/include/functions/linesstride.hpp deleted file mode 100644 index 613d944..0000000 --- a/inst/include/nt2/core/include/functions/linesstride.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LINESSTRIDE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LINESSTRIDE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/linspace.hpp b/inst/include/nt2/core/include/functions/linspace.hpp deleted file mode 100644 index 616985e..0000000 --- a/inst/include/nt2/core/include/functions/linspace.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LINSPACE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LINSPACE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/log10_pi.hpp b/inst/include/nt2/core/include/functions/log10_pi.hpp deleted file mode 100644 index c466aba..0000000 --- a/inst/include/nt2/core/include/functions/log10_pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LOG10_PI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LOG10_PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/log2_em1.hpp b/inst/include/nt2/core/include/functions/log2_em1.hpp deleted file mode 100644 index 822a270..0000000 --- a/inst/include/nt2/core/include/functions/log2_em1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LOG2_EM1_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LOG2_EM1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/logeps.hpp b/inst/include/nt2/core/include/functions/logeps.hpp deleted file mode 100644 index b0d2ff3..0000000 --- a/inst/include/nt2/core/include/functions/logeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LOGEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LOGEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/logpi.hpp b/inst/include/nt2/core/include/functions/logpi.hpp deleted file mode 100644 index 13c3cf0..0000000 --- a/inst/include/nt2/core/include/functions/logpi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LOGPI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LOGPI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/logspace.hpp b/inst/include/nt2/core/include/functions/logspace.hpp deleted file mode 100644 index c91ccf2..0000000 --- a/inst/include/nt2/core/include/functions/logspace.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LOGSPACE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LOGSPACE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/logsqrt2pi.hpp b/inst/include/nt2/core/include/functions/logsqrt2pi.hpp deleted file mode 100644 index 028417f..0000000 --- a/inst/include/nt2/core/include/functions/logsqrt2pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_LOGSQRT2PI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_LOGSQRT2PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/make_size.hpp b/inst/include/nt2/core/include/functions/make_size.hpp deleted file mode 100644 index 02ef4c0..0000000 --- a/inst/include/nt2/core/include/functions/make_size.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MAKE_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MAKE_SIZE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mask1frexp.hpp b/inst/include/nt2/core/include/functions/mask1frexp.hpp deleted file mode 100644 index 1f9d799..0000000 --- a/inst/include/nt2/core/include/functions/mask1frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MASK1FREXP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MASK1FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mask2frexp.hpp b/inst/include/nt2/core/include/functions/mask2frexp.hpp deleted file mode 100644 index 8d7048c..0000000 --- a/inst/include/nt2/core/include/functions/mask2frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MASK2FREXP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MASK2FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/maxexponent.hpp b/inst/include/nt2/core/include/functions/maxexponent.hpp deleted file mode 100644 index 21d86c7..0000000 --- a/inst/include/nt2/core/include/functions/maxexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MAXEXPONENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MAXEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/maxexponentm1.hpp b/inst/include/nt2/core/include/functions/maxexponentm1.hpp deleted file mode 100644 index 8faebea..0000000 --- a/inst/include/nt2/core/include/functions/maxexponentm1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MAXEXPONENTM1_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MAXEXPONENTM1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/maxinit.hpp b/inst/include/nt2/core/include/functions/maxinit.hpp deleted file mode 100644 index fbf0df0..0000000 --- a/inst/include/nt2/core/include/functions/maxinit.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MAXINIT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MAXINIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/maxleftshift.hpp b/inst/include/nt2/core/include/functions/maxleftshift.hpp deleted file mode 100644 index fea58a1..0000000 --- a/inst/include/nt2/core/include/functions/maxleftshift.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MAXLEFTSHIFT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MAXLEFTSHIFT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mean.hpp b/inst/include/nt2/core/include/functions/mean.hpp deleted file mode 100644 index 6677d7e..0000000 --- a/inst/include/nt2/core/include/functions/mean.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MEAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MEAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/meanad.hpp b/inst/include/nt2/core/include/functions/meanad.hpp deleted file mode 100644 index c365b6f..0000000 --- a/inst/include/nt2/core/include/functions/meanad.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MEANAD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MEANAD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/median.hpp b/inst/include/nt2/core/include/functions/median.hpp deleted file mode 100644 index 823ccea..0000000 --- a/inst/include/nt2/core/include/functions/median.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MEDIAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MEDIAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/medianad.hpp b/inst/include/nt2/core/include/functions/medianad.hpp deleted file mode 100644 index 7a7fd32..0000000 --- a/inst/include/nt2/core/include/functions/medianad.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MEDIANAD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MEDIANAD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/meight.hpp b/inst/include/nt2/core/include/functions/meight.hpp deleted file mode 100644 index c18ceba..0000000 --- a/inst/include/nt2/core/include/functions/meight.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MEIGHT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MEIGHT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/meshgrid.hpp b/inst/include/nt2/core/include/functions/meshgrid.hpp deleted file mode 100644 index 5bffea4..0000000 --- a/inst/include/nt2/core/include/functions/meshgrid.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MESHGRID_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MESHGRID_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mfive.hpp b/inst/include/nt2/core/include/functions/mfive.hpp deleted file mode 100644 index 0c1f8c1..0000000 --- a/inst/include/nt2/core/include/functions/mfive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MFIVE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MFIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mfour.hpp b/inst/include/nt2/core/include/functions/mfour.hpp deleted file mode 100644 index 52c3177..0000000 --- a/inst/include/nt2/core/include/functions/mfour.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MFOUR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MFOUR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mhalf.hpp b/inst/include/nt2/core/include/functions/mhalf.hpp deleted file mode 100644 index 0ba4e10..0000000 --- a/inst/include/nt2/core/include/functions/mhalf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MHALF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MHALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mindenormal.hpp b/inst/include/nt2/core/include/functions/mindenormal.hpp deleted file mode 100644 index 199c786..0000000 --- a/inst/include/nt2/core/include/functions/mindenormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MINDENORMAL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MINDENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/minexponent.hpp b/inst/include/nt2/core/include/functions/minexponent.hpp deleted file mode 100644 index 0945a87..0000000 --- a/inst/include/nt2/core/include/functions/minexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MINEXPONENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MINEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/minf.hpp b/inst/include/nt2/core/include/functions/minf.hpp deleted file mode 100644 index 839c73d..0000000 --- a/inst/include/nt2/core/include/functions/minf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MINF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MINF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mlogeps2.hpp b/inst/include/nt2/core/include/functions/mlogeps2.hpp deleted file mode 100644 index 430f547..0000000 --- a/inst/include/nt2/core/include/functions/mlogeps2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MLOGEPS2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MLOGEPS2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mnine.hpp b/inst/include/nt2/core/include/functions/mnine.hpp deleted file mode 100644 index 3631922..0000000 --- a/inst/include/nt2/core/include/functions/mnine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MNINE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MNINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mone.hpp b/inst/include/nt2/core/include/functions/mone.hpp deleted file mode 100644 index e8b0439..0000000 --- a/inst/include/nt2/core/include/functions/mone.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MONE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/moneo_6.hpp b/inst/include/nt2/core/include/functions/moneo_6.hpp deleted file mode 100644 index d0c712b..0000000 --- a/inst/include/nt2/core/include/functions/moneo_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MONEO_6_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MONEO_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mseven.hpp b/inst/include/nt2/core/include/functions/mseven.hpp deleted file mode 100644 index 7e94f03..0000000 --- a/inst/include/nt2/core/include/functions/mseven.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MSEVEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MSEVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/msix.hpp b/inst/include/nt2/core/include/functions/msix.hpp deleted file mode 100644 index c1a4b48..0000000 --- a/inst/include/nt2/core/include/functions/msix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MSIX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MSIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mten.hpp b/inst/include/nt2/core/include/functions/mten.hpp deleted file mode 100644 index f57d898..0000000 --- a/inst/include/nt2/core/include/functions/mten.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MTEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MTEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mthree.hpp b/inst/include/nt2/core/include/functions/mthree.hpp deleted file mode 100644 index 7c866be..0000000 --- a/inst/include/nt2/core/include/functions/mthree.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MTHREE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MTHREE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mtwo.hpp b/inst/include/nt2/core/include/functions/mtwo.hpp deleted file mode 100644 index 7763da9..0000000 --- a/inst/include/nt2/core/include/functions/mtwo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MTWO_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MTWO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/mzero.hpp b/inst/include/nt2/core/include/functions/mzero.hpp deleted file mode 100644 index 0415114..0000000 --- a/inst/include/nt2/core/include/functions/mzero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_MZERO_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_MZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/nan.hpp b/inst/include/nt2/core/include/functions/nan.hpp deleted file mode 100644 index d67a05d..0000000 --- a/inst/include/nt2/core/include/functions/nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/nanasum2.hpp b/inst/include/nt2/core/include/functions/nanasum2.hpp deleted file mode 100644 index de64f71..0000000 --- a/inst/include/nt2/core/include/functions/nanasum2.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NANASUM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NANASUM2_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/nanmean.hpp b/inst/include/nt2/core/include/functions/nanmean.hpp deleted file mode 100644 index 1b4a24b..0000000 --- a/inst/include/nt2/core/include/functions/nanmean.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NANMEAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NANMEAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/nansum.hpp b/inst/include/nt2/core/include/functions/nansum.hpp deleted file mode 100644 index cf3e1ad..0000000 --- a/inst/include/nt2/core/include/functions/nansum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NANSUM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NANSUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/nbdigits.hpp b/inst/include/nt2/core/include/functions/nbdigits.hpp deleted file mode 100644 index c2899d3..0000000 --- a/inst/include/nt2/core/include/functions/nbdigits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NBDIGITS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NBDIGITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/nbexponentbits.hpp b/inst/include/nt2/core/include/functions/nbexponentbits.hpp deleted file mode 100644 index 1bfdf14..0000000 --- a/inst/include/nt2/core/include/functions/nbexponentbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NBEXPONENTBITS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NBEXPONENTBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/nblines.hpp b/inst/include/nt2/core/include/functions/nblines.hpp deleted file mode 100644 index 28d845d..0000000 --- a/inst/include/nt2/core/include/functions/nblines.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NBLINES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NBLINES_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/nbmantissabits.hpp b/inst/include/nt2/core/include/functions/nbmantissabits.hpp deleted file mode 100644 index cc3cd30..0000000 --- a/inst/include/nt2/core/include/functions/nbmantissabits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NBMANTISSABITS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NBMANTISSABITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ndgrid.hpp b/inst/include/nt2/core/include/functions/ndgrid.hpp deleted file mode 100644 index b6d0615..0000000 --- a/inst/include/nt2/core/include/functions/ndgrid.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NDGRID_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NDGRID_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ndims.hpp b/inst/include/nt2/core/include/functions/ndims.hpp deleted file mode 100644 index 9c90da9..0000000 --- a/inst/include/nt2/core/include/functions/ndims.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NDIMS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NDIMS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/nine.hpp b/inst/include/nt2/core/include/functions/nine.hpp deleted file mode 100644 index b1f976c..0000000 --- a/inst/include/nt2/core/include/functions/nine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NINE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/norm2.hpp b/inst/include/nt2/core/include/functions/norm2.hpp deleted file mode 100644 index c2a957b..0000000 --- a/inst/include/nt2/core/include/functions/norm2.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NORM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NORM2_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/normp.hpp b/inst/include/nt2/core/include/functions/normp.hpp deleted file mode 100644 index 9ece4c2..0000000 --- a/inst/include/nt2/core/include/functions/normp.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NORMP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NORMP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/numel.hpp b/inst/include/nt2/core/include/functions/numel.hpp deleted file mode 100644 index 2cdcbf9..0000000 --- a/inst/include/nt2/core/include/functions/numel.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_NUMEL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_NUMEL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/of_size.hpp b/inst/include/nt2/core/include/functions/of_size.hpp deleted file mode 100644 index a8d1855..0000000 --- a/inst/include/nt2/core/include/functions/of_size.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_OF_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_OF_SIZE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_10.hpp b/inst/include/nt2/core/include/functions/oneo_10.hpp deleted file mode 100644 index fbe5f8a..0000000 --- a/inst/include/nt2/core/include/functions/oneo_10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_10_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_12.hpp b/inst/include/nt2/core/include/functions/oneo_12.hpp deleted file mode 100644 index cf1b0d5..0000000 --- a/inst/include/nt2/core/include/functions/oneo_12.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_12_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_12_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_120.hpp b/inst/include/nt2/core/include/functions/oneo_120.hpp deleted file mode 100644 index 1a1c170..0000000 --- a/inst/include/nt2/core/include/functions/oneo_120.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_120_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_120_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_15.hpp b/inst/include/nt2/core/include/functions/oneo_15.hpp deleted file mode 100644 index 0725128..0000000 --- a/inst/include/nt2/core/include/functions/oneo_15.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_15_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_15_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_16.hpp b/inst/include/nt2/core/include/functions/oneo_16.hpp deleted file mode 100644 index c349126..0000000 --- a/inst/include/nt2/core/include/functions/oneo_16.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_16_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_16_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_180.hpp b/inst/include/nt2/core/include/functions/oneo_180.hpp deleted file mode 100644 index 5a2591c..0000000 --- a/inst/include/nt2/core/include/functions/oneo_180.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_180_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_180_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_5.hpp b/inst/include/nt2/core/include/functions/oneo_5.hpp deleted file mode 100644 index 2fc5ed0..0000000 --- a/inst/include/nt2/core/include/functions/oneo_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_5_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_6.hpp b/inst/include/nt2/core/include/functions/oneo_6.hpp deleted file mode 100644 index 8ddb192..0000000 --- a/inst/include/nt2/core/include/functions/oneo_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_6_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_7.hpp b/inst/include/nt2/core/include/functions/oneo_7.hpp deleted file mode 100644 index 41022e9..0000000 --- a/inst/include/nt2/core/include/functions/oneo_7.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_7_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_7_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_8.hpp b/inst/include/nt2/core/include/functions/oneo_8.hpp deleted file mode 100644 index a055b09..0000000 --- a/inst/include/nt2/core/include/functions/oneo_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_8_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneo_9.hpp b/inst/include/nt2/core/include/functions/oneo_9.hpp deleted file mode 100644 index 929e686..0000000 --- a/inst/include/nt2/core/include/functions/oneo_9.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEO_9_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEO_9_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneosqrt5.hpp b/inst/include/nt2/core/include/functions/oneosqrt5.hpp deleted file mode 100644 index 32dc43e..0000000 --- a/inst/include/nt2/core/include/functions/oneosqrt5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEOSQRT5_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEOSQRT5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneosqrteps.hpp b/inst/include/nt2/core/include/functions/oneosqrteps.hpp deleted file mode 100644 index d773e7e..0000000 --- a/inst/include/nt2/core/include/functions/oneosqrteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEOSQRTEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEOSQRTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/oneotwoeps.hpp b/inst/include/nt2/core/include/functions/oneotwoeps.hpp deleted file mode 100644 index 758ea95..0000000 --- a/inst/include/nt2/core/include/functions/oneotwoeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONEOTWOEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONEOTWOEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ones.hpp b/inst/include/nt2/core/include/functions/ones.hpp deleted file mode 100644 index 3f50b14..0000000 --- a/inst/include/nt2/core/include/functions/ones.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ONES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ONES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/outer_fold.hpp b/inst/include/nt2/core/include/functions/outer_fold.hpp deleted file mode 100644 index 5e622ff..0000000 --- a/inst/include/nt2/core/include/functions/outer_fold.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_OUTER_FOLD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_OUTER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/outer_fold_step.hpp b/inst/include/nt2/core/include/functions/outer_fold_step.hpp deleted file mode 100644 index 1610520..0000000 --- a/inst/include/nt2/core/include/functions/outer_fold_step.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_OUTER_FOLD_STEP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_OUTER_FOLD_STEP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/outer_scan.hpp b/inst/include/nt2/core/include/functions/outer_scan.hpp deleted file mode 100644 index a077b82..0000000 --- a/inst/include/nt2/core/include/functions/outer_scan.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_OUTER_SCAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_OUTER_SCAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/pi.hpp b/inst/include/nt2/core/include/functions/pi.hpp deleted file mode 100644 index 03f93b5..0000000 --- a/inst/include/nt2/core/include/functions/pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_PI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/pio_2.hpp b/inst/include/nt2/core/include/functions/pio_2.hpp deleted file mode 100644 index d8eedfd..0000000 --- a/inst/include/nt2/core/include/functions/pio_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_PIO_2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_PIO_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/pispace.hpp b/inst/include/nt2/core/include/functions/pispace.hpp deleted file mode 100644 index d99f939..0000000 --- a/inst/include/nt2/core/include/functions/pispace.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_PISPACE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_PISPACE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/putalong.hpp b/inst/include/nt2/core/include/functions/putalong.hpp deleted file mode 100644 index 14f90dc..0000000 --- a/inst/include/nt2/core/include/functions/putalong.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_PUTALONG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_PUTALONG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/quarter.hpp b/inst/include/nt2/core/include/functions/quarter.hpp deleted file mode 100644 index 325f6a6..0000000 --- a/inst/include/nt2/core/include/functions/quarter.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_QUARTER_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_QUARTER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/rand.hpp b/inst/include/nt2/core/include/functions/rand.hpp deleted file mode 100644 index 08bbe82..0000000 --- a/inst/include/nt2/core/include/functions/rand.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RAND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RAND_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/randi.hpp b/inst/include/nt2/core/include/functions/randi.hpp deleted file mode 100644 index 9f32120..0000000 --- a/inst/include/nt2/core/include/functions/randi.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RANDI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RANDI_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/randn.hpp b/inst/include/nt2/core/include/functions/randn.hpp deleted file mode 100644 index a80bc58..0000000 --- a/inst/include/nt2/core/include/functions/randn.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RANDN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RANDN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/real_splat.hpp b/inst/include/nt2/core/include/functions/real_splat.hpp deleted file mode 100644 index 44e9b80..0000000 --- a/inst/include/nt2/core/include/functions/real_splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_REAL_SPLAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_REAL_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/reindex.hpp b/inst/include/nt2/core/include/functions/reindex.hpp deleted file mode 100644 index 1750816..0000000 --- a/inst/include/nt2/core/include/functions/reindex.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_REINDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_REINDEX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/relative_index.hpp b/inst/include/nt2/core/include/functions/relative_index.hpp deleted file mode 100644 index ea9d822..0000000 --- a/inst/include/nt2/core/include/functions/relative_index.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RELATIVE_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RELATIVE_INDEX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/relative_size.hpp b/inst/include/nt2/core/include/functions/relative_size.hpp deleted file mode 100644 index 6b0d43c..0000000 --- a/inst/include/nt2/core/include/functions/relative_size.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RELATIVE_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RELATIVE_SIZE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/rephorz.hpp b/inst/include/nt2/core/include/functions/rephorz.hpp deleted file mode 100644 index 9a46063..0000000 --- a/inst/include/nt2/core/include/functions/rephorz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_REPHORZ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_REPHORZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/repmat.hpp b/inst/include/nt2/core/include/functions/repmat.hpp deleted file mode 100644 index 9c05cc5..0000000 --- a/inst/include/nt2/core/include/functions/repmat.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_REPMAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_REPMAT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/repnum.hpp b/inst/include/nt2/core/include/functions/repnum.hpp deleted file mode 100644 index 3dc23dc..0000000 --- a/inst/include/nt2/core/include/functions/repnum.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_REPNUM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_REPNUM_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/repvert.hpp b/inst/include/nt2/core/include/functions/repvert.hpp deleted file mode 100644 index f9b98bc..0000000 --- a/inst/include/nt2/core/include/functions/repvert.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_REPVERT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_REPVERT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/reshape.hpp b/inst/include/nt2/core/include/functions/reshape.hpp deleted file mode 100644 index 29e665a..0000000 --- a/inst/include/nt2/core/include/functions/reshape.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RESHAPE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RESHAPE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/resize.hpp b/inst/include/nt2/core/include/functions/resize.hpp deleted file mode 100644 index edd2644..0000000 --- a/inst/include/nt2/core/include/functions/resize.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RESIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RESIZE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ric.hpp b/inst/include/nt2/core/include/functions/ric.hpp deleted file mode 100644 index 49dd2d5..0000000 --- a/inst/include/nt2/core/include/functions/ric.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RIC_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RIC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/rif.hpp b/inst/include/nt2/core/include/functions/rif.hpp deleted file mode 100644 index 0ef4519..0000000 --- a/inst/include/nt2/core/include/functions/rif.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RIF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RIF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/rng.hpp b/inst/include/nt2/core/include/functions/rng.hpp deleted file mode 100644 index 506ec2e..0000000 --- a/inst/include/nt2/core/include/functions/rng.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_RNG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_RNG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/rows.hpp b/inst/include/nt2/core/include/functions/rows.hpp deleted file mode 100644 index be12ecc..0000000 --- a/inst/include/nt2/core/include/functions/rows.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ROWS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ROWS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/rowvect.hpp b/inst/include/nt2/core/include/functions/rowvect.hpp deleted file mode 100644 index f68d31c..0000000 --- a/inst/include/nt2/core/include/functions/rowvect.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ROWVECT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ROWVECT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/adjfun.hpp b/inst/include/nt2/core/include/functions/scalar/adjfun.hpp deleted file mode 100644 index b8a19f9..0000000 --- a/inst/include/nt2/core/include/functions/scalar/adjfun.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ADJFUN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ADJFUN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/aggregate.hpp b/inst/include/nt2/core/include/functions/scalar/aggregate.hpp deleted file mode 100644 index b9fa13c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/aggregate.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_AGGREGATE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_AGGREGATE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/allbits.hpp b/inst/include/nt2/core/include/functions/scalar/allbits.hpp deleted file mode 100644 index b10ae79..0000000 --- a/inst/include/nt2/core/include/functions/scalar/allbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ALLBITS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ALLBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/along.hpp b/inst/include/nt2/core/include/functions/scalar/along.hpp deleted file mode 100644 index 5cb866b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/along.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ALONG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ALONG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/along_index.hpp b/inst/include/nt2/core/include/functions/scalar/along_index.hpp deleted file mode 100644 index 36ba922..0000000 --- a/inst/include/nt2/core/include/functions/scalar/along_index.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ALONG_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ALONG_INDEX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/arrayfun.hpp b/inst/include/nt2/core/include/functions/scalar/arrayfun.hpp deleted file mode 100644 index 43c44bc..0000000 --- a/inst/include/nt2/core/include/functions/scalar/arrayfun.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ARRAYFUN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ARRAYFUN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/as_size.hpp b/inst/include/nt2/core/include/functions/scalar/as_size.hpp deleted file mode 100644 index 519490c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/as_size.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_AS_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_AS_SIZE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/asum1.hpp b/inst/include/nt2/core/include/functions/scalar/asum1.hpp deleted file mode 100644 index e112fbc..0000000 --- a/inst/include/nt2/core/include/functions/scalar/asum1.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ASUM1_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ASUM1_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/asum2.hpp b/inst/include/nt2/core/include/functions/scalar/asum2.hpp deleted file mode 100644 index ebb9649..0000000 --- a/inst/include/nt2/core/include/functions/scalar/asum2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ASUM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ASUM2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/asump.hpp b/inst/include/nt2/core/include/functions/scalar/asump.hpp deleted file mode 100644 index 82901f4..0000000 --- a/inst/include/nt2/core/include/functions/scalar/asump.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ASUMP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ASUMP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/band.hpp b/inst/include/nt2/core/include/functions/scalar/band.hpp deleted file mode 100644 index 85469bf..0000000 --- a/inst/include/nt2/core/include/functions/scalar/band.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_BAND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_BAND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/bitincrement.hpp b/inst/include/nt2/core/include/functions/scalar/bitincrement.hpp deleted file mode 100644 index 31acf07..0000000 --- a/inst/include/nt2/core/include/functions/scalar/bitincrement.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_BITINCREMENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_BITINCREMENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/blkdiag.hpp b/inst/include/nt2/core/include/functions/scalar/blkdiag.hpp deleted file mode 100644 index 6c8cf91..0000000 --- a/inst/include/nt2/core/include/functions/scalar/blkdiag.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_BLKDIAG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_BLKDIAG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/c180.hpp b/inst/include/nt2/core/include/functions/scalar/c180.hpp deleted file mode 100644 index 87aaafd..0000000 --- a/inst/include/nt2/core/include/functions/scalar/c180.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_C180_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_C180_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/cat.hpp b/inst/include/nt2/core/include/functions/scalar/cat.hpp deleted file mode 100644 index 086dcaa..0000000 --- a/inst/include/nt2/core/include/functions/scalar/cat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/cdiff.hpp b/inst/include/nt2/core/include/functions/scalar/cdiff.hpp deleted file mode 100644 index f6557ce..0000000 --- a/inst/include/nt2/core/include/functions/scalar/cdiff.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CDIFF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CDIFF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/cgold.hpp b/inst/include/nt2/core/include/functions/scalar/cgold.hpp deleted file mode 100644 index cc1b10a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/cgold.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CGOLD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CGOLD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/cic.hpp b/inst/include/nt2/core/include/functions/scalar/cic.hpp deleted file mode 100644 index 7aa2835..0000000 --- a/inst/include/nt2/core/include/functions/scalar/cic.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CIC_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CIC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/cif.hpp b/inst/include/nt2/core/include/functions/scalar/cif.hpp deleted file mode 100644 index 4fceb97..0000000 --- a/inst/include/nt2/core/include/functions/scalar/cif.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CIF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CIF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/class.hpp b/inst/include/nt2/core/include/functions/scalar/class.hpp deleted file mode 100644 index 4bb0570..0000000 --- a/inst/include/nt2/core/include/functions/scalar/class.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CLASS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CLASS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/colon.hpp b/inst/include/nt2/core/include/functions/scalar/colon.hpp deleted file mode 100644 index 9219c37..0000000 --- a/inst/include/nt2/core/include/functions/scalar/colon.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_COLON_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_COLON_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/cols.hpp b/inst/include/nt2/core/include/functions/scalar/cols.hpp deleted file mode 100644 index d5c235f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/cols.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_COLS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_COLS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/colvect.hpp b/inst/include/nt2/core/include/functions/scalar/colvect.hpp deleted file mode 100644 index 8be8c75..0000000 --- a/inst/include/nt2/core/include/functions/scalar/colvect.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_COLVECT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_COLVECT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/cons.hpp b/inst/include/nt2/core/include/functions/scalar/cons.hpp deleted file mode 100644 index 8541338..0000000 --- a/inst/include/nt2/core/include/functions/scalar/cons.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CONS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CONS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/construct.hpp b/inst/include/nt2/core/include/functions/scalar/construct.hpp deleted file mode 100644 index addf1e2..0000000 --- a/inst/include/nt2/core/include/functions/scalar/construct.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CONSTRUCT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CONSTRUCT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ctranspose.hpp b/inst/include/nt2/core/include/functions/scalar/ctranspose.hpp deleted file mode 100644 index 00ef23e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ctranspose.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CTRANSPOSE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CTRANSPOSE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/cumtrapz.hpp b/inst/include/nt2/core/include/functions/scalar/cumtrapz.hpp deleted file mode 100644 index 7f3a36c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/cumtrapz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CUMTRAPZ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_CUMTRAPZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/deltac.hpp b/inst/include/nt2/core/include/functions/scalar/deltac.hpp deleted file mode 100644 index 4d77382..0000000 --- a/inst/include/nt2/core/include/functions/scalar/deltac.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DELTAC_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DELTAC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/deltaf.hpp b/inst/include/nt2/core/include/functions/scalar/deltaf.hpp deleted file mode 100644 index 1e05f00..0000000 --- a/inst/include/nt2/core/include/functions/scalar/deltaf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DELTAF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DELTAF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/depth.hpp b/inst/include/nt2/core/include/functions/scalar/depth.hpp deleted file mode 100644 index ebb1427..0000000 --- a/inst/include/nt2/core/include/functions/scalar/depth.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DEPTH_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DEPTH_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/diag_of.hpp b/inst/include/nt2/core/include/functions/scalar/diag_of.hpp deleted file mode 100644 index fdd7928..0000000 --- a/inst/include/nt2/core/include/functions/scalar/diag_of.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DIAG_OF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DIAG_OF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/diff.hpp b/inst/include/nt2/core/include/functions/scalar/diff.hpp deleted file mode 100644 index ba08f20..0000000 --- a/inst/include/nt2/core/include/functions/scalar/diff.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DIFF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DIFF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/disp.hpp b/inst/include/nt2/core/include/functions/scalar/disp.hpp deleted file mode 100644 index 945989d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/disp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DISP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DISP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/display.hpp b/inst/include/nt2/core/include/functions/scalar/display.hpp deleted file mode 100644 index 50914b5..0000000 --- a/inst/include/nt2/core/include/functions/scalar/display.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DISPLAY_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_DISPLAY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/eight.hpp b/inst/include/nt2/core/include/functions/scalar/eight.hpp deleted file mode 100644 index 65757c6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/eight.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EIGHT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EIGHT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/eleven.hpp b/inst/include/nt2/core/include/functions/scalar/eleven.hpp deleted file mode 100644 index 92b5207..0000000 --- a/inst/include/nt2/core/include/functions/scalar/eleven.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ELEVEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ELEVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/erase.hpp b/inst/include/nt2/core/include/functions/scalar/erase.hpp deleted file mode 100644 index 23bf735..0000000 --- a/inst/include/nt2/core/include/functions/scalar/erase.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ERASE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ERASE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/expand.hpp b/inst/include/nt2/core/include/functions/scalar/expand.hpp deleted file mode 100644 index 69a89c8..0000000 --- a/inst/include/nt2/core/include/functions/scalar/expand.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EXPAND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EXPAND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/expand_to.hpp b/inst/include/nt2/core/include/functions/scalar/expand_to.hpp deleted file mode 100644 index b3b6640..0000000 --- a/inst/include/nt2/core/include/functions/scalar/expand_to.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EXPAND_TO_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EXPAND_TO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/extent.hpp b/inst/include/nt2/core/include/functions/scalar/extent.hpp deleted file mode 100644 index 1217c8b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/extent.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EXTENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EXTENT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/eye.hpp b/inst/include/nt2/core/include/functions/scalar/eye.hpp deleted file mode 100644 index f83376c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/eye.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EYE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_EYE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fact_10.hpp b/inst/include/nt2/core/include/functions/scalar/fact_10.hpp deleted file mode 100644 index cb69ffd..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fact_10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_10_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fact_11.hpp b/inst/include/nt2/core/include/functions/scalar/fact_11.hpp deleted file mode 100644 index cad9205..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fact_11.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_11_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_11_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fact_12.hpp b/inst/include/nt2/core/include/functions/scalar/fact_12.hpp deleted file mode 100644 index 42f81db..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fact_12.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_12_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_12_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fact_4.hpp b/inst/include/nt2/core/include/functions/scalar/fact_4.hpp deleted file mode 100644 index 2b8f801..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fact_4.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_4_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_4_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fact_5.hpp b/inst/include/nt2/core/include/functions/scalar/fact_5.hpp deleted file mode 100644 index 53df06e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fact_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_5_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fact_6.hpp b/inst/include/nt2/core/include/functions/scalar/fact_6.hpp deleted file mode 100644 index 974fbf8..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fact_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_6_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fact_7.hpp b/inst/include/nt2/core/include/functions/scalar/fact_7.hpp deleted file mode 100644 index 9ad73d7..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fact_7.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_7_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_7_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fact_8.hpp b/inst/include/nt2/core/include/functions/scalar/fact_8.hpp deleted file mode 100644 index ffc619b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fact_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_8_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fact_9.hpp b/inst/include/nt2/core/include/functions/scalar/fact_9.hpp deleted file mode 100644 index 8e5c05e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fact_9.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_9_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FACT_9_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/falses.hpp b/inst/include/nt2/core/include/functions/scalar/falses.hpp deleted file mode 100644 index ffd4e72..0000000 --- a/inst/include/nt2/core/include/functions/scalar/falses.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FALSES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FALSES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fifteen.hpp b/inst/include/nt2/core/include/functions/scalar/fifteen.hpp deleted file mode 100644 index 382d587..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fifteen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIFTEEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIFTEEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fill_pattern.hpp b/inst/include/nt2/core/include/functions/scalar/fill_pattern.hpp deleted file mode 100644 index d527ae6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fill_pattern.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FILL_PATTERN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FILL_PATTERN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/find.hpp b/inst/include/nt2/core/include/functions/scalar/find.hpp deleted file mode 100644 index a9a9e93..0000000 --- a/inst/include/nt2/core/include/functions/scalar/find.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/findi.hpp b/inst/include/nt2/core/include/functions/scalar/findi.hpp deleted file mode 100644 index 3f963f0..0000000 --- a/inst/include/nt2/core/include/functions/scalar/findi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FINDI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FINDI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/findj.hpp b/inst/include/nt2/core/include/functions/scalar/findj.hpp deleted file mode 100644 index 051d078..0000000 --- a/inst/include/nt2/core/include/functions/scalar/findj.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FINDJ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FINDJ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/first_index.hpp b/inst/include/nt2/core/include/functions/scalar/first_index.hpp deleted file mode 100644 index 472ce5f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/first_index.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIRST_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIRST_INDEX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/firstnonsingleton.hpp b/inst/include/nt2/core/include/functions/scalar/firstnonsingleton.hpp deleted file mode 100644 index 19c9d4b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/firstnonsingleton.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIRSTNONSINGLETON_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIRSTNONSINGLETON_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/firstoflength.hpp b/inst/include/nt2/core/include/functions/scalar/firstoflength.hpp deleted file mode 100644 index 348eb76..0000000 --- a/inst/include/nt2/core/include/functions/scalar/firstoflength.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIRSTOFLENGTH_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIRSTOFLENGTH_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/five.hpp b/inst/include/nt2/core/include/functions/scalar/five.hpp deleted file mode 100644 index bc3a53d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/five.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIVE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fiveo_8.hpp b/inst/include/nt2/core/include/functions/scalar/fiveo_8.hpp deleted file mode 100644 index 92b0557..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fiveo_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIVEO_8_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FIVEO_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/flipdim.hpp b/inst/include/nt2/core/include/functions/scalar/flipdim.hpp deleted file mode 100644 index 8bf9b0a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/flipdim.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FLIPDIM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FLIPDIM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fliplr.hpp b/inst/include/nt2/core/include/functions/scalar/fliplr.hpp deleted file mode 100644 index 246d9c5..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fliplr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FLIPLR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FLIPLR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/flipud.hpp b/inst/include/nt2/core/include/functions/scalar/flipud.hpp deleted file mode 100644 index ccf3ec4..0000000 --- a/inst/include/nt2/core/include/functions/scalar/flipud.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FLIPUD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FLIPUD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/four.hpp b/inst/include/nt2/core/include/functions/scalar/four.hpp deleted file mode 100644 index 94f0e08..0000000 --- a/inst/include/nt2/core/include/functions/scalar/four.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FOUR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FOUR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/fourthrooteps.hpp b/inst/include/nt2/core/include/functions/scalar/fourthrooteps.hpp deleted file mode 100644 index 9d8020f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/fourthrooteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FOURTHROOTEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FOURTHROOTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/freqspace.hpp b/inst/include/nt2/core/include/functions/scalar/freqspace.hpp deleted file mode 100644 index 72cbf35..0000000 --- a/inst/include/nt2/core/include/functions/scalar/freqspace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FREQSPACE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FREQSPACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/from_diag.hpp b/inst/include/nt2/core/include/functions/scalar/from_diag.hpp deleted file mode 100644 index 1da1216..0000000 --- a/inst/include/nt2/core/include/functions/scalar/from_diag.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FROM_DIAG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FROM_DIAG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/function.hpp b/inst/include/nt2/core/include/functions/scalar/function.hpp deleted file mode 100644 index 4154b35..0000000 --- a/inst/include/nt2/core/include/functions/scalar/function.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FUNCTION_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FUNCTION_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/function_index.hpp b/inst/include/nt2/core/include/functions/scalar/function_index.hpp deleted file mode 100644 index ae26c8b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/function_index.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FUNCTION_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_FUNCTION_INDEX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/global.hpp b/inst/include/nt2/core/include/functions/scalar/global.hpp deleted file mode 100644 index 47b8b7e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/global.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBAL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalall.hpp b/inst/include/nt2/core/include/functions/scalar/globalall.hpp deleted file mode 100644 index 5ff925f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalall.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALALL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALALL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalany.hpp b/inst/include/nt2/core/include/functions/scalar/globalany.hpp deleted file mode 100644 index e7f5f43..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalany.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALANY_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALANY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalasum1.hpp b/inst/include/nt2/core/include/functions/scalar/globalasum1.hpp deleted file mode 100644 index 096a4e4..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalasum1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALASUM1_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALASUM1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalasum2.hpp b/inst/include/nt2/core/include/functions/scalar/globalasum2.hpp deleted file mode 100644 index a07a4e8..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalasum2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALASUM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALASUM2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalasump.hpp b/inst/include/nt2/core/include/functions/scalar/globalasump.hpp deleted file mode 100644 index d2e42f3..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalasump.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALASUMP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALASUMP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalfind.hpp b/inst/include/nt2/core/include/functions/scalar/globalfind.hpp deleted file mode 100644 index bc7e17e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalfind.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALFIND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALFIND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalmax.hpp b/inst/include/nt2/core/include/functions/scalar/globalmax.hpp deleted file mode 100644 index fe700e9..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMAX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalmean.hpp b/inst/include/nt2/core/include/functions/scalar/globalmean.hpp deleted file mode 100644 index b63ed2a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalmean.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMEAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMEAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalmeanad.hpp b/inst/include/nt2/core/include/functions/scalar/globalmeanad.hpp deleted file mode 100644 index 7e7ad99..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalmeanad.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMEANAD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMEANAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalmedian.hpp b/inst/include/nt2/core/include/functions/scalar/globalmedian.hpp deleted file mode 100644 index 7082a4b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalmedian.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMEDIAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMEDIAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalmedianad.hpp b/inst/include/nt2/core/include/functions/scalar/globalmedianad.hpp deleted file mode 100644 index e24e64b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalmedianad.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMEDIANAD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMEDIANAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalmin.hpp b/inst/include/nt2/core/include/functions/scalar/globalmin.hpp deleted file mode 100644 index 5bc0fd6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMIN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalnone.hpp b/inst/include/nt2/core/include/functions/scalar/globalnone.hpp deleted file mode 100644 index 901a4e6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalnone.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALNONE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALNONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalnorm.hpp b/inst/include/nt2/core/include/functions/scalar/globalnorm.hpp deleted file mode 100644 index 7d4ab5b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalnorm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALNORM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALNORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalnorm2.hpp b/inst/include/nt2/core/include/functions/scalar/globalnorm2.hpp deleted file mode 100644 index 21b9a47..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalnorm2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALNORM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALNORM2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalnormp.hpp b/inst/include/nt2/core/include/functions/scalar/globalnormp.hpp deleted file mode 100644 index b84c083..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalnormp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALNORMP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALNORMP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalprod.hpp b/inst/include/nt2/core/include/functions/scalar/globalprod.hpp deleted file mode 100644 index e00b45b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalprod.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALPROD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALPROD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalstdev.hpp b/inst/include/nt2/core/include/functions/scalar/globalstdev.hpp deleted file mode 100644 index 3cf2384..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalstdev.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALSTDEV_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALSTDEV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalsum.hpp b/inst/include/nt2/core/include/functions/scalar/globalsum.hpp deleted file mode 100644 index 54f7bde..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalsum.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALSUM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALSUM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/globalvar.hpp b/inst/include/nt2/core/include/functions/scalar/globalvar.hpp deleted file mode 100644 index 37a6eea..0000000 --- a/inst/include/nt2/core/include/functions/scalar/globalvar.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALVAR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GLOBALVAR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/gold.hpp b/inst/include/nt2/core/include/functions/scalar/gold.hpp deleted file mode 100644 index 68d78f7..0000000 --- a/inst/include/nt2/core/include/functions/scalar/gold.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GOLD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GOLD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/greatestnoninteger.hpp b/inst/include/nt2/core/include/functions/scalar/greatestnoninteger.hpp deleted file mode 100644 index b40dc3c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/greatestnoninteger.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GREATESTNONINTEGER_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_GREATESTNONINTEGER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/half.hpp b/inst/include/nt2/core/include/functions/scalar/half.hpp deleted file mode 100644 index 80eccf0..0000000 --- a/inst/include/nt2/core/include/functions/scalar/half.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HALF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/halfeps.hpp b/inst/include/nt2/core/include/functions/scalar/halfeps.hpp deleted file mode 100644 index 3724b46..0000000 --- a/inst/include/nt2/core/include/functions/scalar/halfeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HALFEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HALFEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/height.hpp b/inst/include/nt2/core/include/functions/scalar/height.hpp deleted file mode 100644 index bf87d25..0000000 --- a/inst/include/nt2/core/include/functions/scalar/height.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HEIGHT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HEIGHT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/homot.hpp b/inst/include/nt2/core/include/functions/scalar/homot.hpp deleted file mode 100644 index 2157191..0000000 --- a/inst/include/nt2/core/include/functions/scalar/homot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HOMOT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HOMOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/horzcat.hpp b/inst/include/nt2/core/include/functions/scalar/horzcat.hpp deleted file mode 100644 index 5ec3860..0000000 --- a/inst/include/nt2/core/include/functions/scalar/horzcat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HORZCAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HORZCAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/hundred.hpp b/inst/include/nt2/core/include/functions/scalar/hundred.hpp deleted file mode 100644 index 4db6aa3..0000000 --- a/inst/include/nt2/core/include/functions/scalar/hundred.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HUNDRED_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_HUNDRED_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/idivide.hpp b/inst/include/nt2/core/include/functions/scalar/idivide.hpp deleted file mode 100644 index 7950bf3..0000000 --- a/inst/include/nt2/core/include/functions/scalar/idivide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_IDIVIDE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_IDIVIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ifvectvert.hpp b/inst/include/nt2/core/include/functions/scalar/ifvectvert.hpp deleted file mode 100644 index 955d841..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ifvectvert.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_IFVECTVERT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_IFVECTVERT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ind2sub.hpp b/inst/include/nt2/core/include/functions/scalar/ind2sub.hpp deleted file mode 100644 index e51a573..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ind2sub.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_IND2SUB_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_IND2SUB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/indices.hpp b/inst/include/nt2/core/include/functions/scalar/indices.hpp deleted file mode 100644 index 4a049d0..0000000 --- a/inst/include/nt2/core/include/functions/scalar/indices.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INDICES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INDICES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/inf.hpp b/inst/include/nt2/core/include/functions/scalar/inf.hpp deleted file mode 100644 index 4bf9e39..0000000 --- a/inst/include/nt2/core/include/functions/scalar/inf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/inner_fold.hpp b/inst/include/nt2/core/include/functions/scalar/inner_fold.hpp deleted file mode 100644 index f956d3d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/inner_fold.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INNER_FOLD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INNER_FOLD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/inner_scan.hpp b/inst/include/nt2/core/include/functions/scalar/inner_scan.hpp deleted file mode 100644 index 84ecb66..0000000 --- a/inst/include/nt2/core/include/functions/scalar/inner_scan.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INNER_SCAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INNER_SCAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/int_splat.hpp b/inst/include/nt2/core/include/functions/scalar/int_splat.hpp deleted file mode 100644 index f0de37f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/int_splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INT_SPLAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_INT_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ismember.hpp b/inst/include/nt2/core/include/functions/scalar/ismember.hpp deleted file mode 100644 index 2ab6416..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ismember.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ISMEMBER_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ISMEMBER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/kron.hpp b/inst/include/nt2/core/include/functions/scalar/kron.hpp deleted file mode 100644 index 869d031..0000000 --- a/inst/include/nt2/core/include/functions/scalar/kron.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_KRON_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_KRON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/last_index.hpp b/inst/include/nt2/core/include/functions/scalar/last_index.hpp deleted file mode 100644 index 2bf4097..0000000 --- a/inst/include/nt2/core/include/functions/scalar/last_index.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LAST_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LAST_INDEX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ldexpmask.hpp b/inst/include/nt2/core/include/functions/scalar/ldexpmask.hpp deleted file mode 100644 index 12ee67d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ldexpmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LDEXPMASK_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LDEXPMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/length.hpp b/inst/include/nt2/core/include/functions/scalar/length.hpp deleted file mode 100644 index 30550e1..0000000 --- a/inst/include/nt2/core/include/functions/scalar/length.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LENGTH_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LENGTH_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/limitexponent.hpp b/inst/include/nt2/core/include/functions/scalar/limitexponent.hpp deleted file mode 100644 index 9498abc..0000000 --- a/inst/include/nt2/core/include/functions/scalar/limitexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LIMITEXPONENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LIMITEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/line.hpp b/inst/include/nt2/core/include/functions/scalar/line.hpp deleted file mode 100644 index 1341700..0000000 --- a/inst/include/nt2/core/include/functions/scalar/line.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LINE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LINE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/linesstride.hpp b/inst/include/nt2/core/include/functions/scalar/linesstride.hpp deleted file mode 100644 index 4c4419e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/linesstride.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LINESSTRIDE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LINESSTRIDE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/linspace.hpp b/inst/include/nt2/core/include/functions/scalar/linspace.hpp deleted file mode 100644 index bf2480d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/linspace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LINSPACE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LINSPACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/log10_pi.hpp b/inst/include/nt2/core/include/functions/scalar/log10_pi.hpp deleted file mode 100644 index 282fbf1..0000000 --- a/inst/include/nt2/core/include/functions/scalar/log10_pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOG10_PI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOG10_PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/log2_em1.hpp b/inst/include/nt2/core/include/functions/scalar/log2_em1.hpp deleted file mode 100644 index 0b8dea6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/log2_em1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOG2_EM1_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOG2_EM1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/logeps.hpp b/inst/include/nt2/core/include/functions/scalar/logeps.hpp deleted file mode 100644 index 4fd3b70..0000000 --- a/inst/include/nt2/core/include/functions/scalar/logeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOGEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOGEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/logpi.hpp b/inst/include/nt2/core/include/functions/scalar/logpi.hpp deleted file mode 100644 index 5e69d53..0000000 --- a/inst/include/nt2/core/include/functions/scalar/logpi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOGPI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOGPI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/logspace.hpp b/inst/include/nt2/core/include/functions/scalar/logspace.hpp deleted file mode 100644 index d525739..0000000 --- a/inst/include/nt2/core/include/functions/scalar/logspace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOGSPACE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOGSPACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/logsqrt2pi.hpp b/inst/include/nt2/core/include/functions/scalar/logsqrt2pi.hpp deleted file mode 100644 index 42d1f33..0000000 --- a/inst/include/nt2/core/include/functions/scalar/logsqrt2pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOGSQRT2PI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_LOGSQRT2PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mask1frexp.hpp b/inst/include/nt2/core/include/functions/scalar/mask1frexp.hpp deleted file mode 100644 index 55aef46..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mask1frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MASK1FREXP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MASK1FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mask2frexp.hpp b/inst/include/nt2/core/include/functions/scalar/mask2frexp.hpp deleted file mode 100644 index b3808ec..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mask2frexp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MASK2FREXP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MASK2FREXP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/maxexponent.hpp b/inst/include/nt2/core/include/functions/scalar/maxexponent.hpp deleted file mode 100644 index ae61d68..0000000 --- a/inst/include/nt2/core/include/functions/scalar/maxexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MAXEXPONENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MAXEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/maxexponentm1.hpp b/inst/include/nt2/core/include/functions/scalar/maxexponentm1.hpp deleted file mode 100644 index 14b28a6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/maxexponentm1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MAXEXPONENTM1_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MAXEXPONENTM1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/maxinit.hpp b/inst/include/nt2/core/include/functions/scalar/maxinit.hpp deleted file mode 100644 index 58aea52..0000000 --- a/inst/include/nt2/core/include/functions/scalar/maxinit.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MAXINIT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MAXINIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/maxleftshift.hpp b/inst/include/nt2/core/include/functions/scalar/maxleftshift.hpp deleted file mode 100644 index e2dce7c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/maxleftshift.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MAXLEFTSHIFT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MAXLEFTSHIFT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mean.hpp b/inst/include/nt2/core/include/functions/scalar/mean.hpp deleted file mode 100644 index add0fde..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mean.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/meanad.hpp b/inst/include/nt2/core/include/functions/scalar/meanad.hpp deleted file mode 100644 index 3ffe3e8..0000000 --- a/inst/include/nt2/core/include/functions/scalar/meanad.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEANAD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEANAD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/median.hpp b/inst/include/nt2/core/include/functions/scalar/median.hpp deleted file mode 100644 index facd472..0000000 --- a/inst/include/nt2/core/include/functions/scalar/median.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEDIAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEDIAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/medianad.hpp b/inst/include/nt2/core/include/functions/scalar/medianad.hpp deleted file mode 100644 index 6bef09f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/medianad.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEDIANAD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEDIANAD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/meight.hpp b/inst/include/nt2/core/include/functions/scalar/meight.hpp deleted file mode 100644 index 73f6596..0000000 --- a/inst/include/nt2/core/include/functions/scalar/meight.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEIGHT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MEIGHT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/meshgrid.hpp b/inst/include/nt2/core/include/functions/scalar/meshgrid.hpp deleted file mode 100644 index 8a297fc..0000000 --- a/inst/include/nt2/core/include/functions/scalar/meshgrid.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MESHGRID_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MESHGRID_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mfive.hpp b/inst/include/nt2/core/include/functions/scalar/mfive.hpp deleted file mode 100644 index c8c2d81..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mfive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MFIVE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MFIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mfour.hpp b/inst/include/nt2/core/include/functions/scalar/mfour.hpp deleted file mode 100644 index ecf06fb..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mfour.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MFOUR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MFOUR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mhalf.hpp b/inst/include/nt2/core/include/functions/scalar/mhalf.hpp deleted file mode 100644 index 10b2552..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mhalf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MHALF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MHALF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mindenormal.hpp b/inst/include/nt2/core/include/functions/scalar/mindenormal.hpp deleted file mode 100644 index e0193c3..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mindenormal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MINDENORMAL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MINDENORMAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/minexponent.hpp b/inst/include/nt2/core/include/functions/scalar/minexponent.hpp deleted file mode 100644 index 18c50d1..0000000 --- a/inst/include/nt2/core/include/functions/scalar/minexponent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MINEXPONENT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MINEXPONENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/minf.hpp b/inst/include/nt2/core/include/functions/scalar/minf.hpp deleted file mode 100644 index 1fcf356..0000000 --- a/inst/include/nt2/core/include/functions/scalar/minf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MINF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MINF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mlogeps2.hpp b/inst/include/nt2/core/include/functions/scalar/mlogeps2.hpp deleted file mode 100644 index e432420..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mlogeps2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MLOGEPS2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MLOGEPS2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mnine.hpp b/inst/include/nt2/core/include/functions/scalar/mnine.hpp deleted file mode 100644 index 8fb667f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mnine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MNINE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MNINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mone.hpp b/inst/include/nt2/core/include/functions/scalar/mone.hpp deleted file mode 100644 index 786cc51..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mone.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MONE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MONE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/moneo_6.hpp b/inst/include/nt2/core/include/functions/scalar/moneo_6.hpp deleted file mode 100644 index 2bf7215..0000000 --- a/inst/include/nt2/core/include/functions/scalar/moneo_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MONEO_6_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MONEO_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mseven.hpp b/inst/include/nt2/core/include/functions/scalar/mseven.hpp deleted file mode 100644 index a46170c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mseven.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MSEVEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MSEVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/msix.hpp b/inst/include/nt2/core/include/functions/scalar/msix.hpp deleted file mode 100644 index 87b675f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/msix.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MSIX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MSIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mten.hpp b/inst/include/nt2/core/include/functions/scalar/mten.hpp deleted file mode 100644 index cde122a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mten.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MTEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MTEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mthree.hpp b/inst/include/nt2/core/include/functions/scalar/mthree.hpp deleted file mode 100644 index 9e2af76..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mthree.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MTHREE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MTHREE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mtwo.hpp b/inst/include/nt2/core/include/functions/scalar/mtwo.hpp deleted file mode 100644 index 9249b0f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mtwo.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MTWO_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MTWO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/mzero.hpp b/inst/include/nt2/core/include/functions/scalar/mzero.hpp deleted file mode 100644 index 78df61a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/mzero.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MZERO_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_MZERO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/nan.hpp b/inst/include/nt2/core/include/functions/scalar/nan.hpp deleted file mode 100644 index 1263778..0000000 --- a/inst/include/nt2/core/include/functions/scalar/nan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/nanasum2.hpp b/inst/include/nt2/core/include/functions/scalar/nanasum2.hpp deleted file mode 100644 index 1d546a4..0000000 --- a/inst/include/nt2/core/include/functions/scalar/nanasum2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NANASUM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NANASUM2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/nanmean.hpp b/inst/include/nt2/core/include/functions/scalar/nanmean.hpp deleted file mode 100644 index 9952960..0000000 --- a/inst/include/nt2/core/include/functions/scalar/nanmean.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NANMEAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NANMEAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/nansum.hpp b/inst/include/nt2/core/include/functions/scalar/nansum.hpp deleted file mode 100644 index 7e9d79d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/nansum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NANSUM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NANSUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/nbdigits.hpp b/inst/include/nt2/core/include/functions/scalar/nbdigits.hpp deleted file mode 100644 index b5bd15a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/nbdigits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NBDIGITS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NBDIGITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/nbexponentbits.hpp b/inst/include/nt2/core/include/functions/scalar/nbexponentbits.hpp deleted file mode 100644 index e8d3828..0000000 --- a/inst/include/nt2/core/include/functions/scalar/nbexponentbits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NBEXPONENTBITS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NBEXPONENTBITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/nblines.hpp b/inst/include/nt2/core/include/functions/scalar/nblines.hpp deleted file mode 100644 index 2baf3d4..0000000 --- a/inst/include/nt2/core/include/functions/scalar/nblines.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NBLINES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NBLINES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/nbmantissabits.hpp b/inst/include/nt2/core/include/functions/scalar/nbmantissabits.hpp deleted file mode 100644 index 96ccf66..0000000 --- a/inst/include/nt2/core/include/functions/scalar/nbmantissabits.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NBMANTISSABITS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NBMANTISSABITS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ndgrid.hpp b/inst/include/nt2/core/include/functions/scalar/ndgrid.hpp deleted file mode 100644 index baeb43e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ndgrid.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NDGRID_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NDGRID_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ndims.hpp b/inst/include/nt2/core/include/functions/scalar/ndims.hpp deleted file mode 100644 index 7a2765c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ndims.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NDIMS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NDIMS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/nine.hpp b/inst/include/nt2/core/include/functions/scalar/nine.hpp deleted file mode 100644 index 67c6603..0000000 --- a/inst/include/nt2/core/include/functions/scalar/nine.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NINE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NINE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/norm2.hpp b/inst/include/nt2/core/include/functions/scalar/norm2.hpp deleted file mode 100644 index cefebad..0000000 --- a/inst/include/nt2/core/include/functions/scalar/norm2.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NORM2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NORM2_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/normp.hpp b/inst/include/nt2/core/include/functions/scalar/normp.hpp deleted file mode 100644 index 4e94bf2..0000000 --- a/inst/include/nt2/core/include/functions/scalar/normp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NORMP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NORMP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/numel.hpp b/inst/include/nt2/core/include/functions/scalar/numel.hpp deleted file mode 100644 index 4cf67c7..0000000 --- a/inst/include/nt2/core/include/functions/scalar/numel.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NUMEL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_NUMEL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/of_size.hpp b/inst/include/nt2/core/include/functions/scalar/of_size.hpp deleted file mode 100644 index 3847b54..0000000 --- a/inst/include/nt2/core/include/functions/scalar/of_size.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_OF_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_OF_SIZE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_10.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_10.hpp deleted file mode 100644 index 5c198ef..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_10_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_12.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_12.hpp deleted file mode 100644 index 093c00f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_12.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_12_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_12_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_120.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_120.hpp deleted file mode 100644 index a35c03a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_120.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_120_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_120_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_15.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_15.hpp deleted file mode 100644 index 291e438..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_15.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_15_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_15_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_16.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_16.hpp deleted file mode 100644 index 0ea9e3e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_16.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_16_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_16_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_180.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_180.hpp deleted file mode 100644 index 54d4da7..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_180.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_180_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_180_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_5.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_5.hpp deleted file mode 100644 index 3ac641a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_5_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_6.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_6.hpp deleted file mode 100644 index 781fdf0..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_6.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_6_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_6_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_7.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_7.hpp deleted file mode 100644 index ef9e7a2..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_7.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_7_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_7_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_8.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_8.hpp deleted file mode 100644 index 464e2b7..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_8.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_8_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_8_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneo_9.hpp b/inst/include/nt2/core/include/functions/scalar/oneo_9.hpp deleted file mode 100644 index 28310e1..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneo_9.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_9_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEO_9_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneosqrt5.hpp b/inst/include/nt2/core/include/functions/scalar/oneosqrt5.hpp deleted file mode 100644 index 54eec90..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneosqrt5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEOSQRT5_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEOSQRT5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneosqrteps.hpp b/inst/include/nt2/core/include/functions/scalar/oneosqrteps.hpp deleted file mode 100644 index 471a900..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneosqrteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEOSQRTEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEOSQRTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/oneotwoeps.hpp b/inst/include/nt2/core/include/functions/scalar/oneotwoeps.hpp deleted file mode 100644 index 62a24d6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/oneotwoeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEOTWOEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONEOTWOEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ones.hpp b/inst/include/nt2/core/include/functions/scalar/ones.hpp deleted file mode 100644 index 80069e6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ones.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ONES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/outer_fold.hpp b/inst/include/nt2/core/include/functions/scalar/outer_fold.hpp deleted file mode 100644 index 9ab110a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/outer_fold.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_OUTER_FOLD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_OUTER_FOLD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/outer_scan.hpp b/inst/include/nt2/core/include/functions/scalar/outer_scan.hpp deleted file mode 100644 index 6858514..0000000 --- a/inst/include/nt2/core/include/functions/scalar/outer_scan.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_OUTER_SCAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_OUTER_SCAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/pi.hpp b/inst/include/nt2/core/include/functions/scalar/pi.hpp deleted file mode 100644 index 3481e61..0000000 --- a/inst/include/nt2/core/include/functions/scalar/pi.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_PI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_PI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/pio_2.hpp b/inst/include/nt2/core/include/functions/scalar/pio_2.hpp deleted file mode 100644 index 06f1126..0000000 --- a/inst/include/nt2/core/include/functions/scalar/pio_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_PIO_2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_PIO_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/pispace.hpp b/inst/include/nt2/core/include/functions/scalar/pispace.hpp deleted file mode 100644 index 7fbcc7b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/pispace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_PISPACE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_PISPACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/putalong.hpp b/inst/include/nt2/core/include/functions/scalar/putalong.hpp deleted file mode 100644 index dbaa221..0000000 --- a/inst/include/nt2/core/include/functions/scalar/putalong.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_PUTALONG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_PUTALONG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/quarter.hpp b/inst/include/nt2/core/include/functions/scalar/quarter.hpp deleted file mode 100644 index d07f62b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/quarter.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_QUARTER_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_QUARTER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/rand.hpp b/inst/include/nt2/core/include/functions/scalar/rand.hpp deleted file mode 100644 index 298d04d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/rand.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RAND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RAND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/randi.hpp b/inst/include/nt2/core/include/functions/scalar/randi.hpp deleted file mode 100644 index b999566..0000000 --- a/inst/include/nt2/core/include/functions/scalar/randi.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RANDI_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RANDI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/randn.hpp b/inst/include/nt2/core/include/functions/scalar/randn.hpp deleted file mode 100644 index 3c02021..0000000 --- a/inst/include/nt2/core/include/functions/scalar/randn.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RANDN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RANDN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/real_splat.hpp b/inst/include/nt2/core/include/functions/scalar/real_splat.hpp deleted file mode 100644 index 037e571..0000000 --- a/inst/include/nt2/core/include/functions/scalar/real_splat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REAL_SPLAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REAL_SPLAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/relative_index.hpp b/inst/include/nt2/core/include/functions/scalar/relative_index.hpp deleted file mode 100644 index 502bd79..0000000 --- a/inst/include/nt2/core/include/functions/scalar/relative_index.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RELATIVE_INDEX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RELATIVE_INDEX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/relative_size.hpp b/inst/include/nt2/core/include/functions/scalar/relative_size.hpp deleted file mode 100644 index 51798ff..0000000 --- a/inst/include/nt2/core/include/functions/scalar/relative_size.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RELATIVE_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RELATIVE_SIZE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/rephorz.hpp b/inst/include/nt2/core/include/functions/scalar/rephorz.hpp deleted file mode 100644 index d61cf92..0000000 --- a/inst/include/nt2/core/include/functions/scalar/rephorz.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REPHORZ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REPHORZ_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/repmat.hpp b/inst/include/nt2/core/include/functions/scalar/repmat.hpp deleted file mode 100644 index 6b35d48..0000000 --- a/inst/include/nt2/core/include/functions/scalar/repmat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REPMAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REPMAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/repnum.hpp b/inst/include/nt2/core/include/functions/scalar/repnum.hpp deleted file mode 100644 index fafdd74..0000000 --- a/inst/include/nt2/core/include/functions/scalar/repnum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REPNUM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REPNUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/repvert.hpp b/inst/include/nt2/core/include/functions/scalar/repvert.hpp deleted file mode 100644 index bd4e843..0000000 --- a/inst/include/nt2/core/include/functions/scalar/repvert.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REPVERT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_REPVERT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/reshape.hpp b/inst/include/nt2/core/include/functions/scalar/reshape.hpp deleted file mode 100644 index 54e262b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/reshape.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RESHAPE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RESHAPE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/resize.hpp b/inst/include/nt2/core/include/functions/scalar/resize.hpp deleted file mode 100644 index 4d6bac5..0000000 --- a/inst/include/nt2/core/include/functions/scalar/resize.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RESIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RESIZE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ric.hpp b/inst/include/nt2/core/include/functions/scalar/ric.hpp deleted file mode 100644 index 326f7b2..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ric.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RIC_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RIC_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/rif.hpp b/inst/include/nt2/core/include/functions/scalar/rif.hpp deleted file mode 100644 index 5d7435b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/rif.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RIF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RIF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/rng.hpp b/inst/include/nt2/core/include/functions/scalar/rng.hpp deleted file mode 100644 index 37ce2aa..0000000 --- a/inst/include/nt2/core/include/functions/scalar/rng.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RNG_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_RNG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/rows.hpp b/inst/include/nt2/core/include/functions/scalar/rows.hpp deleted file mode 100644 index 34fa1a3..0000000 --- a/inst/include/nt2/core/include/functions/scalar/rows.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ROWS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ROWS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/rowvect.hpp b/inst/include/nt2/core/include/functions/scalar/rowvect.hpp deleted file mode 100644 index 8b79c49..0000000 --- a/inst/include/nt2/core/include/functions/scalar/rowvect.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ROWVECT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ROWVECT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/setdiff.hpp b/inst/include/nt2/core/include/functions/scalar/setdiff.hpp deleted file mode 100644 index 1321e16..0000000 --- a/inst/include/nt2/core/include/functions/scalar/setdiff.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SETDIFF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SETDIFF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/setinter.hpp b/inst/include/nt2/core/include/functions/scalar/setinter.hpp deleted file mode 100644 index 5889173..0000000 --- a/inst/include/nt2/core/include/functions/scalar/setinter.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SETINTER_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SETINTER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/setsymdiff.hpp b/inst/include/nt2/core/include/functions/scalar/setsymdiff.hpp deleted file mode 100644 index 85eaa94..0000000 --- a/inst/include/nt2/core/include/functions/scalar/setsymdiff.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SETSYMDIFF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SETSYMDIFF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/setunion.hpp b/inst/include/nt2/core/include/functions/scalar/setunion.hpp deleted file mode 100644 index c4a684e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/setunion.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SETUNION_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SETUNION_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/seven.hpp b/inst/include/nt2/core/include/functions/scalar/seven.hpp deleted file mode 100644 index 6a10115..0000000 --- a/inst/include/nt2/core/include/functions/scalar/seven.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SEVEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SEVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/signmask.hpp b/inst/include/nt2/core/include/functions/scalar/signmask.hpp deleted file mode 100644 index 3c253bc..0000000 --- a/inst/include/nt2/core/include/functions/scalar/signmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SIGNMASK_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SIGNMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/six.hpp b/inst/include/nt2/core/include/functions/scalar/six.hpp deleted file mode 100644 index 08133db..0000000 --- a/inst/include/nt2/core/include/functions/scalar/six.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SIX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sixteen.hpp b/inst/include/nt2/core/include/functions/scalar/sixteen.hpp deleted file mode 100644 index 2e0dfd5..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sixteen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SIXTEEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SIXTEEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/size.hpp b/inst/include/nt2/core/include/functions/scalar/size.hpp deleted file mode 100644 index a33df25..0000000 --- a/inst/include/nt2/core/include/functions/scalar/size.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SIZE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/smallestposval.hpp b/inst/include/nt2/core/include/functions/scalar/smallestposval.hpp deleted file mode 100644 index 117d86c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/smallestposval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SMALLESTPOSVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/splitfactor.hpp b/inst/include/nt2/core/include/functions/scalar/splitfactor.hpp deleted file mode 100644 index 9bba095..0000000 --- a/inst/include/nt2/core/include/functions/scalar/splitfactor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SPLITFACTOR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SPLITFACTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sqrt_1o_5.hpp b/inst/include/nt2/core/include/functions/scalar/sqrt_1o_5.hpp deleted file mode 100644 index 341953c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sqrt_1o_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRT_1O_5_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRT_1O_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sqrt_2.hpp b/inst/include/nt2/core/include/functions/scalar/sqrt_2.hpp deleted file mode 100644 index bf1693a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sqrt_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRT_2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRT_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sqrt_2o_2.hpp b/inst/include/nt2/core/include/functions/scalar/sqrt_2o_2.hpp deleted file mode 100644 index aaeda2c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sqrt_2o_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRT_2O_2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRT_2O_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sqrt_2o_3.hpp b/inst/include/nt2/core/include/functions/scalar/sqrt_2o_3.hpp deleted file mode 100644 index be9669f..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sqrt_2o_3.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRT_2O_3_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRT_2O_3_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sqrteps.hpp b/inst/include/nt2/core/include/functions/scalar/sqrteps.hpp deleted file mode 100644 index 0e709b4..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sqrteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRTEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sqrtsmallestposval.hpp b/inst/include/nt2/core/include/functions/scalar/sqrtsmallestposval.hpp deleted file mode 100644 index 625a682..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sqrtsmallestposval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRTSMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRTSMALLESTPOSVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sqrtvalmax.hpp b/inst/include/nt2/core/include/functions/scalar/sqrtvalmax.hpp deleted file mode 100644 index 2124740..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sqrtvalmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRTVALMAX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQRTVALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/squeeze.hpp b/inst/include/nt2/core/include/functions/scalar/squeeze.hpp deleted file mode 100644 index f0312f6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/squeeze.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQUEEZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SQUEEZE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/stdev.hpp b/inst/include/nt2/core/include/functions/scalar/stdev.hpp deleted file mode 100644 index 4ffdd10..0000000 --- a/inst/include/nt2/core/include/functions/scalar/stdev.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_STDEV_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_STDEV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sub2ind.hpp b/inst/include/nt2/core/include/functions/scalar/sub2ind.hpp deleted file mode 100644 index 9cc9315..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sub2ind.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SUB2IND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SUB2IND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/swap.hpp b/inst/include/nt2/core/include/functions/scalar/swap.hpp deleted file mode 100644 index 09726c8..0000000 --- a/inst/include/nt2/core/include/functions/scalar/swap.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SWAP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SWAP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sx.hpp b/inst/include/nt2/core/include/functions/scalar/sx.hpp deleted file mode 100644 index b55b2dd..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sx.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/sxfun.hpp b/inst/include/nt2/core/include/functions/scalar/sxfun.hpp deleted file mode 100644 index 84d7a26..0000000 --- a/inst/include/nt2/core/include/functions/scalar/sxfun.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SXFUN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_SXFUN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/ten.hpp b/inst/include/nt2/core/include/functions/scalar/ten.hpp deleted file mode 100644 index 5bac69b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/ten.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/third.hpp b/inst/include/nt2/core/include/functions/scalar/third.hpp deleted file mode 100644 index 33e9250..0000000 --- a/inst/include/nt2/core/include/functions/scalar/third.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THIRD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THIRD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/thirdrooteps.hpp b/inst/include/nt2/core/include/functions/scalar/thirdrooteps.hpp deleted file mode 100644 index 75e04d6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/thirdrooteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THIRDROOTEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THIRDROOTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/thousand.hpp b/inst/include/nt2/core/include/functions/scalar/thousand.hpp deleted file mode 100644 index 41392ad..0000000 --- a/inst/include/nt2/core/include/functions/scalar/thousand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THOUSAND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THOUSAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/three.hpp b/inst/include/nt2/core/include/functions/scalar/three.hpp deleted file mode 100644 index 8e3d636..0000000 --- a/inst/include/nt2/core/include/functions/scalar/three.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THREE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THREE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/threeeps.hpp b/inst/include/nt2/core/include/functions/scalar/threeeps.hpp deleted file mode 100644 index 76702e1..0000000 --- a/inst/include/nt2/core/include/functions/scalar/threeeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THREEEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_THREEEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/tie.hpp b/inst/include/nt2/core/include/functions/scalar/tie.hpp deleted file mode 100644 index a3481da..0000000 --- a/inst/include/nt2/core/include/functions/scalar/tie.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TIE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TIE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/transform.hpp b/inst/include/nt2/core/include/functions/scalar/transform.hpp deleted file mode 100644 index e09085a..0000000 --- a/inst/include/nt2/core/include/functions/scalar/transform.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRANSFORM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRANSFORM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/transpose.hpp b/inst/include/nt2/core/include/functions/scalar/transpose.hpp deleted file mode 100644 index f61c7c0..0000000 --- a/inst/include/nt2/core/include/functions/scalar/transpose.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRANSPOSE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRANSPOSE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/trapz.hpp b/inst/include/nt2/core/include/functions/scalar/trapz.hpp deleted file mode 100644 index 599c10d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/trapz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRAPZ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRAPZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/tri1l.hpp b/inst/include/nt2/core/include/functions/scalar/tri1l.hpp deleted file mode 100644 index b7ed84c..0000000 --- a/inst/include/nt2/core/include/functions/scalar/tri1l.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRI1L_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRI1L_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/tri1u.hpp b/inst/include/nt2/core/include/functions/scalar/tri1u.hpp deleted file mode 100644 index 674bb83..0000000 --- a/inst/include/nt2/core/include/functions/scalar/tri1u.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRI1U_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRI1U_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/tril.hpp b/inst/include/nt2/core/include/functions/scalar/tril.hpp deleted file mode 100644 index 1d3bd3b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/tril.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRIL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/triu.hpp b/inst/include/nt2/core/include/functions/scalar/triu.hpp deleted file mode 100644 index f788084..0000000 --- a/inst/include/nt2/core/include/functions/scalar/triu.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRIU_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRIU_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/trues.hpp b/inst/include/nt2/core/include/functions/scalar/trues.hpp deleted file mode 100644 index bd2ef81..0000000 --- a/inst/include/nt2/core/include/functions/scalar/trues.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRUES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TRUES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/twelve.hpp b/inst/include/nt2/core/include/functions/scalar/twelve.hpp deleted file mode 100644 index 669ab34..0000000 --- a/inst/include/nt2/core/include/functions/scalar/twelve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWELVE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWELVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/twenty.hpp b/inst/include/nt2/core/include/functions/scalar/twenty.hpp deleted file mode 100644 index 21899d2..0000000 --- a/inst/include/nt2/core/include/functions/scalar/twenty.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWENTY_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWENTY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/two.hpp b/inst/include/nt2/core/include/functions/scalar/two.hpp deleted file mode 100644 index f39ec9b..0000000 --- a/inst/include/nt2/core/include/functions/scalar/two.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWO_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/twoofive.hpp b/inst/include/nt2/core/include/functions/scalar/twoofive.hpp deleted file mode 100644 index 77ccde6..0000000 --- a/inst/include/nt2/core/include/functions/scalar/twoofive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOOFIVE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOOFIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/twothird.hpp b/inst/include/nt2/core/include/functions/scalar/twothird.hpp deleted file mode 100644 index b04cf70..0000000 --- a/inst/include/nt2/core/include/functions/scalar/twothird.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOTHIRD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOTHIRD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/twoto31.hpp b/inst/include/nt2/core/include/functions/scalar/twoto31.hpp deleted file mode 100644 index 8db63fb..0000000 --- a/inst/include/nt2/core/include/functions/scalar/twoto31.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOTO31_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOTO31_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/twotom10.hpp b/inst/include/nt2/core/include/functions/scalar/twotom10.hpp deleted file mode 100644 index 1e9835d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/twotom10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOTOM10_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOTOM10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/twotonmb.hpp b/inst/include/nt2/core/include/functions/scalar/twotonmb.hpp deleted file mode 100644 index a2fbda2..0000000 --- a/inst/include/nt2/core/include/functions/scalar/twotonmb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOTONMB_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_TWOTONMB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/unique.hpp b/inst/include/nt2/core/include/functions/scalar/unique.hpp deleted file mode 100644 index d027787..0000000 --- a/inst/include/nt2/core/include/functions/scalar/unique.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_UNIQUE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_UNIQUE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/valmax.hpp b/inst/include/nt2/core/include/functions/scalar/valmax.hpp deleted file mode 100644 index 109a6e7..0000000 --- a/inst/include/nt2/core/include/functions/scalar/valmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_VALMAX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_VALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/valmin.hpp b/inst/include/nt2/core/include/functions/scalar/valmin.hpp deleted file mode 100644 index 94b9e5d..0000000 --- a/inst/include/nt2/core/include/functions/scalar/valmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_VALMIN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_VALMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/var.hpp b/inst/include/nt2/core/include/functions/scalar/var.hpp deleted file mode 100644 index f135038..0000000 --- a/inst/include/nt2/core/include/functions/scalar/var.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_VAR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_VAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/vertcat.hpp b/inst/include/nt2/core/include/functions/scalar/vertcat.hpp deleted file mode 100644 index 27422ed..0000000 --- a/inst/include/nt2/core/include/functions/scalar/vertcat.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_VERTCAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_VERTCAT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/whereij.hpp b/inst/include/nt2/core/include/functions/scalar/whereij.hpp deleted file mode 100644 index bac822e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/whereij.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_WHEREIJ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_WHEREIJ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/whereijk.hpp b/inst/include/nt2/core/include/functions/scalar/whereijk.hpp deleted file mode 100644 index 2418e53..0000000 --- a/inst/include/nt2/core/include/functions/scalar/whereijk.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_WHEREIJK_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_WHEREIJK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/width.hpp b/inst/include/nt2/core/include/functions/scalar/width.hpp deleted file mode 100644 index 0d40c69..0000000 --- a/inst/include/nt2/core/include/functions/scalar/width.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_WIDTH_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_WIDTH_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/wmean.hpp b/inst/include/nt2/core/include/functions/scalar/wmean.hpp deleted file mode 100644 index 00175b7..0000000 --- a/inst/include/nt2/core/include/functions/scalar/wmean.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_WMEAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_WMEAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scalar/zeros.hpp b/inst/include/nt2/core/include/functions/scalar/zeros.hpp deleted file mode 100644 index d93148e..0000000 --- a/inst/include/nt2/core/include/functions/scalar/zeros.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ZEROS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCALAR_ZEROS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/scan_step.hpp b/inst/include/nt2/core/include/functions/scan_step.hpp deleted file mode 100644 index ec1c505..0000000 --- a/inst/include/nt2/core/include/functions/scan_step.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SCAN_STEP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SCAN_STEP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/setdiff.hpp b/inst/include/nt2/core/include/functions/setdiff.hpp deleted file mode 100644 index 080fc99..0000000 --- a/inst/include/nt2/core/include/functions/setdiff.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SETDIFF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SETDIFF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/setinter.hpp b/inst/include/nt2/core/include/functions/setinter.hpp deleted file mode 100644 index 52d797e..0000000 --- a/inst/include/nt2/core/include/functions/setinter.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SETINTER_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SETINTER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/setsymdiff.hpp b/inst/include/nt2/core/include/functions/setsymdiff.hpp deleted file mode 100644 index 7398e7a..0000000 --- a/inst/include/nt2/core/include/functions/setsymdiff.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SETSYMDIFF_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SETSYMDIFF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/setunion.hpp b/inst/include/nt2/core/include/functions/setunion.hpp deleted file mode 100644 index eef61a4..0000000 --- a/inst/include/nt2/core/include/functions/setunion.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SETUNION_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SETUNION_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/seven.hpp b/inst/include/nt2/core/include/functions/seven.hpp deleted file mode 100644 index 2153ef6..0000000 --- a/inst/include/nt2/core/include/functions/seven.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SEVEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SEVEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/signmask.hpp b/inst/include/nt2/core/include/functions/signmask.hpp deleted file mode 100644 index 2117566..0000000 --- a/inst/include/nt2/core/include/functions/signmask.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SIGNMASK_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SIGNMASK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/six.hpp b/inst/include/nt2/core/include/functions/six.hpp deleted file mode 100644 index 93b4e5e..0000000 --- a/inst/include/nt2/core/include/functions/six.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SIX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SIX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sixteen.hpp b/inst/include/nt2/core/include/functions/sixteen.hpp deleted file mode 100644 index 3890502..0000000 --- a/inst/include/nt2/core/include/functions/sixteen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SIXTEEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SIXTEEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/size.hpp b/inst/include/nt2/core/include/functions/size.hpp deleted file mode 100644 index 96a76cd..0000000 --- a/inst/include/nt2/core/include/functions/size.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SIZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SIZE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/smallestposval.hpp b/inst/include/nt2/core/include/functions/smallestposval.hpp deleted file mode 100644 index fdde16c..0000000 --- a/inst/include/nt2/core/include/functions/smallestposval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SMALLESTPOSVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/splitfactor.hpp b/inst/include/nt2/core/include/functions/splitfactor.hpp deleted file mode 100644 index 0d5a754..0000000 --- a/inst/include/nt2/core/include/functions/splitfactor.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SPLITFACTOR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SPLITFACTOR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sqrt_1o_5.hpp b/inst/include/nt2/core/include/functions/sqrt_1o_5.hpp deleted file mode 100644 index 0642a33..0000000 --- a/inst/include/nt2/core/include/functions/sqrt_1o_5.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SQRT_1O_5_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SQRT_1O_5_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sqrt_2.hpp b/inst/include/nt2/core/include/functions/sqrt_2.hpp deleted file mode 100644 index 619eea4..0000000 --- a/inst/include/nt2/core/include/functions/sqrt_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SQRT_2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SQRT_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sqrt_2o_2.hpp b/inst/include/nt2/core/include/functions/sqrt_2o_2.hpp deleted file mode 100644 index 417c8f9..0000000 --- a/inst/include/nt2/core/include/functions/sqrt_2o_2.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SQRT_2O_2_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SQRT_2O_2_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sqrt_2o_3.hpp b/inst/include/nt2/core/include/functions/sqrt_2o_3.hpp deleted file mode 100644 index 95e908e..0000000 --- a/inst/include/nt2/core/include/functions/sqrt_2o_3.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SQRT_2O_3_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SQRT_2O_3_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sqrteps.hpp b/inst/include/nt2/core/include/functions/sqrteps.hpp deleted file mode 100644 index b5448e5..0000000 --- a/inst/include/nt2/core/include/functions/sqrteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SQRTEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SQRTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sqrtsmallestposval.hpp b/inst/include/nt2/core/include/functions/sqrtsmallestposval.hpp deleted file mode 100644 index 0635ede..0000000 --- a/inst/include/nt2/core/include/functions/sqrtsmallestposval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SQRTSMALLESTPOSVAL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SQRTSMALLESTPOSVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sqrtvalmax.hpp b/inst/include/nt2/core/include/functions/sqrtvalmax.hpp deleted file mode 100644 index 494481f..0000000 --- a/inst/include/nt2/core/include/functions/sqrtvalmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SQRTVALMAX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SQRTVALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/squeeze.hpp b/inst/include/nt2/core/include/functions/squeeze.hpp deleted file mode 100644 index 2c548da..0000000 --- a/inst/include/nt2/core/include/functions/squeeze.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SQUEEZE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SQUEEZE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/stdev.hpp b/inst/include/nt2/core/include/functions/stdev.hpp deleted file mode 100644 index 75fc1a2..0000000 --- a/inst/include/nt2/core/include/functions/stdev.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_STDEV_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_STDEV_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sub2ind.hpp b/inst/include/nt2/core/include/functions/sub2ind.hpp deleted file mode 100644 index 48bac98..0000000 --- a/inst/include/nt2/core/include/functions/sub2ind.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SUB2IND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SUB2IND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/swap.hpp b/inst/include/nt2/core/include/functions/swap.hpp deleted file mode 100644 index 9a8d2a4..0000000 --- a/inst/include/nt2/core/include/functions/swap.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SWAP_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SWAP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sx.hpp b/inst/include/nt2/core/include/functions/sx.hpp deleted file mode 100644 index 39eedb5..0000000 --- a/inst/include/nt2/core/include/functions/sx.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/sxfun.hpp b/inst/include/nt2/core/include/functions/sxfun.hpp deleted file mode 100644 index 8a83e5d..0000000 --- a/inst/include/nt2/core/include/functions/sxfun.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_SXFUN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_SXFUN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/ten.hpp b/inst/include/nt2/core/include/functions/ten.hpp deleted file mode 100644 index 2c63562..0000000 --- a/inst/include/nt2/core/include/functions/ten.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TEN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/third.hpp b/inst/include/nt2/core/include/functions/third.hpp deleted file mode 100644 index ec10e5b..0000000 --- a/inst/include/nt2/core/include/functions/third.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_THIRD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_THIRD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/thirdrooteps.hpp b/inst/include/nt2/core/include/functions/thirdrooteps.hpp deleted file mode 100644 index 1603840..0000000 --- a/inst/include/nt2/core/include/functions/thirdrooteps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_THIRDROOTEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_THIRDROOTEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/thousand.hpp b/inst/include/nt2/core/include/functions/thousand.hpp deleted file mode 100644 index 2431c18..0000000 --- a/inst/include/nt2/core/include/functions/thousand.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_THOUSAND_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_THOUSAND_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/three.hpp b/inst/include/nt2/core/include/functions/three.hpp deleted file mode 100644 index 0ad6ff8..0000000 --- a/inst/include/nt2/core/include/functions/three.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_THREE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_THREE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/threeeps.hpp b/inst/include/nt2/core/include/functions/threeeps.hpp deleted file mode 100644 index 15e75d5..0000000 --- a/inst/include/nt2/core/include/functions/threeeps.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_THREEEPS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_THREEEPS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/tie.hpp b/inst/include/nt2/core/include/functions/tie.hpp deleted file mode 100644 index ee48967..0000000 --- a/inst/include/nt2/core/include/functions/tie.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TIE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TIE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/transform.hpp b/inst/include/nt2/core/include/functions/transform.hpp deleted file mode 100644 index 7c3078a..0000000 --- a/inst/include/nt2/core/include/functions/transform.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TRANSFORM_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TRANSFORM_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/transpose.hpp b/inst/include/nt2/core/include/functions/transpose.hpp deleted file mode 100644 index 7a331f2..0000000 --- a/inst/include/nt2/core/include/functions/transpose.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TRANSPOSE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TRANSPOSE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/trapz.hpp b/inst/include/nt2/core/include/functions/trapz.hpp deleted file mode 100644 index c47e46b..0000000 --- a/inst/include/nt2/core/include/functions/trapz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TRAPZ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TRAPZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/tri1l.hpp b/inst/include/nt2/core/include/functions/tri1l.hpp deleted file mode 100644 index e293b81..0000000 --- a/inst/include/nt2/core/include/functions/tri1l.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TRI1L_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TRI1L_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/tri1u.hpp b/inst/include/nt2/core/include/functions/tri1u.hpp deleted file mode 100644 index 47812d2..0000000 --- a/inst/include/nt2/core/include/functions/tri1u.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TRI1U_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TRI1U_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/tril.hpp b/inst/include/nt2/core/include/functions/tril.hpp deleted file mode 100644 index b638b86..0000000 --- a/inst/include/nt2/core/include/functions/tril.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TRIL_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TRIL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/triu.hpp b/inst/include/nt2/core/include/functions/triu.hpp deleted file mode 100644 index 6fab609..0000000 --- a/inst/include/nt2/core/include/functions/triu.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TRIU_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TRIU_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/trues.hpp b/inst/include/nt2/core/include/functions/trues.hpp deleted file mode 100644 index 3cc95ae..0000000 --- a/inst/include/nt2/core/include/functions/trues.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TRUES_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TRUES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/tsxfun.hpp b/inst/include/nt2/core/include/functions/tsxfun.hpp deleted file mode 100644 index 359563d..0000000 --- a/inst/include/nt2/core/include/functions/tsxfun.hpp +++ /dev/null @@ -1,14 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TSXFUN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TSXFUN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/twelve.hpp b/inst/include/nt2/core/include/functions/twelve.hpp deleted file mode 100644 index 070b5b6..0000000 --- a/inst/include/nt2/core/include/functions/twelve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TWELVE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TWELVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/twenty.hpp b/inst/include/nt2/core/include/functions/twenty.hpp deleted file mode 100644 index 80a3d7a..0000000 --- a/inst/include/nt2/core/include/functions/twenty.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TWENTY_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TWENTY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/two.hpp b/inst/include/nt2/core/include/functions/two.hpp deleted file mode 100644 index 4a4824a..0000000 --- a/inst/include/nt2/core/include/functions/two.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TWO_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TWO_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/twoofive.hpp b/inst/include/nt2/core/include/functions/twoofive.hpp deleted file mode 100644 index 5a58e54..0000000 --- a/inst/include/nt2/core/include/functions/twoofive.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TWOOFIVE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TWOOFIVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/twothird.hpp b/inst/include/nt2/core/include/functions/twothird.hpp deleted file mode 100644 index d5b7cd8..0000000 --- a/inst/include/nt2/core/include/functions/twothird.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TWOTHIRD_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TWOTHIRD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/twoto31.hpp b/inst/include/nt2/core/include/functions/twoto31.hpp deleted file mode 100644 index 773c78a..0000000 --- a/inst/include/nt2/core/include/functions/twoto31.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TWOTO31_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TWOTO31_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/twotom10.hpp b/inst/include/nt2/core/include/functions/twotom10.hpp deleted file mode 100644 index eb935c0..0000000 --- a/inst/include/nt2/core/include/functions/twotom10.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TWOTOM10_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TWOTOM10_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/twotonmb.hpp b/inst/include/nt2/core/include/functions/twotonmb.hpp deleted file mode 100644 index 7b1163b..0000000 --- a/inst/include/nt2/core/include/functions/twotonmb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_TWOTONMB_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_TWOTONMB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/unique.hpp b/inst/include/nt2/core/include/functions/unique.hpp deleted file mode 100644 index 95fc0ad..0000000 --- a/inst/include/nt2/core/include/functions/unique.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_UNIQUE_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_UNIQUE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/valmax.hpp b/inst/include/nt2/core/include/functions/valmax.hpp deleted file mode 100644 index e542307..0000000 --- a/inst/include/nt2/core/include/functions/valmax.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_VALMAX_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_VALMAX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/valmin.hpp b/inst/include/nt2/core/include/functions/valmin.hpp deleted file mode 100644 index d638ebd..0000000 --- a/inst/include/nt2/core/include/functions/valmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_VALMIN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_VALMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/var.hpp b/inst/include/nt2/core/include/functions/var.hpp deleted file mode 100644 index 9c59736..0000000 --- a/inst/include/nt2/core/include/functions/var.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_VAR_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_VAR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/vertcat.hpp b/inst/include/nt2/core/include/functions/vertcat.hpp deleted file mode 100644 index 8ca9902..0000000 --- a/inst/include/nt2/core/include/functions/vertcat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_VERTCAT_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_VERTCAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/whereij.hpp b/inst/include/nt2/core/include/functions/whereij.hpp deleted file mode 100644 index bf94660..0000000 --- a/inst/include/nt2/core/include/functions/whereij.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_WHEREIJ_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_WHEREIJ_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/whereijk.hpp b/inst/include/nt2/core/include/functions/whereijk.hpp deleted file mode 100644 index 2d2996f..0000000 --- a/inst/include/nt2/core/include/functions/whereijk.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_WHEREIJK_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_WHEREIJK_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/width.hpp b/inst/include/nt2/core/include/functions/width.hpp deleted file mode 100644 index e763d1c..0000000 --- a/inst/include/nt2/core/include/functions/width.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_WIDTH_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_WIDTH_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/wmean.hpp b/inst/include/nt2/core/include/functions/wmean.hpp deleted file mode 100644 index caa5d6c..0000000 --- a/inst/include/nt2/core/include/functions/wmean.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_WMEAN_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_WMEAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/include/functions/zeros.hpp b/inst/include/nt2/core/include/functions/zeros.hpp deleted file mode 100644 index 8216dee..0000000 --- a/inst/include/nt2/core/include/functions/zeros.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_CORE_INCLUDE_FUNCTIONS_ZEROS_HPP_INCLUDED -#define NT2_CORE_INCLUDE_FUNCTIONS_ZEROS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/core/numeric_class.hpp b/inst/include/nt2/core/numeric_class.hpp deleted file mode 100644 index 59caa8b..0000000 --- a/inst/include/nt2/core/numeric_class.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_NUMERIC_CLASS_HPP_INCLUDED -#define NT2_CORE_NUMERIC_CLASS_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - meta::as_ const double_ = {}; - meta::as_ const single_ = {}; - meta::as_ const int64_ = {}; - meta::as_ const int32_ = {}; - meta::as_ const int16_ = {}; - meta::as_ const int8_ = {}; - meta::as_ const uint64_ = {}; - meta::as_ const uint32_ = {}; - meta::as_ const uint16_ = {}; - meta::as_ const uint8_ = {}; -} - -#endif diff --git a/inst/include/nt2/core/options.hpp b/inst/include/nt2/core/options.hpp deleted file mode 100644 index 4110acf..0000000 --- a/inst/include/nt2/core/options.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_OPTIONS_HPP_INCLUDED -#define NT2_CORE_OPTIONS_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace ext - { - struct lower_ : boost::mpl::false_ {}; //used in chol, symeig, ldl and many statistical and euler functors - struct upper_ : boost::mpl::false_ {}; //used in chol, symeig, ldl and many statistical and euler functors - struct real_ : boost::mpl::false_ {}; //used in schur - struct cmplx_ : boost::mpl::false_ {}; //used in schur - struct sort_ : boost::mpl::false_ {}; //used in schur - struct both_ : boost::mpl::false_ {}; //used in balance - struct none_ : boost::mpl::false_ {}; //used in balance - struct raw_ : boost::mpl::false_ {}; //used in lu, qr, svd - } - - nt2::policy const lower_; - nt2::policy const upper_; - nt2::policy const real_; - nt2::policy const cmplx_; - nt2::policy const sort_; - nt2::policy const both_; - nt2::policy const none_; - nt2::policy const raw_; -} - -#endif diff --git a/inst/include/nt2/core/settings/add_settings.hpp b/inst/include/nt2/core/settings/add_settings.hpp deleted file mode 100644 index 88bf306..0000000 --- a/inst/include/nt2/core/settings/add_settings.hpp +++ /dev/null @@ -1,145 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_ADD_SETTINGS_HPP_INCLUDED -#define NT2_CORE_SETTINGS_ADD_SETTINGS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - /*! - @brief - - @tparam Original - @tparam New - **/ - template - struct add_settings - { - typedef nt2::settings type(New,Original); - }; - - /// INTERNAL ONLY - template - struct add_settings - { - typedef typename add_settings::type& type; - }; - - /// INTERNAL ONLY - template - struct add_settings - { - typedef typename add_settings::type const type; - }; - - /// INTERNAL ONLY - template - struct add_settings - { - typedef Original type; - }; - - /// INTERNAL ONLY - template - struct add_settings - { - typedef Original type; - }; - - /// INTERNAL ONLY - template<> - struct add_settings - { - typedef nt2::settings type(); - }; - - /// INTERNAL ONLY - template<> - struct add_settings - { - typedef nt2::settings type(); - }; - - /// INTERNAL ONLY - template - struct add_settings - { - typedef New type; - }; - - /// INTERNAL ONLY - template - struct add_settings - { - typedef nt2::settings type(S1,S0); - }; - - /// INTERNAL ONLY - template - struct add_settings - { - typedef Original type; - }; - - /// INTERNAL ONLY - #define M0(z,n,t) \ - template \ - struct add_settings< Original, settings(BOOST_PP_ENUM_PARAMS(n,New))> \ - { \ - typedef nt2::settings type(BOOST_PP_ENUM_PARAMS(n,New),Original); \ - }; \ - template \ - struct add_settings < settings(Original) \ - , settings(BOOST_PP_ENUM_PARAMS(n,New))> \ - { \ - typedef nt2::settings type(BOOST_PP_ENUM_PARAMS(n,New),Original); \ - }; \ - /**/ - - /// INTERNAL ONLY - BOOST_PP_REPEAT_FROM_TO(2,NT2_META_MAX_OPTIONS_NB,M0,~) - - #undef M0 - - /// INTERNAL ONLY - template - struct add_settings < boost::proto::basic_expr< Tag - , boost::proto::term - , 0l - > - , New - > - { - typedef boost::proto::basic_expr< Tag - , boost::proto - ::term < typename add_settings - < Original - , New - >::type - > - , 0l - > type; - }; - - /// INTERNAL ONLY - template - struct add_settings< nt2::container::expression, New > - { - typedef nt2::container::expression< typename add_settings::type - , typename add_settings::type - > type; - }; -} } - -#endif diff --git a/inst/include/nt2/core/settings/alignment.hpp b/inst/include/nt2/core/settings/alignment.hpp deleted file mode 100644 index 8372d94..0000000 --- a/inst/include/nt2/core/settings/alignment.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_ALIGNMENT_HPP_INCLUDED -#define NT2_CORE_SETTINGS_ALIGNMENT_HPP_INCLUDED - -#include - -namespace nt2 { namespace tag -{ - struct alignment_ - { - template - struct apply : boost::mpl::false_ - {}; - - typedef nt2::aligned_ default_type; - }; - - template<> - struct alignment_::apply : boost::mpl::true_ - {}; - - template<> - struct alignment_::apply : boost::mpl::true_ - {}; -} } - -#endif diff --git a/inst/include/nt2/core/settings/allocator.hpp b/inst/include/nt2/core/settings/allocator.hpp deleted file mode 100644 index 37558e8..0000000 --- a/inst/include/nt2/core/settings/allocator.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_ALLOCATOR_HPP_INCLUDED -#define NT2_CORE_SETTINGS_ALLOCATOR_HPP_INCLUDED - -/*! - @file - @brief Defines allocator_ setting behavior -**/ - -#include -#include - -namespace nt2 { namespace tag -{ - /// @brief Option tag for allocator options - struct allocator_ - { - template - struct apply - : details::has_rebind - {}; - }; -} } - -#endif diff --git a/inst/include/nt2/core/settings/buffer.hpp b/inst/include/nt2/core/settings/buffer.hpp deleted file mode 100644 index 38e2500..0000000 --- a/inst/include/nt2/core/settings/buffer.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_BUFFER_HPP_INCLUDED -#define NT2_CORE_SETTINGS_BUFFER_HPP_INCLUDED - -/*! - @file - @brief Defines the buffer_ settings tag -**/ - -#include -#include - -namespace nt2 { namespace tag -{ - /// @brief Option tag for allocator options - struct buffer_ - { - template - struct apply - : details::is_buffer - {}; - - typedef nt2::built_in_ default_type; - }; - - template<> - struct buffer_::apply< nt2::built_in_> - : boost::mpl::true_ - {}; -} } - -#include - -#endif diff --git a/inst/include/nt2/core/settings/details/buffer.hpp b/inst/include/nt2/core/settings/details/buffer.hpp deleted file mode 100644 index 69f5220..0000000 --- a/inst/include/nt2/core/settings/details/buffer.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_DETAILS_BUFFER_HPP_INCLUDED -#define NT2_CORE_SETTINGS_DETAILS_BUFFER_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace details -{ - /// If a Buffer type is provided, return it directly - template struct make_buffer - { - template struct apply { typedef T type; }; - }; - - /// If not, build up the buffer manually from the user-defined settings. - template<> struct make_buffer - { - template struct apply - { - typedef typename meta::option::type sharing_t; - typedef typename sharing_t::template apply::type type; - }; - }; -} } - -#endif diff --git a/inst/include/nt2/core/settings/details/has_rebind.hpp b/inst/include/nt2/core/settings/details/has_rebind.hpp deleted file mode 100644 index 1eeabd5..0000000 --- a/inst/include/nt2/core/settings/details/has_rebind.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_DETAILS_HAS_REBIND_HPP_INCLUDED -#define NT2_CORE_SETTINGS_DETAILS_HAS_REBIND_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - // Check if a type support the rebind interface, thus qualifying as an - // allocator generator for us - template - struct has_rebind - : boost::mpl::false_ - {}; - - template - struct has_rebind< T - , typename boost::dispatch::meta:: - enable_if_type::other - >::type - > - : boost::mpl::true_ - {}; -} } - -#endif diff --git a/inst/include/nt2/core/settings/details/is_buffer.hpp b/inst/include/nt2/core/settings/details/is_buffer.hpp deleted file mode 100644 index 3289b84..0000000 --- a/inst/include/nt2/core/settings/details/is_buffer.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_DETAILS_IS_BUFFER_HPP_INCLUDED -#define NT2_CORE_SETTINGS_DETAILS_IS_BUFFER_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - /// Check if a type support the allocator_type interface, thus qualifying - /// as an Container for us - template - struct is_buffer - : boost::mpl::false_ - {}; - - template - struct is_buffer < T - , typename boost::dispatch::meta:: - enable_if_type::type - > - : boost::mpl::true_ - {}; -} } - -#endif diff --git a/inst/include/nt2/core/settings/details/locality.hpp b/inst/include/nt2/core/settings/details/locality.hpp deleted file mode 100644 index efc09ab..0000000 --- a/inst/include/nt2/core/settings/details/locality.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_DETAILS_LOCALITY_HPP_INCLUDED -#define NT2_CORE_SETTINGS_DETAILS_LOCALITY_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - /// INTERNAL ONLY - struct host_ - { - template struct traits - { - using k_t = typename Container::kind_type; - using s_t = typename Container::settings_type; - using ss_t = typename Container::scheme_t; - using buffer_type = typename ss_t::template apply::type; - }; - }; - - /// INTERNAL ONLY - struct device_ - { - template - using arch_t = typename boost::dispatch::default_site::type; - - template - struct traits_impl : host_::template traits - {}; - - template - struct traits_impl < Container - , typename boost::dispatch::meta:: - enable_if_type::device_tag>::type - > - : arch_t::template device_traits - {}; - - template - using traits = traits_impl; - }; -} - -#endif diff --git a/inst/include/nt2/core/settings/details/no_semantic.hpp b/inst/include/nt2/core/settings/details/no_semantic.hpp deleted file mode 100644 index fe390a1..0000000 --- a/inst/include/nt2/core/settings/details/no_semantic.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_DETAILS_NO_SEMANTIC_HPP_INCLUDED -#define NT2_CORE_SETTINGS_DETAILS_NO_SEMANTIC_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - /// @brief Semantic of non-container object (namely scalars) - struct no_semantic_ - { - /// INTERNAL ONLY no_semantic_ usually use whatever the use specify - template - struct option - { - typedef Settings type; - }; - - /// INTERNAL ONLY no_semantic_ default option - template - struct default_ - { - typedef typename Option::default_type type; - }; - }; - - /// INTERNAL ONLY - template<> - struct no_semantic_::default_ - { - typedef _0D type; - }; - - /// INTERNAL ONLY - template<> - struct no_semantic_::default_ - { - typedef unaligned_ type; - }; -} - -#endif diff --git a/inst/include/nt2/core/settings/details/shape.hpp b/inst/include/nt2/core/settings/details/shape.hpp deleted file mode 100644 index 7591a7d..0000000 --- a/inst/include/nt2/core/settings/details/shape.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_DETAILS_SHAPE_HPP_INCLUDED -#define NT2_CORE_SETTINGS_DETAILS_SHAPE_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - /*! - @brief rectangular_ shape option - - @c rectangular_ is used to tag a Container as being dense, i.e. containing - no non-trivial elements. - **/ - struct rectangular_ - { - /*! - @brief Deduces buffer type from shape information - - For a given @C Container, computes the buffer type required for - said buffer to store its data. - - @tparam Container Container type used as options source - **/ - template struct apply - { - typedef typename meta::option::type buffer_t; - typedef typename details::make_buffer - ::template apply::type type; - }; - - /*! - @brief Number of non-trivial elements - - Computes the number of non-trivial elements stored in the current - Container. - - @param sz Extent of current Container - @return Number of non-trivial elements to allocate - **/ - template static - BOOST_FORCEINLINE std::size_t nnz(Size const& sz) - { - return nt2::numel(sz); - } - }; -} - -#endif diff --git a/inst/include/nt2/core/settings/details/sharing.hpp b/inst/include/nt2/core/settings/details/sharing.hpp deleted file mode 100644 index 7fe59a3..0000000 --- a/inst/include/nt2/core/settings/details/sharing.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_DETAILS_SHARING_HPP_INCLUDED -#define NT2_CORE_SETTINGS_DETAILS_SHARING_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - /*! - @brief Memory ownership tag representing shared memory - - This tag indicates that current Container shares its memory with an - external source to which it delegates the memory handling (including clean - up of said memory). - **/ - struct shared_ - { - template struct apply - { - typedef typename boost::dispatch::meta::value_of::type value_t; - typedef memory::fixed_allocator alloc_t; - typedef typename dynamic_::apply::type type; - }; - }; - - /*! - @brief Memory ownership tag representing owned memory - - This tag indicates that current Container owns its own memory and - handles it on its own, including clean-up of said memory. - **/ - struct owned_ - { - template struct apply - { - typedef typename meta::option::type sd_t; - typedef typename sd_t::storage_duration_type sdt_t; - typedef typename sdt_t::template apply::type type; - }; - }; -} - -#endif diff --git a/inst/include/nt2/core/settings/details/storage_duration.hpp b/inst/include/nt2/core/settings/details/storage_duration.hpp deleted file mode 100644 index f048ff0..0000000 --- a/inst/include/nt2/core/settings/details/storage_duration.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_DETAILS_STORAGE_DURATION_HPP_INCLUDED -#define NT2_CORE_SETTINGS_DETAILS_STORAGE_DURATION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - /*! - * Default storage duration settings. - **/ - struct dynamic_ - { - typedef dynamic_ storage_duration_type; - - template struct apply - { - /* - We build a buffer using Container value_type and a potentially - adapted allocator - */ - typedef typename boost::dispatch::meta::value_of::type value_t; - typedef typename Alloc::template rebind::other allocator_t; - typedef memory::buffer type; - }; - - /// INTERNAL ONLY - template struct apply - { - // If no allocator is specified, we compute the one from the options - typedef typename meta::option::type alloc_t; - typedef typename apply::type type; - }; - }; - - // When using automatic memory, we rely on aligned_array to store our data - struct automatic_ - { - typedef automatic_ storage_duration_type; - - template - struct apply - { - typedef typename meta::option::type size_; - typedef typename size_::storage_size_type stored_; - - //*************************** STATIC ASSERT ****************************// - // Automatic storage option have been set for a container // - // with a dynamic size. Check your container settings. // - //*************************** STATIC ASSERT ****************************// - BOOST_MPL_ASSERT_MSG - ( (stored_::value >= 0) - , SETTINGS_MISMATCH_AUTOMATIC_STORAGE_REQUESTED_WITH_DYNAMIC_STORAGE_SIZE - , (size_) - ); - - typedef typename boost::dispatch::meta::value_of::type value_t; - typedef boost::simd::aligned_array< value_t - , stored_::value - > type; - }; - }; -} - -#endif diff --git a/inst/include/nt2/core/settings/details/storage_scheme.hpp b/inst/include/nt2/core/settings/details/storage_scheme.hpp deleted file mode 100644 index 748d167..0000000 --- a/inst/include/nt2/core/settings/details/storage_scheme.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_DETAILS_STORAGE_SCHEME_HPP_INCLUDED -#define NT2_CORE_SETTINGS_DETAILS_STORAGE_SCHEME_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - /// INTERNAL ONLY - /// In conventionnal mode, we store everything in a rectangular shape - struct conventional_ - { - template struct apply - { - typedef typename rectangular_::apply::type type; - - template - static BOOST_FORCEINLINE std::size_t nnz(Size const& sz) - { - return rectangular_::nnz(sz); - } - }; - }; - - /// INTERNAL ONLY - /// In packed mode, the shape wraps the buffer and takes care of its behavior - struct packed_ - { - template struct apply - { - typedef typename meta::option::type shape_t; - typedef typename shape_t::template apply::type type; - - template - static BOOST_FORCEINLINE std::size_t nnz(Size const& sz) - { - return shape_t::nnz(sz); - } - }; - }; -} - -#endif diff --git a/inst/include/nt2/core/settings/forward.hpp b/inst/include/nt2/core/settings/forward.hpp deleted file mode 100644 index b1e1f73..0000000 --- a/inst/include/nt2/core/settings/forward.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/core/settings/forward/alignment.hpp b/inst/include/nt2/core/settings/forward/alignment.hpp deleted file mode 100644 index 430debf..0000000 --- a/inst/include/nt2/core/settings/forward/alignment.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_ALIGNMENT_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_ALIGNMENT_HPP_INCLUDED - -#include - -namespace nt2 -{ - struct aligned_ - { - typedef boost::mpl::true_ alignment_type; - }; - - struct unaligned_ - { - typedef boost::mpl::false_ alignment_type; - }; - - namespace tag - { - struct alignment_; - } -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/allocator.hpp b/inst/include/nt2/core/settings/forward/allocator.hpp deleted file mode 100644 index 2ebe6bb..0000000 --- a/inst/include/nt2/core/settings/forward/allocator.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_ALLOCATOR_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_ALLOCATOR_HPP_INCLUDED - -/*! - @file - @brief Defines the allocator_ settings tag -**/ - -namespace nt2 { namespace tag -{ - /// @brief Option tag for allocator options - struct allocator_; -} } - -#endif diff --git a/inst/include/nt2/core/settings/forward/buffer.hpp b/inst/include/nt2/core/settings/forward/buffer.hpp deleted file mode 100644 index 4805d98..0000000 --- a/inst/include/nt2/core/settings/forward/buffer.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_BUFFER_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_BUFFER_HPP_INCLUDED - -/*! - @file - @brief Defines the buffer_ settings tag -**/ - -namespace nt2 -{ - struct built_in_ {}; - - namespace tag - { - /// @brief Option tag for buffer options - struct buffer_; -} } - -#endif diff --git a/inst/include/nt2/core/settings/forward/index.hpp b/inst/include/nt2/core/settings/forward/index.hpp deleted file mode 100644 index b936d2b..0000000 --- a/inst/include/nt2/core/settings/forward/index.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_INDEX_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_INDEX_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 -{ - #define M0(z,n,t) \ - std::ptrdiff_t BOOST_PP_CAT(I,BOOST_PP_INC(n)) = BOOST_PP_CAT(I,n) \ - /**/ - - //============================================================================ - /*! index represents the base index over the Nth dimensions. By - * default, index is equivalent to index. - * - * \tparam ID 32 byte multi-bytes character unique identifier - **/ - //============================================================================ - template< std::ptrdiff_t I0 = NT2_DEFAULT_INDEX - , BOOST_PP_ENUM(BOOST_PP_DEC(NT2_MAX_DIMENSIONS),M0,~) - > - struct index_ - { - typedef - BOOST_PP_CAT(BOOST_PP_CAT(boost::mpl::vector,NT2_MAX_DIMENSIONS),_c) - < std::ptrdiff_t - , BOOST_PP_ENUM_PARAMS(NT2_MAX_DIMENSIONS,I) - > index_type; - }; - - #undef M0 - - //============================================================================ - /*! - * C-style base index options. By using it, all indexes start at 0 - **/ - //============================================================================ - typedef index_<0> C_index_; - - //============================================================================ - /*! - * Matlab style base index options. By using it, all indexes start at 1 - **/ - //============================================================================ - typedef index_<1> matlab_index_; - - namespace tag - { - //========================================================================== - /*! - * Option tag for the base index options - **/ - //========================================================================== - struct index_; - } -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/interleaving.hpp b/inst/include/nt2/core/settings/forward/interleaving.hpp deleted file mode 100644 index 2922896..0000000 --- a/inst/include/nt2/core/settings/forward/interleaving.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_INTERLEAVING_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_INTERLEAVING_HPP_INCLUDED - -#include - -namespace nt2 -{ - //============================================================================ - /*! Current container memory is interleaved - **/ - //============================================================================ - struct interleaved_ - { - typedef boost::mpl::false_ interleaving_type; - }; - - //============================================================================ - /*! Current container memory is deinterleaved, ie use multiple container for - composite type. - **/ - //============================================================================ - struct deinterleaved_ - { - typedef boost::mpl::true_ interleaving_type; - }; - - namespace tag - { - struct interleaving_; - } -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/locality.hpp b/inst/include/nt2/core/settings/forward/locality.hpp deleted file mode 100644 index ae9cccc..0000000 --- a/inst/include/nt2/core/settings/forward/locality.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_LOCALITY_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_LOCALITY_HPP_INCLUDED - -namespace nt2 -{ - /*! - @brief Host locality option - - By default, memory of tables is stored on the host (ie the CPU). - **/ - struct host_; - - /*! - @brief Device locality option - - This option indicates that the memory of a table has to be stored in - the memory of an external device (liek a GPU for instance). - - **/ - struct device_; - - namespace tag - { - /// @brief Option tag for storage_scheme options - struct locality_; - } -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/settings.hpp b/inst/include/nt2/core/settings/forward/settings.hpp deleted file mode 100644 index 695b627..0000000 --- a/inst/include/nt2/core/settings/forward/settings.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_SETTINGS_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_SETTINGS_HPP_INCLUDED - -namespace nt2 -{ - //=========================================================================== - /*! - * settings is a seed type that allow contruction of multiple options pack. - * If a given container needs to have options A and B set, settings(A,B) will - * perform such a task. - **/ - //============================================================================ - struct settings {}; -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/shape.hpp b/inst/include/nt2/core/settings/forward/shape.hpp deleted file mode 100644 index ef1c5aa..0000000 --- a/inst/include/nt2/core/settings/forward/shape.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_SHAPE_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_SHAPE_HPP_INCLUDED - -namespace nt2 -{ - //============================================================================ - /*! The default container shape. Data are laid out in a hypercube - * of N dimensions and contains only non-trivial values. - **/ - //============================================================================ - - namespace details - { - template - struct shape_impl - { - static const char id_value = C; - }; - - template - const char shape_impl::id_value; - } - - struct rectangular_; - struct upper_triangular_ : details::shape_impl<'U'> {}; - struct lower_triangular_ : details::shape_impl<'L'> {}; - - template struct band_diagonal_ - { - static const int ud = U; - static const int ld = L; - }; - template - const int band_diagonal_::ud; - template - const int band_diagonal_::ld; - - struct diagonal_ {}; - struct positive_definite_ {}; - struct uhess_ {}; - struct symmetric_ {}; - - namespace tag - { - /// @brief Option tag for shape options - struct shape_; - } -} - -#endif - - diff --git a/inst/include/nt2/core/settings/forward/sharing.hpp b/inst/include/nt2/core/settings/forward/sharing.hpp deleted file mode 100644 index d039760..0000000 --- a/inst/include/nt2/core/settings/forward/sharing.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2013 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_SHARING_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_SHARING_HPP_INCLUDED - -namespace nt2 -{ - namespace tag { struct sharing_; } - - struct shared_; - struct owned_; -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/size.hpp b/inst/include/nt2/core/settings/forward/size.hpp deleted file mode 100644 index 995c161..0000000 --- a/inst/include/nt2/core/settings/forward/size.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_SIZE_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_SIZE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - //============================================================================ - // of_size_ is a size value containing up to N dimensions. - //============================================================================ - template< BOOST_PP_ENUM_BINARY_PARAMS ( NT2_MAX_DIMENSIONS - , std::ptrdiff_t D - , = std::ptrdiff_t(1) BOOST_PP_INTERCEPT - ) - > - struct of_size_; - - namespace tag - { - //========================================================================== - /*! - * Option tag for of_size_ options - **/ - //========================================================================== - struct of_size_; - } -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/storage_duration.hpp b/inst/include/nt2/core/settings/forward/storage_duration.hpp deleted file mode 100644 index cbfed50..0000000 --- a/inst/include/nt2/core/settings/forward/storage_duration.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_STORAGE_DURATION_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_STORAGE_DURATION_HPP_INCLUDED - -namespace nt2 -{ - namespace tag { struct storage_duration_; } - - struct dynamic_; - struct automatic_; -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/storage_order.hpp b/inst/include/nt2/core/settings/forward/storage_order.hpp deleted file mode 100644 index 258f63f..0000000 --- a/inst/include/nt2/core/settings/forward/storage_order.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_STORAGE_ORDER_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_STORAGE_ORDER_HPP_INCLUDED - -#include - -namespace nt2 -{ - /// @brief Column major storage option - struct column_major_ - { - /// INTERNAL ONLY - template struct apply : D {}; - }; - - /// @brief Row major storage option - struct row_major_ - { - /// INTERNAL ONLY - template - struct apply : boost::mpl::size_t {}; - }; - - typedef column_major_ matlab_order_; - typedef column_major_ fortran_order_; - typedef row_major_ C_order_; - - namespace tag - { - /// @brief Option tag for the storage order options - struct storage_order_; - } -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/storage_scheme.hpp b/inst/include/nt2/core/settings/forward/storage_scheme.hpp deleted file mode 100644 index d4be197..0000000 --- a/inst/include/nt2/core/settings/forward/storage_scheme.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_STORAGE_SCHEME_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_STORAGE_SCHEME_HPP_INCLUDED - -namespace nt2 -{ - /*! - @brief Conventional storage option - - Default scheme for storing containers is the contiguous, dense storage - scheme. - **/ - struct conventional_; - - /*! - @brief Packed storage option - - Packed scheme is used for sparse containers. It infers from the container - Shape which elements to store and which to regenerate. Usually, packed - storage reduces memory usage and may reduces runtime. - **/ - struct packed_; - - namespace tag - { - /// @brief Option tag for storage_scheme options - struct storage_scheme_; - } -} - -#endif diff --git a/inst/include/nt2/core/settings/forward/storage_size.hpp b/inst/include/nt2/core/settings/forward/storage_size.hpp deleted file mode 100644 index d5debd1..0000000 --- a/inst/include/nt2/core/settings/forward/storage_size.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_FORWARD_STORAGE_SIZE_HPP_INCLUDED -#define NT2_CORE_SETTINGS_FORWARD_STORAGE_SIZE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - /// @brief Row major storage option - template - struct storage_size_ - { - /// INTERNAL ONLY - typedef boost::mpl::integral_c storage_size_type; - typedef nt2::automatic_ storage_duration_type; - }; - - /// INTERNAL ONLY - template<> struct storage_size_<-1> - { - /// INTERNAL ONLY - typedef boost::mpl::integral_c storage_size_type; - typedef nt2::dynamic_ storage_duration_type; - }; - - namespace tag - { - /// @brief Option tag for the storage order options - struct storage_size_; - } -} - -#endif diff --git a/inst/include/nt2/core/settings/index.hpp b/inst/include/nt2/core/settings/index.hpp deleted file mode 100644 index f80fc12..0000000 --- a/inst/include/nt2/core/settings/index.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_INDEX_HPP_INCLUDED -#define NT2_CORE_SETTINGS_INDEX_HPP_INCLUDED - -#include -#include - -#include -#include - -namespace nt2 { namespace tag -{ - //========================================================================== - // Make options extracting the ID from id_ - //========================================================================== - struct index_ - { - template - struct apply : boost::mpl::false_ - {}; - - typedef nt2::matlab_index_ default_type; - }; - - template< BOOST_PP_ENUM_PARAMS(NT2_MAX_DIMENSIONS, std::ptrdiff_t I) > - struct index_ - ::apply< nt2::index_ > - : boost::mpl::true_ - {}; -} } - -#endif diff --git a/inst/include/nt2/core/settings/interleaving.hpp b/inst/include/nt2/core/settings/interleaving.hpp deleted file mode 100644 index 53d74d9..0000000 --- a/inst/include/nt2/core/settings/interleaving.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_INTERLEAVING_HPP_INCLUDED -#define NT2_CORE_SETTINGS_INTERLEAVING_HPP_INCLUDED - -#include - -namespace nt2 { namespace tag -{ - struct interleaving_ - { - template - struct apply : boost::mpl::false_ - {}; - - typedef nt2::interleaved_ default_type; - }; - - template<> - struct interleaving_::apply - : boost::mpl::true_ - {}; - - template<> - struct interleaving_::apply - : boost::mpl::true_ - {}; -} } - -#endif diff --git a/inst/include/nt2/core/settings/locality.hpp b/inst/include/nt2/core/settings/locality.hpp deleted file mode 100644 index 40146ca..0000000 --- a/inst/include/nt2/core/settings/locality.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_LOCALITY_HPP_INCLUDED -#define NT2_CORE_SETTINGS_LOCALITY_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace tag -{ - struct locality_ - { - template - struct apply : boost::mpl::false_ - {}; - - typedef nt2::host_ default_type; - }; - - template<> - struct locality_::apply - : boost::mpl::true_ - {}; - - template<> - struct locality_::apply - : boost::mpl::true_ - {}; -} } - -namespace nt2 { namespace meta -{ - - template - struct is_same_locality : std::is_same::type - ,typename option::type - > - {}; - - template - struct is_on_device : std::is_same< typename option::type - , nt2::device_ - > - {}; - - template - struct is_on_host : std::is_same< typename option::type - , nt2::host_ - > - {}; - - template - struct is_device_assign : boost::mpl::or_< is_on_device - , is_on_device - > - {}; - -} } - -#include - -#endif diff --git a/inst/include/nt2/core/settings/match_option.hpp b/inst/include/nt2/core/settings/match_option.hpp deleted file mode 100644 index 8c30978..0000000 --- a/inst/include/nt2/core/settings/match_option.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_MATCH_OPTION_HPP_INCLUDED -#define NT2_CORE_SETTINGS_MATCH_OPTION_HPP_INCLUDED - -/*! - * \file - * \brief Defines NT2 container option base system - **/ - -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - /*! - * @brief Check if a type is a valid Option - * - **/ - template - struct match_option - : Option::template apply::type>::type - {}; - - template - struct match_option - : match_option - {}; - - template - struct lambda_match_option - { - template struct apply : match_option {}; - }; -} } - -#endif diff --git a/inst/include/nt2/core/settings/option.hpp b/inst/include/nt2/core/settings/option.hpp deleted file mode 100644 index b4d6574..0000000 --- a/inst/include/nt2/core/settings/option.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_CORE_SETTINGS_OPTION_HPP_INCLUDED -#define NT2_CORE_SETTINGS_OPTION_HPP_INCLUDED - -/*! - * \file - * \brief Defines NT2 container option base system - **/ - -#include -#include -#include - -namespace nt2 { namespace meta -{ - /*! - * @brief Extract an option value from a given type or type groups - * - * \tparam Settings Settings type to introspect - * \tparam Option Option tag to be retrieved - * \tparam Semantic If no Option is found, use this semantic's guidelines - **/ - template - struct option - : boost::mpl::eval_if < match_option - , typename Semantic::template option< Settings - , Option - > - , typename Semantic::template default_

(a0) | - |-------------------|-------------------|------------------------------|-------------------| - | static p | | matrix | | - |-------------------|-------------------|------------------------------|-------------------| - | nt2::tag::one_ | - | max(sum(abs(x))) | mnorm1(x) | - | nt2::tag::two_ | - | max(svd(x)) | mnorm2(x) | - | nt2::tag::inf_ | - | max(sum(abs(ctrans(x)))) | mnorminf(x) | - | nt2::tag::fro_ | - | sqrt(sum(diag(ctrans(x)*x))) | mnormfro(x) | - |-------------------|-------------------|------------------------------|-------------------| - @endcode - - @par Semantic: - 1, 2 and inf can be given dynamically or statically as template parameter ie: - - For any expression @c a0 of type @c A0, the following call: - - @code - as_real::type x = mnorm(a0); - @endcode - - is equivalent to: - - @code - as_real::type x = svd(a0)(1); - @endcode - - For any expression @c a0 of type @c A0 and any value x in {one_, two_, inf_, fro_} - following call: - - @code - as_real::type r = mnorm(a0,nt2::x); - @endcode - - or - - @code - as_real::type r = mnorm(a0); - @endcode - is equivalent to: - - @code - as_real::type r = mnormx(a0); - @endcode - - @param a0 Expression to compute the norm of - @param a1 Type of norm to compute - **/ - - - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnorm_, mnorm, 1) - - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnorm_, mnorm, 2) - - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnorm_, mnorm2, 1) - - /// @overload - template < class T, class A> - BOOST_FORCEINLINE - typename meta::as_real::type - mnorm(const A& a) - { - return mnorm(a, nt2::meta::as_()); - } - /// @overload - template < int Value, typename A> - BOOST_FORCEINLINE - typename meta::as_real::type - mnorm(const A& a) - { - return mnorm(a, boost::mpl::int_()); - } -} - - -#endif diff --git a/inst/include/nt2/linalg/functions/mnorm1.hpp b/inst/include/nt2/linalg/functions/mnorm1.hpp deleted file mode 100644 index 8912dde..0000000 --- a/inst/include/nt2/linalg/functions/mnorm1.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_MNORM1_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_MNORM1_HPP_INCLUDED -#include - -/*! - * \ingroup algebra - * \defgroup algebra_mnorm1 mnorm1 - * - * \par Description - * compute the 1-norm of a vector or a matrix - * - * that is : - * sum(abs(a)) for a vector - * max(sum(abs(a), 1)) for a matrix - * - * \par Header file - * - * \code - * #include - * \endcode - * - * mnorm1 can be used as - * mnorm1(a) - * - * \param a the matrix or vector expression a - * - **/ - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag mnorm1_ of functor mnorm1 - * in namespace nt2::tag for toolbox algebra - **/ - struct mnorm1_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mnorm1_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mnorm1_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mnorm1_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnorm1_, mnorm1, 1) - -} - -#endif - diff --git a/inst/include/nt2/linalg/functions/mnormest.hpp b/inst/include/nt2/linalg/functions/mnormest.hpp deleted file mode 100644 index 15e85b1..0000000 --- a/inst/include/nt2/linalg/functions/mnormest.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_MNORMEST_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_MNORMEST_HPP_INCLUDED -#include -#include -#include -#include - -/*! - * \ingroup algebra - * \defgroup algebra_mnormest mnormest - * - * \par Description - * norm estimate - * - * \par Header file - * - * \code - * #include - * \endcode - * - * normest name is here for Matlab naming compatibility - * but mnormest is an estimate of mnorm (the 2-norm of the matrix). - * - * This function may be useful for large, full matrices. - * - * n = normest(a) returns an estimate of the 2-norm of the matrix S. - * - * n = normest(a,tol) uses relative error tol instead of the default tolerance 1.e-6. - * The value of tol determines when the estimate is considered acceptable. - * - * normest(..., cnt) returns an estimate of the 2-norm and also gives - * in cnt the number of power iterations used. - * - * The tol default is sqrt(eps) for the current type used. - **/ - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag mnormest_ of functor mnormest - * in namespace nt2::tag for toolbox algebra - **/ - struct mnormest_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_mnormest_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mnormest_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mnormest_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnormest_, mnormest, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnormest_, mnormest, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::mnormest_, mnormest,(A0 const&)(A1&),2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::mnormest_, mnormest,(A0 const&)(A1 const&)(A2&),3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnormest_, normest, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnormest_, normest, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::mnormest_, normest,(A0 const&)(A1&),2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(tag::mnormest_, normest,(A0 const&)(A1 const&)(A2&),3) - -} - -#endif - diff --git a/inst/include/nt2/linalg/functions/mnormfro.hpp b/inst/include/nt2/linalg/functions/mnormfro.hpp deleted file mode 100644 index f950e04..0000000 --- a/inst/include/nt2/linalg/functions/mnormfro.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_MNORMFRO_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_MNORMFRO_HPP_INCLUDED -#include - -/*! - * \ingroup algebra - * \defgroup algebra_mnormfro mnormfro - * - * \par Description - * compute the froboenius norm of a vector or a matrix - * - * that is : - * sqrt(asum2((_)) - * - * \par Header file - * - * \code - * #include - * \endcode - * - * mnormfro can be used as - * mnormfro(a) - * - * \param a the matrix or vector expression a - * - **/ - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag mnormfro_ of functor mnormfro - * in namespace nt2::tag for toolbox algebra - **/ - struct mnormfro_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mnormfro_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mnormfro_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mnormfro_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnormfro_, mnormfro, 1) - -} - -#endif - diff --git a/inst/include/nt2/linalg/functions/mnorminf.hpp b/inst/include/nt2/linalg/functions/mnorminf.hpp deleted file mode 100644 index e77ea48..0000000 --- a/inst/include/nt2/linalg/functions/mnorminf.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_MNORMINF_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_MNORMINF_HPP_INCLUDED -#include - -/*! - * \ingroup algebra - * \defgroup algebra_mnorminf mnorminf - * - * \par Description - * compute the infinity norm of a vector or a matrix - * - * that is : - * max(abs(a)) for a vector - * max(sum(abs(a), 2)) for a matrix - * - * \par Header file - * - * \code - * #include - * \endcode - * - * - * mnorminf can be used as - * mnorminf(a) - * - * \param a the matrix or vector expression a - * - **/ - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag mnorminf_ of functor mnorminf - * in namespace nt2::tag for toolbox algebra - **/ - struct mnorminf_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mnorminf_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mnorminf_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mnorminf_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mnorminf_, mnorminf, 1) - -} - -#endif - diff --git a/inst/include/nt2/linalg/functions/mpower.hpp b/inst/include/nt2/linalg/functions/mpower.hpp deleted file mode 100644 index 3b5765e..0000000 --- a/inst/include/nt2/linalg/functions/mpower.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_MPOWER_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_MPOWER_HPP_INCLUDED -#include - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag mpower_ of functor mpower - * in namespace nt2::tag for toolbox algebra - **/ - struct mpower_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mpower_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mpower_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mpower_; - } - /** - * @brief compute matricial power a0^a1 - * - * a0 or a1 can be a square matricial expression, but one of the two must be scalar - * - * @param a0 Matrix expression or scalar - * @param a1 Scalar or matrix expression - * - * @return a matrix containing a0^a1 - **/ - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mpower_, mpower, 2) - -} - -#endif - diff --git a/inst/include/nt2/linalg/functions/mqr.hpp b/inst/include/nt2/linalg/functions/mqr.hpp deleted file mode 100644 index 6aaaf92..0000000 --- a/inst/include/nt2/linalg/functions/mqr.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_MQR_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_MQR_HPP_INCLUDED - -/*! - @file - @brief Defines and implements mqr function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines mqr function tag - struct mqr_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mqr_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mqr_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mqr_; - } - - /*! - @brief - - @param - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::mqr_, mqr - , (A0&)(A1&)(A2&) - , 3 - ); - - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::mqr_, mqr - , (A0&)(A1&)(A2&)(A3&) - , 4 - ); -} - -#endif diff --git a/inst/include/nt2/linalg/functions/mtimes.hpp b/inst/include/nt2/linalg/functions/mtimes.hpp deleted file mode 100644 index bd9166b..0000000 --- a/inst/include/nt2/linalg/functions/mtimes.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_MTIMES_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_MTIMES_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief mtimes generic tag - - Represents the mtimes function in generic contexts. - - @par Models: - Hierarchy - **/ - struct mtimes_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_mtimes_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_mtimes_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_mtimes_; - } - - /*! - @brief Matrix product - - Calls either of the \c GEMM, \c GEMV or \c DOT BLAS functions - depending on the sizes of the inputs. - - Patterns such as - @code - s0*mtimes(transpose(a0), a1); - @endcode - will be recognized automatically and optimized to a single \c GEMM call. - - @param a0 Left-hand side of the matrix product of size NxM - @param a1 Right-hand side of the matrix product of size MxP - @param a2 Optional scalar that will be used when assigning the - result to a value \c out so that - \f$out \leftarrow a0 \times a1 + a2 \times out\f$ - - @return A matrix of size NxP containing \f$a0 \times a1\f$ - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mtimes_, mtimes, 3) - - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mtimes_, mtimes, 2) - - /// INTERNAL ONLY - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::mtimes_, mtimes, 6) -} - -#endif - diff --git a/inst/include/nt2/linalg/functions/norm.hpp b/inst/include/nt2/linalg/functions/norm.hpp deleted file mode 100644 index 9b4e750..0000000 --- a/inst/include/nt2/linalg/functions/norm.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_NORM_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_NORM_HPP_INCLUDED -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag norm_ of functor norm - * in namespace nt2::tag for toolbox algebra - **/ - struct norm_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_norm_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_norm_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_norm_; - } - - /*! - @brief Matricial or vectorial norm - - norm mimicks the behaviour of the correponding Matlab function - - @code - norm(x, p) - @endcode - - computes - - @code - |--------------|-------------------|-----------------------|----------------------| - | Matlab p | NT2 p | matrix | vector | - |--------------|-------------------|-----------------------|----------------------| - | 1 | 1 or nt2::one_ | max(sum(abs(x))) | sum(abs(x)) | - | 2 | 2 or nt2::two_ | max(svd(x)) | sum(abs(x).^2)^(1/2) | - | q | q | _ | sum(abs(x).^q)^(1/q) | - | inf | nt2::inf_ | max(sum(abs(x'))) | max(abs(x)) | - | -inf | nt2::minf_ | _ | min(abs(x)) | - | 'fro' | nt2::fro_ | sqrt(sum(diag(x'*x))) | sum(abs(x).^2)^(1/2) | - |--------------|-------------------|-----------------------|----------------------| - @endcode - - where q is numeric finite positive different from the other possible values - - except 1 2 and q the NT2 calls are statically chosen at compile time. - If you know exactly what you need, use preferentially mnorm for matrices - and globalnorm for vectors. - - @see{globalnorm}, @see{mnorm} - **/ - - - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::norm_, norm, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::norm_, norm, 1) - -} - -#endif - diff --git a/inst/include/nt2/linalg/functions/nseig.hpp b/inst/include/nt2/linalg/functions/nseig.hpp deleted file mode 100644 index c285188..0000000 --- a/inst/include/nt2/linalg/functions/nseig.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_NSEIG_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_NSEIG_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct nseig_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_nseig_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_nseig_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_nseig_; - } - - /** - nseig (for non necesserily symetric eigen problem - solve a*vr = w*x and vr*a = vl for right (vr) and left (vl) eigenvectors - and eigenvalues w. - - As a is not supposed symetric the outputs are to be complex - - The possible calls are - - 1) w = nseig(a{, opt1, {opt2}}); - 2) tie(vr, w) = nseig(a{, opt1, {opt2}}); - 3) tie(vr, w, vl) = nseig(a{, opt1, {opt2}}); - - You have to include nt2/linalg/options.hpp if you use any options - opt1 can be nt2::matrix_, nt2::vector_, nt2::balance, nt2::no_balance_ - opt2 can be nt2::balance_, nt2::no_balance_ and then opt1 is to be in nt2::matrix_, nt2::vector_ - - matrix_ and vector_ specify if w is to be returned as a diagonal matrix or a colon vector. - For call 1 vector_ is the default, for the others matrix_ is the default. - (of course from_diag and diag_of can be used to pass from one representation to the other) - - balance_ and no_balance_ specify if a balancing of the input matrix has to be - done prior to computation. Default is no_balance_ (contrarily to matlab eig) - - Algorithms - nseig is performed using xgeev LAPACK routines and balancing is done with xgebal and xgebak LAPACK - routines with job = 'B' (permutation and scaling enabled) - - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::nseig_, nseig, 1) - NT2_FUNCTION_IMPLEMENTATION(tag::nseig_, nseig, 2) - NT2_FUNCTION_IMPLEMENTATION(tag::nseig_, nseig, 3) -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - - template - struct value_type - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type intype; - typedef typename meta::as_complex::type type; - }; - -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/null.hpp b/inst/include/nt2/linalg/functions/null.hpp deleted file mode 100644 index 086f700..0000000 --- a/inst/include/nt2/linalg/functions/null.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_NULL_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_NULL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /// @brief Define the tag null_ of functor null - struct null_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_null_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_null_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_null_; - } - -/*! - @brief null: null space of a matrix expression. - - Computes an orthonormal basis for the null space of a obtained - from the singular value decomposition with a given tolerance. - - @param a0 Matrix to computes null space for - @param a1 Tolerance on belonging to the null space. By default, it's - equal to length(a)*Eps*w, with w being the largest singular - value of a -**/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::null_, null, 2) - - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::null_, null, 1) - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/orth.hpp b/inst/include/nt2/linalg/functions/orth.hpp deleted file mode 100644 index 2cfe48a..0000000 --- a/inst/include/nt2/linalg/functions/orth.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_ORTH_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_ORTH_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -/*! - * @brief orth basis of image space - * q = orth(a) is an orthonormal basis for the range of a. - * that is, transconj(q)*q = i, the columns of q span the same space as - * the columns of a, and the number of columns of q is the - * rank of a. - * q = orth(a, tol) produces an image space basis of a compatible with the - * kernel basis given by null(a, tol) - * -**/ - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag orth_ of functor orth - * in namespace nt2::tag for toolbox algebra - **/ - struct orth_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_orth_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_orth_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_orth_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::orth_, orth, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::orth_, orth, 2) - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/pinv.hpp b/inst/include/nt2/linalg/functions/pinv.hpp deleted file mode 100644 index 951669b..0000000 --- a/inst/include/nt2/linalg/functions/pinv.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_PINV_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_PINV_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/*! - * @brief inv pseudo-inverse of matrix. - * pinv(x) is the pseudo-inverse of the matrix expression x. - * - * x = pinv(a) produces a matrix x of the same dimensions - * as trans(a) so that a*x*a = a, x*a*x = x and a*x and x*a - * are hermitian. the computation is based on svd(a) and any - * singular values less than a tolerance are treated as zero. - * the default tolerance is max(size(a)) * norm(a) * eps . - * - * pinv(a,tol) uses the tolerance tol instead of the default. - * - **/ - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag pinv_ of functor pinv - * in namespace nt2::tag for toolbox algebra - **/ - struct pinv_ : ext::unspecified_ { typedef ext::unspecified_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_pinv_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_pinv_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_pinv_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::pinv_, pinv, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::pinv_, pinv, 2) - -} - -namespace nt2 { namespace ext -{ - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type c0_t; - typedef typename c0_t::extent_type result_type; - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee = boost::proto::child_c<0>(e).extent(); - std::swap(sizee[0], sizee[1]); - return sizee; - } - }; - - template - struct value_type < tag::pinv_, Domain,N,Expr> - : meta::value_as - {}; -} } - -#endif - diff --git a/inst/include/nt2/linalg/functions/planerot.hpp b/inst/include/nt2/linalg/functions/planerot.hpp deleted file mode 100644 index 2defc5a..0000000 --- a/inst/include/nt2/linalg/functions/planerot.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_PLANEROT_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_PLANEROT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct planerot_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_planerot_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_planerot_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_planerot_; - } - - /** - * @brief Perform Planerot computation - * - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::planerot_, planerot, 1) -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/plinsolve.hpp b/inst/include/nt2/linalg/functions/plinsolve.hpp deleted file mode 100644 index dec0093..0000000 --- a/inst/include/nt2/linalg/functions/plinsolve.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_PLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_PLINSOLVE_HPP_INCLUDED - -/*! - @file - @brief -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines function tag - struct plinsolve_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_plinsolve_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_plinsolve_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_plinsolve_; - } - - /*! - @brief - - @param - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::plinsolve_, plinsolve - , (A0 const&)(A1 const&)(A2 const&) - , 3 - ); -} - -#endif diff --git a/inst/include/nt2/linalg/functions/pluseye.hpp b/inst/include/nt2/linalg/functions/pluseye.hpp deleted file mode 100644 index 45b893a..0000000 --- a/inst/include/nt2/linalg/functions/pluseye.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_PLUSEYE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_PLUSEYE_HPP_INCLUDED -#include - - -namespace nt2 -{ - namespace tag - { - struct pluseye_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_pluseye_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_pluseye_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_pluseye_; - } - - /** - * @brief Perform pluseye(a, l)computation - * - * For any given matrix expression computes a+ l*eye(right_size, right_type). - * l defaults to 1. - * - * @param a Matrix expression - * @param l scalar factor to apply to a - * - * @return an expression for the result - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::pluseye_, pluseye, 1) - NT2_FUNCTION_IMPLEMENTATION(tag::pluseye_, pluseye, 2) - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/pocon.hpp b/inst/include/nt2/linalg/functions/pocon.hpp deleted file mode 100644 index e447e67..0000000 --- a/inst/include/nt2/linalg/functions/pocon.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_POCON_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_POCON_HPP_INCLUDED - -/*! - @file - @brief Defines and implements lapack gecon function that estimates the - reciprocal of the condition number of a matrix A in the 1-norm or infinity norm -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines gecon function tag - struct pocon_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_pocon_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_pocon_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_pocon_; - } - - /*! - @brief - - @param - @param - - @return - **/ - - NT2_FUNCTION_IMPLEMENTATION (tag::pocon_, pocon - , 2 - ); - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/poly.hpp b/inst/include/nt2/linalg/functions/poly.hpp deleted file mode 100644 index 68c7ab0..0000000 --- a/inst/include/nt2/linalg/functions/poly.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_POLY_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_POLY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - namespace factorization - { - struct poly_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_HEADER( dispatching( ext::adl_helper(), *(poly_*)0, static_cast(args)... ) ) - { - return dispatching( ext::adl_helper(), poly_(), static_cast(args)... ); - } - }; - } - - struct poly_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_poly_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_poly_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_poly_; - } - - /** - * @brief Perform characteristic polynomial computation - * - * poly(a), when a is an n by n matrix, is a row vector with - * n+1 elements which are the coefficients of the - * characteristic polynomial, det(lambda*eye(size(a)) - a) . - * - * poly(v), when v is a vector, is a vector whose elements are - * the coefficients of the polynomial whose roots are the - * elements of v . for vectors, roots and poly are inverse - * functions of each other, up to ordering, scaling, and - * roundoff error. - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::poly_, poly, 1) - -} - -namespace nt2 { namespace ext -{ - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::type A0; - typedef _2D result_type; - BOOST_FORCEINLINE result_type operator ()(Expr& e) const - { - _2D sizee; - sizee[0] = 1; - sizee[1] = length( boost::proto::child_c<0>(e))+1; - return sizee; - } - }; - - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/pomsv.hpp b/inst/include/nt2/linalg/functions/pomsv.hpp deleted file mode 100644 index 99209e5..0000000 --- a/inst/include/nt2/linalg/functions/pomsv.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_POMSV_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_POMSV_HPP_INCLUDED - -/*! - @file - @brief Defines and implements lapack dsposv function that computes the solution - of real system of linear equations a*x = b with mixed precision for a positive - definite matrix. -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines gesvx function tag - struct pomsv_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_pomsv_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_pomsv_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_pomsv_; - } - - /*! - @brief - - @param - @param - - @return - **/ - - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::pomsv_, pomsv - , (A0&)(A1 const&)(A2&) - , 3 - ); - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/posv.hpp b/inst/include/nt2/linalg/functions/posv.hpp deleted file mode 100644 index c076a12..0000000 --- a/inst/include/nt2/linalg/functions/posv.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_POSV_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_POSV_HPP_INCLUDED - -/*! - @file - @brief Defines and implements lapack sysv function that computes the solution - of real system of linear equations a*x = b for a symmetric matrix -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines gesv function tag - struct posv_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_posv_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_posv_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_posv_; - } - - /*! - @brief - - @param - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::posv_, posv - , (A0&)(A1&) - , 2 - ); - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/posvx.hpp b/inst/include/nt2/linalg/functions/posvx.hpp deleted file mode 100644 index d6318f1..0000000 --- a/inst/include/nt2/linalg/functions/posvx.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_POSVX_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_POSVX_HPP_INCLUDED - -/*! - @file - @brief Defines and implements lapack posvx function that computes the solution - of real system of linear equations a*x = b with a positive definite matrix. - Iterative refinement is applied to increase the precision. -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines gesvx function tag - struct posvx_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_posvx_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_posvx_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_posvx_; - } - - /*! - @brief - - @param - @param - - @return - **/ - - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::posvx_, posvx - , (A0 const&)(A1 const&)(A2&)(A3&) - , 4 - ); - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/potrf.hpp b/inst/include/nt2/linalg/functions/potrf.hpp deleted file mode 100644 index 9f735d4..0000000 --- a/inst/include/nt2/linalg/functions/potrf.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_POTRF_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_POTRF_HPP_INCLUDED - -/*! - @file - @brief Defines and implements lapack potrf function that computes the - cholesky factorization for a real symmetric positive definite matrix. -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines gesvx function tag - struct potrf_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_potrf_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_potrf_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_potrf_; - } - - /*! - @brief - - @param - @param - - @return - **/ - - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::potrf_, potrf - , (A0&)(A1 const&) - , 2 - ); - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/qr.hpp b/inst/include/nt2/linalg/functions/qr.hpp deleted file mode 100644 index d5b42aa..0000000 --- a/inst/include/nt2/linalg/functions/qr.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_QR_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_QR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct qr_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_qr_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_qr_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_qr_; - } - - /** - Syntax - - tie(q,r) = qr(a) - tie(q,r) = qr(a,0) - tie(x, tau) = qr(a, raw_) - tie(x, tau, ip) = qr(a, raw_) - tie(q,r,e) = qr(a) - tie(q,r,e) = qr(a,matrix_) - tie(q,r,e) = qr(a,vector_) - tie(q,r,e) = qr(a,0) - r = qr(a, upper_) - x = qr(a) - x = qr(a, 0) - x = qr(a, raw_) - - description - - tie(q,r) = qr(a), where a is m-by-n, produces an m-by-n upper - triangular matrix r and an m-by-m unitary matrix q so that a = - q*r. - - tie(q,r) = qr(a,0) produces the economy-size decomposition. if m > - n, only the first n columns of q and the first n rows of r are - computed. if m<=n, this is the same as tie(q,r) = qr(a). - - tie(q,r,e) = qr(a) or tie(q,r,e) = qr(a,matrix_) produces unitary q, - upper triangular r and a permutation matrix e so that a*e = - q*r. the column permutation matrix e is chosen so that abs(diag(r)) is - decreasing. - - tie(q,r,e) = qr(a,vector_) returns the permutation information as a - vector instead of a matrix. that is, e is a row vector of integral values - such that a(:,e) = q*r. - - tie(q,r,e) = qr(a,0) produces an economy-size decomposition in which - e is a permutation vector, so that a(:,e) = q*r. - - r = qr(a, upper_) return the upper triangular matrix r - - x = qr(a) and x = qr(a,0) and x = qr(a,raw_) return a matrix x - such that triu(x) is the upper triangular factor r. - - x = nt2::qr(b, nt2::raw_) or tie(x, tau) = nt2::qr(b, nt2::raw_) or - tie(x, tau, ip) = nt2::qr(b, nt2::raw_) produces the direct lapack ouputs - - option 0 which is for Matlab compatibility can be replaced by econ_ - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::qr_, qr, 1) - NT2_FUNCTION_IMPLEMENTATION(tag::qr_, qr, 2) -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/qrdelete.hpp b/inst/include/nt2/linalg/functions/qrdelete.hpp deleted file mode 100644 index 159c527..0000000 --- a/inst/include/nt2/linalg/functions/qrdelete.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_QRDELETE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_QRDELETE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2 -{ - namespace tag - { - struct qrdelete_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_qrdelete_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_qrdelete_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_qrdelete_; - } - - NT2_FUNCTION_IMPLEMENTATION(tag::qrdelete_, qrdelete, 3) - NT2_FUNCTION_IMPLEMENTATION(tag::qrdelete_, qrdelete, 4) - -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/qrinsert.hpp b/inst/include/nt2/linalg/functions/qrinsert.hpp deleted file mode 100644 index bb0efd9..0000000 --- a/inst/include/nt2/linalg/functions/qrinsert.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_QRINSERT_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_QRINSERT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2 -{ - namespace tag - { - struct qrinsert_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_qrinsert_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_qrinsert_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_qrinsert_; - } - - NT2_FUNCTION_IMPLEMENTATION(tag::qrinsert_, qrinsert, 4) - NT2_FUNCTION_IMPLEMENTATION(tag::qrinsert_, qrinsert, 5) - -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/rank.hpp b/inst/include/nt2/linalg/functions/rank.hpp deleted file mode 100644 index 631052f..0000000 --- a/inst/include/nt2/linalg/functions/rank.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_RANK_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_RANK_HPP_INCLUDED -#include - -/*! - * \ingroup algebra - * \defgroup algebra_rank rank - * - * \par Description - * Elementary Least square - * - * \par Header file - * - * \code - * #include - * \endcode - * - * - * \param a the matrix a on entry, destroyed on exit - * - * \param b the second member(s) b on entry, solution on exit - * - * \par Notes - * Call the dedicated lapack routines available on the target. - * \par - * -**/ -//============================================================================== -// rank actual class forward declaration -//============================================================================== - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag rank_ of functor rank - * in namespace nt2::tag for toolbox algebra - **/ - struct rank_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_rank_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rank_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rank_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rank_, rank, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rank_, rank, 2) - -} - -#endif - diff --git a/inst/include/nt2/linalg/functions/rcond.hpp b/inst/include/nt2/linalg/functions/rcond.hpp deleted file mode 100644 index caf8e5d..0000000 --- a/inst/include/nt2/linalg/functions/rcond.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_RCOND_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_RCOND_HPP_INCLUDED -#include - -/*! - * \ingroup algebra - * \defgroup algebra_trace trace - * - * \par Description - * Elementary Least square - * - * \par Header file - * - * \code - * #include - * \endcode - * - * - * \param a the matrix a - * - * \param p the norm in which trace is computed - * p can be 1, 'i' or 'o' - * - * \par Notes - * Call the dedicated lapack routines available on the target. - * \par - * -**/ -//============================================================================== -// trace actual class forward declaration -//============================================================================== - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag trace_ of functor trace - * in namespace nt2::tag for toolbox algebra - **/ - struct rcond_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_rcond_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rcond_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rcond_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rcond_, rcond, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rcond_, rcond, 2) -} - -#endif diff --git a/inst/include/nt2/linalg/functions/rot90.hpp b/inst/include/nt2/linalg/functions/rot90.hpp deleted file mode 100644 index 5d6da67..0000000 --- a/inst/include/nt2/linalg/functions/rot90.hpp +++ /dev/null @@ -1,104 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_ROT90_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_ROT90_HPP_INCLUDED - -#include - -#include -#include -#include -#include - -/*! - rot90 rotate matrix 90 degrees. - rot90(a) is the 90 degree counterclockwise rotation of matrix a. - rot90(a,k) is the k*90 degree rotation of a, k = +-1,+-2,... - - example, - a = [1 2 3 b = rot90(a) = [ 3 6 - 4 5 6 ] 2 5 - 1 4 ] -**/ -//============================================================================== -// rot90 actual class forward declaration -//============================================================================== - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag rot90_ of functor rot90 - * in namespace nt2::tag for toolbox algebra - **/ - struct rot90_ : ext::unspecified_ { typedef ext::unspecified_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_rot90_( ext::adl_helper(), static_cast(args)... ) ) }; - struct rot90_0_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_rot90_0_( ext::adl_helper(), static_cast(args)... ) ) }; - - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rot90_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rot90_; - - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rot90_0_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rot90_0_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rot90_, rot90, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::rot90_0_, rot90, 1) - -} - -namespace nt2 { namespace ext -{ - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type c0_t; - typedef typename c0_t::extent_type result_type; - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee = boost::proto::child_c<0>(e).extent(); - std::swap(sizee[0], sizee[1]); - return sizee; - } - }; - - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type c0_t; - typedef typename c0_t::extent_type result_type; - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee = boost::proto::child_c<0>(e).extent(); - int k = boost::proto::child_c<1>(e); - if(nt2::is_odd(k)) std::swap(sizee[0], sizee[1]); - return sizee; - } - }; - - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/rref.hpp b/inst/include/nt2/linalg/functions/rref.hpp deleted file mode 100644 index 88d506b..0000000 --- a/inst/include/nt2/linalg/functions/rref.hpp +++ /dev/null @@ -1,117 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_RREF_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_RREF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -/*! - * \ingroup algebra - * \defgroup algebra_rref rref - * - * \par Description - * reduced echelon - * - * \par Header file - * - * \code - * #include - * \endcode - * - * -**/ - -namespace nt2 -{ - namespace tag - { - /*! - * \brief Define the tag rref_ of functor rref - * in namespace nt2::tag for toolbox algebra - **/ - namespace factorization - { - struct rref_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_HEADER( dispatching( ext::adl_helper(), *(rref_*)0, static_cast(args)... ) ) - { - return dispatching( ext::adl_helper(), rref_(), static_cast(args)... ); - } - }; - } - struct rref_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rref_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rref_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rref_; - } - - NT2_FUNCTION_IMPLEMENTATION(tag::rref_, rref, 1) - NT2_FUNCTION_IMPLEMENTATION(tag::rref_, rref, 2) - namespace factorization - { - /** - * @brief Initialize a rref factorization - * - * For any given matrix expression, initialize a rref factorization of - * said matrix using the specified output layout for the rref method - * and return a precomputed factorization object. - * - * Contrary to the rref function which performs such a factorization and - * return a Matlab like output, factorization::rref returns an object - * containing the initial evaluation of said factorization. This object can - * then be used to fasten other algorithms implementation. - * - * @param xpr Matrix expression to factorize - * - * @return A unspecified type containing the precomputed elements of the - * rref factorization. - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::factorization::rref_, rref, 1) - NT2_FUNCTION_IMPLEMENTATION_SELF(tag::factorization::rref_, rref, 2) - NT2_FUNCTION_IMPLEMENTATION_SELF(tag::factorization::rref_, rref, 3) - } - -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - - template - struct value_type - : meta::value_as - {}; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/rsf2csf.hpp b/inst/include/nt2/linalg/functions/rsf2csf.hpp deleted file mode 100644 index aa13014..0000000 --- a/inst/include/nt2/linalg/functions/rsf2csf.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_RSF2CSF_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_RSF2CSF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct rsf2csf_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( - dispatching_rsf2csf_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher - dispatching_rsf2csf_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rsf2csf_; - } - - /** - * @brief real schur form to complex schur form. - * - * transforms the outputs of schur(x) (where x is - * real) from hessenberg form to triangular but complex form. - * - * - * if tie(u, t) = schur(x) were x is a real matrix, we have u*t*trans(u) == x - with u orthogonal and t upper hessenberg - * - * after tie(cu, ct) = rsf2csf(u, t) - * - * we still have cu*ct*ctrans(cu), cu is unitary and ct is upper triangular - * - * If u and t do not came from a real schur decompoition the routine is meaningless. - * - * @param u orthogonal matrix from real schur decomposition - * @param t hessenbeg matrix from real schur decomposition - * @return a fusion sequence of two complex matrices - * - * @see @funcref{schur}, @funcref{cplxpair} - **/ - - NT2_FUNCTION_IMPLEMENTATION(tag::rsf2csf_, rsf2csf, 2) - -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/cond.hpp b/inst/include/nt2/linalg/functions/scalar/cond.hpp deleted file mode 100644 index aad568e..0000000 --- a/inst/include/nt2/linalg/functions/scalar/cond.hpp +++ /dev/null @@ -1,93 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_COND_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_COND_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2{ namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cond_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type rtype_t; - typedef typename meta::as_floating::type result_type; - typedef nt2::container::table base_type; - - NT2_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(issquare(a0), "cond for non square matrix"); - base_type s = svd(a0); - rtype_t r = s(1)/s(nt2::end_); - return is_nan(r) ? Inf() : r; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( cond_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return a0 ? One() : Inf(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( cond_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (unspecified_) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type rtype_t; - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG( issquare(a0) - , "condition number of non square matrix requested" - ); - - result_type n = nt2::mnorm(a0, a1); - if (is_eqz(n)) return Inf(); - return n*nt2::mnorm(nt2::inv(a0), a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( cond_, tag::cpu_ - , (A0)(A1) - , (scalar_ > ) - (unspecified_) - ) - { - typedef A0 result_type; - result_type operator()(A0 const & a0, A1 const&) - { - return a0 ? One() : Inf(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/det.hpp b/inst/include/nt2/linalg/functions/scalar/det.hpp deleted file mode 100644 index fd5a7f9..0000000 --- a/inst/include/nt2/linalg/functions/scalar/det.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2013 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_DET_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_DET_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2{ namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( det_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename boost::dispatch::meta::as_floating - ::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - BOOST_ASSERT_MSG( issquare(a0) - , "DET: Argument must be a square matrix" - ); - - nt2::container::table lu(a0); - nt2::container::table ip; - - // Factorize A as L/U - nt2_la_int info = nt2::getrf(boost::proto::value(lu),boost::proto::value(ip)); - boost::ignore_unused(info); - - // DET(A) is the product of LU(A) diagonal by -1 at the power of - // the number of non-permutations done in LU(A) - std::size_t n = nt2::numel(ip); - result_type sign = One(); - - // TODO: Parallelize this somehow ? - for(std::size_t i = 1;i <= n;++i) - sign *= (ip(i) != nt2_la_int(i)) ? 1 : -1; - - return nt2::globalprod(nt2::diag_of(lu))*sign; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( det_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename boost::dispatch::meta::as_floating - ::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return a0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/mnorm.hpp b/inst/include/nt2/linalg/functions/scalar/mnorm.hpp deleted file mode 100644 index ae7e5ec..0000000 --- a/inst/include/nt2/linalg/functions/scalar/mnorm.hpp +++ /dev/null @@ -1,224 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_MNORM_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_MNORM_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( mnorm_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::abs(a0); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( mnorm_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (unspecified_) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - return nt2::abs(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mnorm_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - BOOST_ASSERT_MSG(nt2::ismatrix(a0), "a0 is not a matrix"); - typedef typename details::is_vector::type choice_t; - return eval(a0, choice_t()); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, boost::mpl::true_ const &) const - { - return globalnorm2(a0); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, boost::mpl::false_ const &) const - { - return svd(a0)(1); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, nt2::meta::indeterminate_ const &) const - { - if (isvector(a0)) - return globalnorm2(a0); - else - return svd(a0)(1); - } - - - }; - - BOOST_DISPATCH_IMPLEMENT ( mnorm_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const & a1) const - { - BOOST_ASSERT_MSG(nt2::ismatrix(a0), "a0 is not a matrix"); - BOOST_ASSERT_MSG((a1 == Two()) || - (a1 == One()) || - (a1 == Inf()) || - (a1 == Mone()), - "mnorm is not defined for this parameters setting"); - if (a1 == Two()) return nt2::mnorm(a0); - if (a1 == One()) return nt2::mnorm1(a0); - if (a1 == Inf()) return nt2::mnorminf(a0); - return nt2::mnormfro(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mnorm_, tag::cpu_, - (A0)(A1), - ((ast_)) - (unspecified_) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const &a0, A1 const&) const - { - return eval(a0, A1()); - } - - private: - BOOST_FORCEINLINE result_type eval(A0 const &a0 - , nt2::meta::as_ const&) const - { - return nt2::mnorminf(a0); - } - BOOST_FORCEINLINE result_type eval(A0 const &a0 - , nt2::meta::as_ const&) const - { - return nt2::mnorminf(a0); - } - BOOST_FORCEINLINE result_type eval(A0 const &a0 - , nt2::meta::as_ const&) const - { - return nt2::mnorm1(a0); - } - BOOST_FORCEINLINE result_type eval(A0 const &a0 - , nt2::meta::as_ const&) const - { - return nt2::mnorm1(a0); - } - BOOST_FORCEINLINE result_type eval(A0 const &a0 - , nt2::meta::as_ const&) const - { - return mnorm(a0); - } - BOOST_FORCEINLINE result_type eval(A0 const &a0 - , nt2::meta::as_ const&) const - { - return mnorm(a0); - } - BOOST_FORCEINLINE result_type eval(A0 const &a0 - , nt2::meta::as_ const&) const - { - return mnormfro(a0); - } - }; - - // Selects globalnorm from static norm value - BOOST_DISPATCH_IMPLEMENT ( mnorm_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (mpl_integral_< scalar_< fundamental_ > >) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const &a0, A1 const&) const - { - // outside of Inf, Minf, One and Two no hope - BOOST_ASSERT_MSG(nt2::ismatrix(a0), "a0 is not a matrix"); - BOOST_STATIC_ASSERT_MSG((A1::value == 2) || - (A1::value == 1) || - (A1::value == 0) || - (A1::value == -1) - , "Norm value must be 1 2 0 (inf_) or -1 (fro_)" ); - return eval(a0, A1()); - } - - BOOST_FORCEINLINE result_type eval( A0 const &a0 - , boost::mpl::int_<2> const& - ) const - { - return nt2::mnorm2(a0); - } - BOOST_FORCEINLINE result_type eval( A0 const &a0 - , boost::mpl::int_<1> const& - ) const - { - return nt2::mnorm1(a0); - } - BOOST_FORCEINLINE result_type eval( A0 const &a0 - , boost::mpl::int_<-1> const& - ) const - { - return nt2::mnormfro(a0); - } - BOOST_FORCEINLINE result_type eval( A0 const &a0 - , boost::mpl::int_<0> const& - ) const - { - return nt2::mnorminf(a0); - } - }; - - -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/mnorm1.hpp b/inst/include/nt2/linalg/functions/scalar/mnorm1.hpp deleted file mode 100644 index 5a0d5ac..0000000 --- a/inst/include/nt2/linalg/functions/scalar/mnorm1.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_MNORM1_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_MNORM1_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -// one norm of a matrix (maximum column sum) -// TODO optimize mnorm1(trans(a)) as mnorminf(a) - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mnorm1_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::abs(a0); - } - - }; - - BOOST_DISPATCH_IMPLEMENT ( mnorm1_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - BOOST_ASSERT_MSG(nt2::ismatrix(a0), "a0 is not a matrix"); - typedef typename details::is_row_vector::type choice_t; - return eval(a0, choice_t()); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, boost::mpl::true_ const &) const //static row vector - { - return globalmax(nt2::abs(a0)); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, boost::mpl::false_ const &) const // not static row vector - { - typedef typename details::is_col_vector::type choice_t; - return eval2(a0, choice_t()); - } - - BOOST_FORCEINLINE result_type - eval2(A0 const& a0, boost::mpl::true_ const &) const //static col vector - { - return globalasum1(a0); - } - - - BOOST_FORCEINLINE result_type - eval2(A0 const& a0, boost::mpl::false_ const &) const //not static vector - { - return nt2::globalmax(nt2::asum1(a0, 1)); - } - - BOOST_FORCEINLINE result_type - eval2(A0 const& a0, nt2::meta::indeterminate_ const &) const - { - return eval(a0, nt2::meta::indeterminate_()); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, nt2::meta::indeterminate_ const &) const - { - if (isrow(a0)) //row vector - { - return eval(a0, boost::mpl::true_()); - } - else if (iscolumn(a0)) // col vector - { - return eval2(a0, boost::mpl::true_()); - } - else // matrix but not vector - { - return eval2(a0, boost::mpl::false_()); - } - } - - - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/mnormest.hpp b/inst/include/nt2/linalg/functions/scalar/mnormest.hpp deleted file mode 100644 index 1a2918c..0000000 --- a/inst/include/nt2/linalg/functions/scalar/mnormest.hpp +++ /dev/null @@ -1,161 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_MNORMEST_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_MNORMEST_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mnormest_, tag::cpu_, - (A0)(A1)(A2), - ((ast_)) - (scalar_ > ) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0& s, const A1 &tol, A2& cnt) const - { - typedef container::table vtab_t; - vtab_t x = nt2::asum1(s, 1)(_); - cnt = 0; - result_type e = nt2::globalnorm2(x); - if (is_eqz(e)) return e; - x /= e; - result_type e0 = Zero(); - while (nt2::abs(e-e0) > tol*e) - { - e0 = e; - vtab_t sx = nt2::mtimes(s, x); - //if (nt2::none(nt2::abs(sx(_)))){ sx = nt2::ones/*rand*/(nt2::size(sx)); } - x = nt2::mtimes(ctrans(s), sx); - result_type normx = nt2::globalnorm2(x); - e = normx/nt2::globalnorm2(sx); - x /= normx; - if (++cnt > 100) - { - NT2_WARNING ( true - , "mnormest has not converged after 100 iterations." - ); - break; - } - - } - return e; - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( mnormest_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1 &tol) const - { - size_t cnt = 0; - return mnormest(a0, tol, cnt); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mnormest_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, A1 &cnt) const - { - return mnormest(a0, Sqrteps(), cnt); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mnormest_, tag::cpu_, - (A0), - ((ast_)) - ) - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::mnormest(a0, Sqrteps()); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( mnormest_, tag::cpu_, - (A0), - (scalar_ > ) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::abs(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mnormest_, tag::cpu_, - (A0)(A1), - (scalar_ > ) - (scalar_ >) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1 &) const - { - return nt2::abs(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( mnormest_, tag::cpu_, - (A0)(A1)(A2), - (scalar_ > ) - (scalar_ >) - (scalar_ >) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1 &, A2& cnt) const - { - cnt = 0; - return nt2::abs(a0); - } - }; - -} } - - -#endif - diff --git a/inst/include/nt2/linalg/functions/scalar/mnormfro.hpp b/inst/include/nt2/linalg/functions/scalar/mnormfro.hpp deleted file mode 100644 index 2e9c807..0000000 --- a/inst/include/nt2/linalg/functions/scalar/mnormfro.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_MNORMFRO_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_MNORMFRO_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mnormfro_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::abs(a0); - } - - }; - - BOOST_DISPATCH_IMPLEMENT ( mnormfro_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - NT2_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(nt2::ismatrix(a0), "a0 is not a matrix"); - return norm2(a0(nt2::_)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/mnorminf.hpp b/inst/include/nt2/linalg/functions/scalar/mnorminf.hpp deleted file mode 100644 index a22f3df..0000000 --- a/inst/include/nt2/linalg/functions/scalar/mnorminf.hpp +++ /dev/null @@ -1,108 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_MNORMINF_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_MNORMINF_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// infinity norm of a matrix (maximum row sum) -// TODO optimize mnorminf(trans(a)) as mnorm1(a) - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( mnorminf_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef typename meta::as_real::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::abs(a0); - } - - }; - - BOOST_DISPATCH_IMPLEMENT ( mnorminf_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - BOOST_ASSERT_MSG(nt2::ismatrix(a0), "a0 is not a matrix"); - typedef typename details::is_col_vector::type choice_t; - return eval(a0, choice_t()); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, boost::mpl::true_ const &) const //static col vector - { - return nt2::globalmax(nt2::abs(a0)); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, boost::mpl::false_ const &) const // not static col vector - { - typedef typename details::is_row_vector::type choice_t; - return eval2(a0, choice_t()); - } - - BOOST_FORCEINLINE result_type - eval2(A0 const& a0, boost::mpl::true_ const &) const //static row vector - { - return nt2::globalasum1(a0); - } - - BOOST_FORCEINLINE result_type - eval2(A0 const& a0, boost::mpl::false_ const &) const //not static vector - { - return nt2::globalmax(nt2::asum1(a0, 2)); - } - - BOOST_FORCEINLINE result_type - eval2(A0 const& a0, nt2::meta::indeterminate_ const &) const - { - return eval(a0, nt2::meta::indeterminate_()); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, nt2::meta::indeterminate_ const &) const - { - if (iscolumn(a0)) // col vector - { - return eval(a0, boost::mpl::true_()); - } - else if (isrow(a0)) //row vector - { - return eval2(a0, boost::mpl::true_()); - } - else // matrix but not vector - { - return eval2(a0, boost::mpl::false_()); - } - } - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/norm.hpp b/inst/include/nt2/linalg/functions/scalar/norm.hpp deleted file mode 100644 index 58203c7..0000000 --- a/inst/include/nt2/linalg/functions/scalar/norm.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_NORM_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_NORM_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( norm_, tag::cpu_, - (A0), - ((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - BOOST_ASSERT_MSG(nt2::ismatrix(a0), "a0 is not a matrix nor a vector"); - typedef typename details::is_vector::type choice_t; - return eval(a0, choice_t()); - } - BOOST_FORCEINLINE result_type - eval(A0 const& a0, boost::mpl::true_ const &) const //vector - { - return globalnorm2(a0); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, boost::mpl::false_ const &) const // not vector - { - return mnorm(a0); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, nt2::meta::indeterminate_ const &) const // statically indeterminate - { - if (isvector(a0)) - return globalnorm2(a0); - else - return mnorm(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( norm_, tag::cpu_, - (A0)(A1), - ((ast_)) - (unspecified_) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const& a1) const - { - BOOST_ASSERT_MSG(nt2::ismatrix(a0), "a0 is not a matrix nor a vector"); - typedef typename details::is_vector::type choice_t; - return eval(a0, a1, choice_t()); - } - BOOST_FORCEINLINE result_type - eval(A0 const& a0, A1 const& a1, boost::mpl::true_ const &) const // vector - { - return globalnorm(a0, a1); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, A1 const& a1, boost::mpl::false_ const &) const // not vector - { - return mnorm(a0, a1); - } - - BOOST_FORCEINLINE result_type - eval(A0 const& a0, A1 const& a1, nt2::meta::indeterminate_ const &) const // statically indeterminate - { - if (isvector(a0)) - return globalnorm(a0, a1); - else - return mnorm(a0, a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/rank.hpp b/inst/include/nt2/linalg/functions/scalar/rank.hpp deleted file mode 100644 index 0c94dcc..0000000 --- a/inst/include/nt2/linalg/functions/scalar/rank.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_RANK_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_RANK_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2{ namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rank_, tag::cpu_, - (A0) - ,((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type rtype_t; - typedef size_t result_type; - typedef nt2::container::table base_type; - - NT2_FUNCTOR_CALL(1) - { - base_type s = svd(a0); - return size_t(inbtrue(gt(s, nt2::length(a0)*nt2::eps(s(1))))); - } - }; - BOOST_DISPATCH_IMPLEMENT ( rank_, tag::cpu_, - (A0)(A1) - ,((ast_)) - (scalar_ >) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type rtype_t; - typedef size_t result_type; - typedef nt2::container::table base_type; - - NT2_FUNCTOR_CALL(2) - { - base_type s = svd(a0); - rtype_t epsi = (a1 < 0) ? nt2::length(a0)*nt2::eps(s(1)): a1; - return size_t(inbtrue(gt(s, epsi))); - } - }; - -} } - - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/rcond.hpp b/inst/include/nt2/linalg/functions/scalar/rcond.hpp deleted file mode 100644 index 3eb8f43..0000000 --- a/inst/include/nt2/linalg/functions/scalar/rcond.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_RCOND_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_RCOND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2{ namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rcond_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type rtype_t; - typedef typename boost::dispatch::meta::as_floating::type result_type; - NT2_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(issquare(a0), "rcond for non square matrix"); - nt2::container::table lu(a0); - nt2::container::table ip; - - nt2::getrf(boost::proto::value(lu), boost::proto::value(ip) ); - nt2::getri(boost::proto::value(lu), boost::proto::value(ip) ); - return nt2::rec(nt2::mnorm1(a0) * nt2::mnorm1(lu)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rcond_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef typename meta::as_real::type rtype_t; - typedef typename boost::dispatch::meta::as_floating::type result_type; - NT2_FUNCTOR_CALL(1) - { - return a0 ? One() : Zero(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rcond_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (unspecified_) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type rtype_t; - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG( issquare(a0) - , "rcondition number of non square matrix" - ); - { - nt2::container::table lu(a0); - nt2::container::table ip; - - nt2::getrf(boost::proto::value(lu), boost::proto::value(ip) ); - nt2::getri(boost::proto::value(lu), boost::proto::value(ip) ); - return nt2::rec(nt2::mnorm(a0, a1)*nt2::mnorm(lu, a1)); - } - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rcond_, tag::cpu_ - , (A0)(A1) - , (scalar_ > ) - (unspecified_) - ) - { - typedef typename meta::as_real::type rtype_t; - typedef typename boost::dispatch::meta::as_floating::type result_type; - result_type operator()(A0 const & a0, A1 const&) - { - return a0 ? One() : Zero(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/subspace.hpp b/inst/include/nt2/linalg/functions/scalar/subspace.hpp deleted file mode 100644 index 021ca93..0000000 --- a/inst/include/nt2/linalg/functions/scalar/subspace.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_SUBSPACE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_SUBSPACE_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -namespace nt2{ namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( subspace_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef typename A0::value_type result_type; - typedef typename nt2::container::table t_t; - NT2_FUNCTOR_CALL(2) - { - BOOST_ASSERT_MSG(nt2::ofsameheight(a0, a1), "in subspace a and b must have same height"); - // Compute orthonormal bases, using SVD in "orth" to avoid problems - // when A and/or B is nearly rank deficient. - t_t a = nt2::orth(a0); - t_t b = nt2::orth(a1); - bool test = (nt2::size(a,2) < nt2::size(b,2)); - t_t & aa = test ? a : b; - t_t & bb = test ? b : a; - // Compute the projection the most accurate way, according to [1]. - for (size_t k = 1; k <= nt2::size(aa,2); ++k) - { - t_t c = bb - nt2::mtimes(aa(nt2::_,k), nt2::mtimes(nt2::rowvect(aa(nt2::_,k)), bb)); - bb = c; - } - // Make sure it's magnitude is less than 1. - return nt2::asin(nt2::min(One(),nt2::mnorm(bb))); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/trace.hpp b/inst/include/nt2/linalg/functions/scalar/trace.hpp deleted file mode 100644 index cb669a2..0000000 --- a/inst/include/nt2/linalg/functions/scalar/trace.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_TRACE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_TRACE_HPP_INCLUDED -#include -#include -#include -#include - -//sum of diagonal elements even if a is not square - -namespace nt2{ namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( trace_, tag::cpu_, - (A0) - ,((ast_)) - ) - { - typedef typename A0::value_type result_type; - NT2_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(ismatrix(a0), "a0 is not a matrix or vector in trace call"); - result_type r = nt2::sum(nt2::diag_of(a0)(nt2::_)); //TODO - return r; - } - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/scalar/vecnorm.hpp b/inst/include/nt2/linalg/functions/scalar/vecnorm.hpp deleted file mode 100644 index ebad461..0000000 --- a/inst/include/nt2/linalg/functions/scalar/vecnorm.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCALAR_VECNORM_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCALAR_VECNORM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( vecnorm_, tag::cpu_, - (A0), - ((ast_)) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type rtype_t; - typedef typename boost::dispatch::meta::as_floating - ::type result_type; - inline result_type operator()(A0 const &a0) const - { - return norm2(a0(_)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( vecnorm_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ > ) - ) - { - typedef typename A0::value_type type_t; - typedef typename meta::as_real::type rtype_t; - typedef typename boost::dispatch::meta::as_floating - ::type result_type; - inline result_type operator()(A0 const &a0, A1 const& a1) const - { - result_type choice = result_type(a1); - if (is_nan(choice)) return Nan(); - if (choice == Two()){ - return nt2::norm2(a0(_)); - } else if (choice == One()){ - return nt2::norm1(a0(_)); - } else if (nt2::is_finite(choice)){ - return nt2::normp(a0(_), choice); - } else if (is_gtz(choice)){ - return nt2::max(nt2::abs(a0(_))); - } else { - return nt2::min(nt2::abs(a0(_))); - } - } - }; - - BOOST_DISPATCH_IMPLEMENT ( vecnorm_, tag::cpu_, - (A0)(A1), - (scalar_ > ) - (scalar_ > ) - ) - { - typedef typename meta::as_real::type rtype_t; - typedef typename boost::dispatch::meta::as_floating - ::type result_type; - inline result_type operator()(A0 const &a0, A1 const& ) const - { - return result_type(nt2::abs(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( vecnorm_, tag::cpu_, - (A0), - (scalar_ > ) - ) - { - typedef typename meta::as_real::type rtype_t; - typedef typename boost::dispatch::meta::as_floating - ::type result_type; - inline result_type operator()(A0 const &a0) const - { - return result_type(nt2::abs(a0)); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/schur.hpp b/inst/include/nt2/linalg/functions/schur.hpp deleted file mode 100644 index b7b0782..0000000 --- a/inst/include/nt2/linalg/functions/schur.hpp +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================== -// Copyright 2014 - 2015 Jean-Thierry Lapresté -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2009 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SCHUR_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SCHUR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct schur_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_schur_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_schur_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_schur_; - } - - /** - * @brief Perform Schur factorization - * - * For any given matrix expression, performs a Schur factorization of - * said matrix using the specified output layout for the Schur method. - * - * - * possible calls are - * t = schur(a); - * if a is complex, the complex schur form is returned in matrix t. - * the complex schur form is upper triangular with the eigenvalues - * of a on the diagonal. - * - * if a is real, or has only real elements two different decompositions are available. - * t = schur(a,real_) has the real eigenvalues on the diagonal and the - * complex eigenvalues in 2-by-2 blocks on the diagonal. - * t = schur(a,cmplx_) is triangular and is complex. - * t = schur(a,real_) is the default for real types entry and in this case is equivalent to - * t = schur(a). For complex types entry the complex form is the default and in this case - * t = schur(a,cmplx_) is equivalent to schur(a). - * - * t = schur(a, real_); // all a coefficients must contain real values - * t = schur(a, cmplx_); // t must be able to receive complex elts - * - * tie(u, t) = schur(a, ...) also returns the unitary (orthogonal in the real_ case) matrix u - * such that u*t*ctrans(u) == a - * tie(u, t, w) = schur(a, ...) returns also the vector w containing the eigenvalues of a (w - * is mandatorily complex) - * - * - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::schur_, schur, 1) - NT2_FUNCTION_IMPLEMENTATION(tag::schur_, schur, 2) -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/signm.hpp b/inst/include/nt2/linalg/functions/signm.hpp deleted file mode 100644 index 5359ef5..0000000 --- a/inst/include/nt2/linalg/functions/signm.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SIGNM_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SIGNM_HPP_INCLUDED -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag signm_ of functor signm - * in namespace nt2::tag for toolbox algebra - **/ - struct signm_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_signm_( - ext::adl_helper(), - static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher - dispatching_signm_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_signm_; - } - /** - * @brief signm(a0) computes the 'sign' of a square matricial expression - * - * signm(a) must not be confused with sign(a) that computes on an - * elementwise basis the sign of the elements of matrix a. - * s = signnm(a) is a matrix such that: - * - * (a) mtimes(s, s)= I (s is involutory); - * (b) s is diagonalizable with eigenvalues +1 or -1; - * (c) sa = as; - * (d) if a is real then s is real; - * (e) (I + s)/2 and (I $B!](B s)/2 are projectors onto the invariant subspaces associated - * with the eigenvalues in the right half-plane and left half-plane, respectively. - * - * a can be a any square matricial expression whose - * non real eigenvalues are not on the imaginary axis. - * - * @param a0 Matrix expression or scalar - * - * @return a matrix containing signm(a1) - * - * signm is computed here from the schur decomposition. - * - * signm(a, epsi) allows to to be +/- tolerant about the fact - * that the schur triangular matrix is in fact diagonal. - * epsi default value is 10*Eps() where type - * is the input element type. - - **/ - - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::signm_, signm, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::signm_, signm, 2) - -} -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - -} } -#endif - diff --git a/inst/include/nt2/linalg/functions/sne.hpp b/inst/include/nt2/linalg/functions/sne.hpp deleted file mode 100644 index 218b013..0000000 --- a/inst/include/nt2/linalg/functions/sne.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SNE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SNE_HPP_INCLUDED - -/*! - @file - @brief Defines Semi-Normal Equations that solve R'(Rx) = A'b - (based on Qr factorization) -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines sne function tag - struct sne_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sne_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sne_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sne_; - } - - /*! - @brief - - @param - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::sne_, sne - , (A0 const&)(A1 const&) - , 2 - ); -} - -#endif diff --git a/inst/include/nt2/linalg/functions/solvers/linsolve.hpp b/inst/include/nt2/linalg/functions/solvers/linsolve.hpp deleted file mode 100644 index 838aa5d..0000000 --- a/inst/include/nt2/linalg/functions/solvers/linsolve.hpp +++ /dev/null @@ -1,134 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SOLVERS_LINSOLVE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SOLVERS_LINSOLVE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - - //============================================================================ - // LINSOLVE - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( linsolve_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_ - )) - ((node_ - )) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::value_type child0; - typedef typename child0::value_type ctype_t; - typedef typename nt2::meta::as_real::type type_t; - - BOOST_FORCEINLINE result_type operator()( A0 const& a0, A1 const& a1 ) const - { - eval(a0,a1,N0(),N1()); - } - - //========================================================================== - /// INTERNAL ONLY - X = LINSOLVE(A,B) - BOOST_FORCEINLINE - void eval ( A0 const& a0, A1 const& a1 , boost::mpl::long_<2> const& - , boost::mpl::long_<1> const& - ) const - { - const type_t x = type_t(0); - solve_sqr(a0,a1,nt2::policy(),x); - } - - //========================================================================== - /// INTERNAL ONLY - X-R = LINSOLVE(A,B) - template BOOST_FORCEINLINE - void eval ( A0 const& a0, A1 const& a1 , N const& - , boost::mpl::long_<2> const& - ) const - { - nt2::plinsolve( boost::proto::child_c<0>(a0) // A - , boost::proto::child_c<1>(a0) // B - , nt2::tie( boost::proto::child_c<0>(a1) - , boost::proto::child_c<1>(a1) ) - ); - } - - //========================================================================== - /// INTERNAL ONLY - X = LINSOLVE(A,B,opts) - Matrix must be square here - /// test for matlab type opts(shape structure) - /// add a dispatch case for solve_sqr - BOOST_FORCEINLINE - void eval ( A0 const& a0, A1 const& a1 , boost::mpl::long_<3> const& - , boost::mpl::long_<1> const& - ) const - { - const type_t x = type_t(0); - solve_sqr(a0,a1,boost::proto::value(boost::proto::child_c<2>(a0)),x); - } - //========================================================================== - /// INTERNAL ONLqY - X = LINSOLVE(A,B,opts) with sv or gelsy - BOOST_FORCEINLINE - void solve_sqr(A0 const& a0, A1 const& a1 ,nt2::policy const& - , type_t const ) const - { - nt2::clinsolve( boost::proto::child_c<0>(a0) // A - , boost::proto::child_c<1>(a0) // B - , nt2::tie(boost::proto::child_c<0>(a1)) // X - ); - } - - /// INTERNAL ONLY - X = LINSOLVE(A,B,opts) with svx - BOOST_FORCEINLINE - void solve_sqr(A0 const& a0, A1 const& a1,nt2::policy const& - , type_t const ) const - { - nt2::plinsolve( boost::proto::child_c<0>(a0) // A - , boost::proto::child_c<1>(a0) // B - , nt2::tie(boost::proto::child_c<0>(a1) ) // X - ); - } - - /// INTERNAL ONLY - X = LINSOLVE(A,B,opts) with dsgesv or dsposv - BOOST_FORCEINLINE - void solve_sqr(A0 const& a0, A1 const& a1,nt2::policy const& - , double const ) const - { - nt2::mlinsolve( boost::proto::child_c<0>(a0) // A - , boost::proto::child_c<1>(a0) // B - , boost::proto::child_c<0>(a1) // X - ); - } - - - /// INTERNAL ONLY - X = LINSOLVE(A,B,opts) with dsgesv or dsposv - BOOST_FORCEINLINE - void solve_sqr(A0 const& a0, A1 const& a1,nt2::policy const& - , float const x ) const - { - solve_sqr(a0,a1,nt2::policy(),x); - } - - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/solvers/options.hpp b/inst/include/nt2/linalg/functions/solvers/options.hpp deleted file mode 100644 index e7c7d42..0000000 --- a/inst/include/nt2/linalg/functions/solvers/options.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SOLVERS_OPTIONS_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SOLVERS_OPTIONS_HPP_INCLUDED - -#include - -namespace nt2 { namespace solvers { - class options - { - public: - options(bool t = false): - lt_(false), - ut_(false), - uhess_(false), - sym_(false), - posdef_(false), - rect_(true), - transa_(t), - unidiag_(false), - general_(true) - {} - - void lt(bool b){ - lt_ = b; - if (lt_){ - general_ = posdef_ = sym_ = uhess_ = ut_ = false; - } - } - void ut(bool b){ - ut_ = b; - if (ut_){ - general_ = posdef_ = sym_ = uhess_ = lt_ = false; - } - } - void uhess(bool b){ - uhess_ = b; - if (ut_){ - general_ = rect_ = posdef_ = sym_ = lt_= ut_ = false; - } - } - void sym(bool b){ - sym_ = b; - if (sym_){ - general_ = uhess_ = lt_ = ut_ = false; - } - } - void rect(bool b){ - rect_ = b; - if (rect_){ - sym_ = posdef_ = uhess_ = lt_ = ut_ = false; - general_ = true; - } - } - - void posdef(bool b){ - posdef_ = b; - if (posdef_){ - general_ = uhess_ = lt_ = ut_ = rect_ = false; - } - } - - void unidiag(bool b){ - unidiag_ = b; - } - - void transa(bool b){ - transa_ = b; - } - bool ut()const{return ut_; } - bool lt()const{return lt_; } - bool uhess()const{return uhess_; } - bool sym()const{return sym_; } - bool posdef()const{return posdef_; } - bool transa()const{return transa_; } - bool unidiag()const{return unidiag_; } - bool rect()const{return rect_; } - - const char& uplo()const{return *details::lapack_option(ut_?'u':'l'); } - - template < class t > - const char& trans(const t & a = 1)const{ - return *details::lapack_option(transa_ ? (!is_real(a)? 'c':'t') :'n'); - } - - const char& uni()const{return *details::lapack_option(unidiag_?'u':'n'); } - - ~options(){}; - - private: - bool lt_; - bool ut_; - bool uhess_; - bool sym_; - bool posdef_; - bool rect_; - bool transa_; - bool unidiag_; - bool general_; - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/sqrtm.hpp b/inst/include/nt2/linalg/functions/sqrtm.hpp deleted file mode 100644 index 7c72730..0000000 --- a/inst/include/nt2/linalg/functions/sqrtm.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SQRTM_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SQRTM_HPP_INCLUDED -#include -#include -#include -#include - -/*! - * \ingroup algebra - * \defgroup algebra_sqrtm sqrtm - * - * \par Description - * suqre root of a matrix - * - * \par Header file - * - * \code - * #include - * \endcode - * - * - * \param a the matrix or vector expression a - * - * \param type of sqrtm required - * - * \par Notes - * Call the dedicated lapack routines available on the target. - * \par - * -**/ - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag sqrtm_ of functor sqrt - * in namespace nt2::tag for toolbox algebra - **/ - struct sqrtm_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_sqrtm_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sqrtm_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sqrtm_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sqrtm_, sqrtm, 1) -} - -#endif diff --git a/inst/include/nt2/linalg/functions/subspace.hpp b/inst/include/nt2/linalg/functions/subspace.hpp deleted file mode 100644 index 6162cbe..0000000 --- a/inst/include/nt2/linalg/functions/subspace.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SUBSPACE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SUBSPACE_HPP_INCLUDED -#include - -/*! - * \ingroup algebra - * \defgroup algebra_trace trace - * - * \par Description - * angle between subspaces. - * subspace(a,b) finds the angle between two subspaces specified by the - * columns of a and b. - * - * References: - * [1] A. Bjorck & G. Golub, Numerical methods for computing - * angles between linear subspaces, Math. Comp. 27 (1973), - * pp. 579-594. - * [2] P.-A. Wedin, On angles between subspaces of a finite - * dimensional inner product space, in B. Kagstrom & A. Ruhe (Eds.), - * Matrix Pencils, Lecture Notes in Mathematics 973, Springer, 1983, - * pp. 263-285. - * - * \par Header file - * - * \code - * #include - * \endcode - * - * - * \param a the matrix a - * - * \param b the matrix b - * - * \par Notes - * Call the dedicated lapack routines available on the target. - * \par - * -**/ -//============================================================================== -// trace actual class forward declaration -//============================================================================== - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag trace_ of functor trace - * in namespace nt2::tag for toolbox algebra - **/ - struct subspace_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_subspace_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_subspace_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_subspace_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::subspace_, subspace, 2) -} - -#endif diff --git a/inst/include/nt2/linalg/functions/svd.hpp b/inst/include/nt2/linalg/functions/svd.hpp deleted file mode 100644 index bd5c23c..0000000 --- a/inst/include/nt2/linalg/functions/svd.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SVD_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SVD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct svd_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_svd_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_svd_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_svd_; - } - - /** - s = svd(x) - s = svd(x, vector_) - s = svd(x, matrix_) - tie(u,s,v) = svd(x, matrix_) - tie(u,s,v) = svd(x, vector_) - tie(u,s,v) = svd(x) - tie(u,s,v) = svd(x,0) - tie(u,s,v) = svd(x, econ_) - tie(u,s,tv) = svd(x, raw_) - - Description - - The svd command computes the matrix singular value decomposition. - - s = svd(x) returns a vector of singular values. - - tie(u,s,v) = svd(x) or ie(u,s,v) = svd(x, matrix_) produces a diagonal - matrix s of the same dimension as x, with nonnegative diagonal - elements in decreasing order, and unitary matrices u and v so that - x = u*s*ctrans(v). - - tie(u,s,v) = svd(x,0) produces the "economy size" decomposition. if - x is m-by-n with m > n, then svd computes only the first n - columns of u and s is n-by-n. - - tie(u,s,v) = svd(x,econ_) also produces the "economy size" - decomposition. if x is m-by-n with m >= n, it is equivalent to - svd(x,0). for m < n, only the first m columns of v are computed - and s is m-by-m. - - tie(u,s,tv) = svd(x,raw_) also produces the lapack direct output - decomposition. s is a real vector of the singular values and tv is - the transconjugate of matrix v. - - tie(u,s,v) = svd(x, vector_) returns s as a vector but v is - not transconjugated. - - options econ_ and 0 implies s as a matrix, option raw_ implies s as a vector. - - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::svd_, svd, 1) - NT2_FUNCTION_IMPLEMENTATION(tag::svd_, svd, 2) -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/sycon.hpp b/inst/include/nt2/linalg/functions/sycon.hpp deleted file mode 100644 index 962be00..0000000 --- a/inst/include/nt2/linalg/functions/sycon.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SYCON_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SYCON_HPP_INCLUDED - -/*! - @file - @brief Defines and implements lapack sycon function that estimates the - reciprocal of the condition number of a matrix A in the 1-norm or infinity norm -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines gecon function tag - struct sycon_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sycon_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sycon_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sycon_; - } - - /*! - @brief - - @param - @param - - @return - **/ - - NT2_FUNCTION_IMPLEMENTATION (tag::sycon_, sycon - , 3 - ); - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/sylvester.hpp b/inst/include/nt2/linalg/functions/sylvester.hpp deleted file mode 100644 index 9f5c309..0000000 --- a/inst/include/nt2/linalg/functions/sylvester.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SYLVESTER_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SYLVESTER_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag sylvester_ of functor sylvester - * in namespace nt2::tag for toolbox algebra - **/ - struct sylvester_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( - dispatching_sylvester_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher - dispatching_sylvester_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sylvester_; - } - /** - * @brief solve the sylvester equation a*x*b+x = c - * - * - * @param a Matrix expression - * @param b Matrix expression - * @param c Matrix expression - * - * @return a matrix containing the solution - **/ - - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sylvester_, sylvester, 3) - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::sylvester_, sylvester, 2) - -} - -#endif - diff --git a/inst/include/nt2/linalg/functions/symeig.hpp b/inst/include/nt2/linalg/functions/symeig.hpp deleted file mode 100644 index ed69d97..0000000 --- a/inst/include/nt2/linalg/functions/symeig.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SYMEIG_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SYMEIG_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - struct symeig_ : ext::tieable_ - { - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_symeig_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_symeig_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_symeig_; - } - - /** - symeig computes the eigenvalues and/or eigenvectors of a symetric real or - hermitian complex input. - - symeig can be called: - w = symeig(a) or w = symeig(a, raw_) - w = symeig(a, matrix_/vector_/lower_/upper_) - w = symeig(a, matrix_/vector_, lower_, upper_) - tie(w, v) = symeig(a) - tie(w, v) = symeig(a, matrix_/vector_/lower_/upper_) - tie(w, v) = symeig(a, matrix_/vector_, lower_/upper_) - tie(w, v) = symeig(a, raw_) - tie(w, v) = symeig(a, raw_) - tie(w, v) = symeig(a, raw_, lower_/upper_) - - w will contain the eigenvalues (which are real) in vector_ or diagonal matrix_ form. - w is always real. - With 2 outputs default is matrix_ - With 1 output default is vector_ - - v will contain the eigenvectors in a matrix of element - of the same type as the input elements - - lower_/upper_ determines which part of the supposed symetric/hermitian input will - be accessed (default is upper_), the other part being never referenced. - - For instance symeig(a,lower_) and symeig(tril(a),lower_) lead to the same result. - - with raw_ the matrices returned are the direct lapack result: - w a vector of real eigenvalues - v a matrix of eigenvectors - In all raw_ calls raw_ is equivalent to vector_. - The rationale for raw_ here is only to make obvious what are the most direct - (so a priori efficient) calls. - - Note : with 3 inputs the 2 options can be given in reverse order - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::symeig_, symeig, 1) - NT2_FUNCTION_IMPLEMENTATION(tag::symeig_, symeig, 2) - NT2_FUNCTION_IMPLEMENTATION(tag::symeig_, symeig, 3) -} - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::size_as - {}; - -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/sysv.hpp b/inst/include/nt2/linalg/functions/sysv.hpp deleted file mode 100644 index ea6780e..0000000 --- a/inst/include/nt2/linalg/functions/sysv.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SYSV_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SYSV_HPP_INCLUDED - -/*! - @file - @brief Defines and implements lapack sysv function that computes the solution - of real system of linear equations a*x = b for a symmetric matrix -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines gesv function tag - struct sysv_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sysv_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sysv_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sysv_; - } - - /*! - @brief - - @param - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::sysv_, sysv - , (A0&)(A1&)(A2&) - , 3 - ); - - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::sysv_, sysv - , (A0&)(A1&)(A2&)(A3&) - , 4 - ); -} - -#endif diff --git a/inst/include/nt2/linalg/functions/sysvx.hpp b/inst/include/nt2/linalg/functions/sysvx.hpp deleted file mode 100644 index 9839e91..0000000 --- a/inst/include/nt2/linalg/functions/sysvx.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_SYSVX_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_SYSVX_HPP_INCLUDED - -/*! - @file - @brief Defines and implements lapack sysvx function that computes the solution - of real system of linear equations a*x = b for a symmetric matrix with iterative - refinement -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines gesv function tag - struct sysvx_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_sysvx_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_sysvx_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_sysvx_; - } - - /*! - @brief - - @param - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::sysvx_, sysvx - , (A0 const&)(A1&)(A2 const&)(A3&)(A4&) - , 5 - ); - - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::sysvx_, sysvx - , (A0 const&)(A1&)(A2 const&)(A3&)(A4&)(A5&) - , 6 - ); -} - -#endif diff --git a/inst/include/nt2/linalg/functions/tied/balance.hpp b/inst/include/nt2/linalg/functions/tied/balance.hpp deleted file mode 100644 index 2e72062..0000000 --- a/inst/include/nt2/linalg/functions/tied/balance.hpp +++ /dev/null @@ -1,397 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TIED_BALANCE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TIED_BALANCE_HPP_INCLUDED - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - //BALANCE Scalar - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( balance_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( balance_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (unspecified_) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1&) const - { - return a0; - } - }; - - - //============================================================================ - //BALANCE - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( balance_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_ - )) - ((node_ - )) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::value_type child0; - typedef typename child0::value_type type_t; - typedef typename meta::as_real::type rtype_t; - typedef typename meta::as_integer::type itype_t; - typedef nt2::memory::container o_semantic; - typedef nt2::memory::container r_semantic; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - eval(a0, a1, N0(), N1()); - } - private: - //========================================================================== - /// INTERNAL ONLY - B = BALANCE(A) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<1> const& - , boost::mpl::long_<1> const& - ) const - { - eval2_1(a0, a1, nt2::both_); - } - - /// INTERNAL ONLY - B = BALANCE(A, perm_/no_perm_/both_/none_) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<2> const& - , boost::mpl::long_<1> const& - ) const - { - eval2_1(a0, a1 - , boost::proto::value(boost::proto::child_c<1>(a0))); - } - - //perm_ - /// INTERNAL ONLY: 1o 2i - BOOST_FORCEINLINE - void eval2_1 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - NT2_AS_TERMINAL_INOUT(o_semantic, a, boost::proto::child_c<0>(a0), boost::proto::child_c<0>(a1)); - BOOST_ASSERT_MSG(issquare(boost::proto::child_c<0>(a1)), - "matrix to balance must be square"); - nt2_la_int ilo, ihi; - nt2::container::table scale(of_size(height(a), 1)); - NT2_LAPACK_VERIFY(gebal(boost::proto::value(a) - , boost::proto::value(scale) - , ilo, ihi, 'P')); - boost::proto::child_c<0>(a1) = a; - } - - //no_perm_ - /// INTERNAL ONLY: 1o 2i - BOOST_FORCEINLINE - void eval2_1 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - NT2_AS_TERMINAL_INOUT(o_semantic, a, boost::proto::child_c<0>(a0), boost::proto::child_c<0>(a1)); - BOOST_ASSERT_MSG(issquare(a), - "matrix to balance must be square"); - nt2_la_int ilo, ihi; - nt2::container::table scale(of_size(height(a), 1)); - NT2_LAPACK_VERIFY(gebal( boost::proto::value(a) - , boost::proto::value(scale) - , ilo, ihi, 'S')); - boost::proto::child_c<0>(a1) = a; - } - - //both_ - /// INTERNAL ONLY: 1o 2i - BOOST_FORCEINLINE - void eval2_1 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - NT2_AS_TERMINAL_INOUT(o_semantic, a, boost::proto::child_c<0>(a0), boost::proto::child_c<0>(a1)); - BOOST_ASSERT_MSG(issquare(a), "matrix to balance must be square"); - nt2_la_int ilo, ihi; - nt2::container::table scale(of_size(height(a), 1)); - NT2_LAPACK_VERIFY(gebal(boost::proto::value(a) - , boost::proto::value(scale) - , ilo, ihi, 'B')); - boost::proto::child_c<0>(a1) = a; - } - - // none_ - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval2_1 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - NT2_AS_TERMINAL_INOUT(o_semantic, a, boost::proto::child_c<0>(a0), boost::proto::child_c<0>(a1)); - BOOST_ASSERT_MSG(issquare(a), "matrix to balance must be square"); - boost::proto::child_c<0>(a1) = a; - } - - //========================================================================== - /// INTERNAL ONLY - [T, B] = BALANCE(A) - // finds a similarity transformation T such - // that B = T\A*T has, as nearly as possible, approximately equal - // row and column norms and balanced matrix B - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<1> const& - , boost::mpl::long_<2> const& - ) const - { - eval2_2(a0, a1, 'B'); - } - - //========================================================================== - /// INTERNAL ONLY - [T, B] = BALANCE(A, perm_/noperm_/both_/none_) - // finds a similarity transformation T such - // that B = T\A*T has, as nearly as possible, approximately equal - // row and column norms and balanced matrix B - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<2> const& - , boost::mpl::long_<2> const& - ) const - { - eval2_2(a0, a1, boost::proto::value(boost::proto::child_c<1>(a0))); - } - - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval2_2 ( A0& a0, A1& a1 - , char job - ) const - { - NT2_AS_TERMINAL_INOUT(o_semantic, a, boost::proto::child_c<0>(a0), boost::proto::child_c<1>(a1)); - NT2_AS_TERMINAL_OUT (o_semantic, t, boost::proto::child_c<0>(a1)); - BOOST_ASSERT_MSG(issquare(a), - "matrix to balance must be square"); - nt2_la_int ilo, ihi; - nt2_la_int n = height(a); - nt2::container::table scale(of_size(n, 1)); - NT2_LAPACK_VERIFY(gebal(boost::proto::value(a) - , boost::proto::value(scale) - , ilo, ihi, job)); - t = nt2::eye(n, n, meta::as_()); - NT2_LAPACK_VERIFY(gebak(boost::proto::value(t) - , boost::proto::value(scale) - , ilo, ihi, job, 'R')); - boost::proto::child_c<0>(a1) = t; - boost::proto::child_c<1>(a1) = a; - } - - // both_ - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval2_2 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - eval2_2(a0, a1, 'B'); - } - - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval2_2 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - eval2_2(a0, a1, 'P'); - } - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval2_2 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - eval2_2(a0, a1, 'S'); - } - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval2_2 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - NT2_AS_TERMINAL_INOUT(o_semantic, a, boost::proto::child_c<0>(a0), boost::proto::child_c<1>(a1)); - nt2_la_int n = height(a); - BOOST_ASSERT_MSG(issquare(a), "matrix to balance must be square"); - boost::proto::child_c<0>(a1) = nt2::eye(n, n, meta::as_()); - boost::proto::child_c<1>(a1) = a; - } - - //========================================================================== - /// INTERNAL ONLY - [S, P, B] = BALANCE(A) - // finds a similarity transformation T such - // that B = T\A*T has, as nearly as possible, approximately equal - // row and column norms and balanced matrix B - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<1> const& - , boost::mpl::long_<3> const& - ) const - { - eval3_2(a0, a1, 'B'); - } - - //========================================================================== - /// INTERNAL ONLY - [S, P, B] = BALANCE(A, perm_/noperm_/both_/none_) - // finds a similarity transformation T such - // that B = T\A*T has, as nearly as possible, approximately equal - // row and column norms and balanced matrix B - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<2> const& - , boost::mpl::long_<3> const& - ) const - { - eval3_2(a0, a1, boost::proto::value(boost::proto::child_c<1>(a0))); - } - - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval3_2 ( A0& a0, A1& a1, char job) const - { - typedef typename boost::proto::result_of::child_c::value_type child1; - typedef typename child1::value_type itype1_t; - typedef nt2::memory::container i_semantic; - NT2_AS_TERMINAL_INOUT(o_semantic, a, boost::proto::child_c<0>(a0), boost::proto::child_c<2>(a1)); - NT2_AS_TERMINAL_OUT (i_semantic, ips, boost::proto::child_c<1>(a1)); - NT2_AS_TERMINAL_OUT (o_semantic, s, boost::proto::child_c<0>(a1)); - BOOST_ASSERT_MSG(issquare(a), - "matrix to balance must be square"); - nt2_la_int ilo, ihi; - nt2_la_int n = height(a); - nt2::container::table scale(of_size(n, 1)); - NT2_LAPACK_VERIFY(gebal(boost::proto::value(a) - , boost::proto::value(scale) - , ilo, ihi, job)); - nt2::container::table t = nt2::eye(n, n, meta::as_()); - NT2_LAPACK_VERIFY(gebak(boost::proto::value(t) - , boost::proto::value(scale) - , ilo, ihi, job, 'R')); - extract_ips(ips, s, t); - boost::proto::child_c<0>(a1) = s; - boost::proto::child_c<1>(a1) = ips; - boost::proto::child_c<2>(a1) = a; - } - - /// INTERNAL ONLY - template < class IPS, class SCA, class T> - BOOST_FORCEINLINE - void extract_ips(IPS& ips, SCA& sca, const T& t) const - { - size_t n = height(t); - ips.resize(of_size(n, 1)); - sca.resize(of_size(n, 1)); - for(size_t i=1; i <= n; ++i) - { - for(size_t j=1; j <= n; ++j) - { - if(is_nez(t(i, j))) - { - ips(i) = j; - sca(i) = real(t(i, j)); - break; - } - } - } - } - - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval3_2 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - eval3_2(a0, a1, 'B'); - } - - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval3_2 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - eval3_2(a0, a1, 'P'); - } - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval3_2 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - eval3_2(a0, a1, 'S'); - } - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval3_2 ( A0& a0, A1& a1 - , nt2::policy - ) const - { - BOOST_ASSERT_MSG(issquare(boost::proto::child_c<0>(a0)), - "matrix to balance must be square"); - boost::proto::child_c<2>(a1) = boost::proto::child_c<0>(a0); - itype_t n = height(boost::proto::child_c<0>(a0)); - boost::proto::child_c<0>(a1) = nt2::ones(n, 1, meta::as_()); - boost::proto::child_c<1>(a1) = nt2::colvect(nt2::_(itype_t(1), n)); - } - - - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/tied/cdf2rdf.hpp b/inst/include/nt2/linalg/functions/tied/cdf2rdf.hpp deleted file mode 100644 index 6773605..0000000 --- a/inst/include/nt2/linalg/functions/tied/cdf2rdf.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TIED_CDF2RDF_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TIED_CDF2RDF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( cdf2rdf_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& ) const - { - BOOST_ASSERT_MSG(is_real(a0), "diagonal is not valid"); - return real(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( cdf2rdf_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_ - )) - ((node_ - )) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::value_type child0; - typedef typename child0::value_type type_t; - typedef typename nt2::meta::as_real::type rtype_t; - typedef typename nt2::meta::as_complex::type ctype_t; - typedef nt2::memory::container desired_semantic; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - eval(a0, a1, N0(), N1()); - } - - //========================================================================== - /// INTERNAL ONLY - [v, w] = cdf2rdf(cv, cw) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<2> const& - , boost::mpl::long_<2> const& - ) const - { - auto& cv = boost::proto::child_c<0>(a0); - auto& cw = boost::proto::child_c<1>(a0); - auto i = find(imag(diag_of(cw))); - container::table index = - cast(i(_(std::size_t(1), std::size_t(2), length(i)))); - if (isempty(index)) - { - boost::proto::child_c<0>(a1) = real(cv); - boost::proto::child_c<1>(a1) = real(cw); - return; - } - container::table ct = eye(length(cw), meta::as_()); - container::table twobytwo = cons(of_size(2, 2), One() - , I(), One() - , -I()); - auto i2 = _(std::size_t(0), std::size_t(1)); - for(auto j : index) - { - ct(i2+j, i2+j) = twobytwo; - } - boost::proto::child_c<0>(a1) = trans(real(linsolve(ctrans(ct), ctrans(cv)))); - boost::proto::child_c<1>(a1) = real(mtimes(ct, ctrans(linsolve(ctrans(ct), ctrans(cw))))); - } - - - - }; -} } - -#endif - - diff --git a/inst/include/nt2/linalg/functions/tied/nseig.hpp b/inst/include/nt2/linalg/functions/tied/nseig.hpp deleted file mode 100644 index 64295a2..0000000 --- a/inst/include/nt2/linalg/functions/tied/nseig.hpp +++ /dev/null @@ -1,562 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TIED_NSEIG_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TIED_NSEIG_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nseig_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nseig_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (unspecified_) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1&) const - { - return a0; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nseig_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ >) - (unspecified_) - (unspecified_) - ) - { - typedef A0 result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1&, const A2&) const - { - return a0; - } - }; - - //============================================================================ - //Eig computations - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( nseig_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_ - )) - ((node_ - )) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::value_type child0; - typedef typename child0::value_type type_t; - typedef typename nt2::meta::as_real::type rtype_t; - typedef typename nt2::meta::as_complex::type ctype_t; - typedef nt2::memory::container desired_semantic; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - eval(a0, a1, N0(), N1()); - } - - //========================================================================== - /// INTERNAL ONLY - W = NSEIG(A) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<1> const& - , boost::mpl::long_<1> const& - ) const - { - eval1_2(a0, a1, nt2::policy()); - } - - /// INTERNAL ONLY - W = NSEIG(A, matrix_/vector_) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<2> const& - , boost::mpl::long_<1> const& - ) const - { - eval1_2(a0, a1, boost::proto::value(boost::proto::child_c<1>(a0))); - } - - /// INTERNAL ONLY: 1o 2i - BOOST_FORCEINLINE - void eval1_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, w, boost::proto::child_c<0>(a1)); - w.resize(of_size(height(a), 1)); - NT2_LAPACK_VERIFY(nt2::geev_w( boost::proto::value(a) - , boost::proto::value(w))); - boost::proto::child_c<0>(a1) = w; - } - - /// INTERNAL ONLY: 1o 2i - BOOST_FORCEINLINE - void eval1_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - nt2::container::table w(of_size(height(a), 1)); - NT2_LAPACK_VERIFY(nt2::geev_w( boost::proto::value(a) - , boost::proto::value(w) - )); - boost::proto::child_c<0>(a1) = from_diag(w); //from_diag doesnt support aliasing currently - } - - //========================================================================== - /// INTERNAL ONLY - [VR, W]= NSEIG(A) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<1> const& - , boost::mpl::long_<2> const& - ) const - { - eval2_2(a0, a1,nt2::policy()); - } - - - //========================================================================== - /// INTERNAL ONLY - [VR, W]= NSEIG(A, matrix_/vector_/balance_/no_balance_) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<2> const& - , boost::mpl::long_<2> const& - ) const - { - eval2_2(a0, a1, boost::proto::value(boost::proto::child_c<1>(a0))); - } - - /// INTERNAL ONLY: 2o 2i - BOOST_FORCEINLINE - void eval2_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, vr, boost::proto::child_c<0>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, w, boost::proto::child_c<1>(a1)); - size_t n = height(a); - w.resize(of_size(n, 1)); - vr.resize(of_size(n, n)); - NT2_LAPACK_VERIFY(nt2::geev_wvr( boost::proto::value(a) - , boost::proto::value(w) - , boost::proto::value(vr) - )); - boost::proto::child_c<1>(a1) = w; - boost::proto::child_c<0>(a1) = vr; - } - - /// INTERNAL ONLY: 2o 2i - BOOST_FORCEINLINE - void eval2_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, vr, boost::proto::child_c<0>(a1)); - size_t n = height(a); - nt2::container::table w(of_size(n, 1)); - vr.resize(of_size(n, n)); - NT2_LAPACK_VERIFY(nt2::geev_wvr( boost::proto::value(a) - , boost::proto::value(w) - , boost::proto::value(vr) - )); - boost::proto::child_c<1>(a1) = from_diag(w); - boost::proto::child_c<0>(a1) = vr; - } - - /// INTERNAL ONLY: 2o 2i - BOOST_FORCEINLINE - void eval2_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - eval2_3(a0, a1 - , nt2::policy() - , nt2::policy()); - } - - /// INTERNAL ONLY: 2o 2i - BOOST_FORCEINLINE - void eval2_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - eval2_3(a0, a1 - , nt2::policy() - , nt2::policy()); - } - - //========================================================================== - /// INTERNAL ONLY - [VR, W, VL]= NSEIG(A) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<1> const& - , boost::mpl::long_<3> const& - ) const - { - eval3_3( a0, a1 - , nt2::policy() - , nt2::policy()); - } - - //========================================================================== - /// INTERNAL ONLY - [VR, W, VL]= NSEIG(A, vector_/matrix_/balance_/no_balance_) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<2> const& - , boost::mpl::long_<3> const& - ) const - { - eval3_2(a0, a1, boost::proto::value(boost::proto::child_c<1>(a0))); - } - - /// INTERNAL ONLY: 3o 2i - BOOST_FORCEINLINE - void eval3_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, vr, boost::proto::child_c<0>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, vl, boost::proto::child_c<2>(a1)); - size_t n = height(a); - nt2::container::table w(of_size(n, 1)); - vr.resize(of_size(n, n)); - vl.resize(of_size(n, n)); - NT2_LAPACK_VERIFY(nt2::geev_wvrvl( boost::proto::value(a) - , boost::proto::value(w) - , boost::proto::value(vr) - , boost::proto::value(vl) - )); - boost::proto::child_c<1>(a1) = from_diag(w); - boost::proto::child_c<0>(a1) = vr; - boost::proto::child_c<2>(a1) = vl; - } - - /// INTERNAL ONLY: 3o 2i - BOOST_FORCEINLINE - void eval3_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, vr, boost::proto::child_c<0>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, w, boost::proto::child_c<1>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, vl, boost::proto::child_c<2>(a1)); - size_t n = height(a); - vr.resize(of_size(n, n)); - vl.resize(of_size(n, n)); - w.resize(of_size(n, 1)); - NT2_LAPACK_VERIFY(nt2::geev_wvrvl( boost::proto::value(a) - , boost::proto::value(w) - , boost::proto::value(vr) - , boost::proto::value(vl) - )); - boost::proto::child_c<1>(a1) = w; - boost::proto::child_c<0>(a1) = vr; - boost::proto::child_c<2>(a1) = vl; - } - - /// INTERNAL ONLY: 3o 2i - template < class T> BOOST_FORCEINLINE - void eval3_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - eval3_3(a0, a1 - , nt2::policy() - , nt2::policy()); - } - - /// INTERNAL ONLY: 3o 2i - template < class T> BOOST_FORCEINLINE - void eval3_2 ( A0& a0, A1& a1 - , nt2::policy const & - ) const - { - eval3_3(a0, a1, nt2::policy(), nt2::policy()); - } - - //========================================================================== - /// INTERNAL ONLY - [W]= NSEIG(A, matrix_/vector_, balance_/no_balance_) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<3> const& - , boost::mpl::long_<1> const& - ) const - { - eval1_3(a0, a1 - , boost::proto::value(boost::proto::child_c<1>(a0)) - , boost::proto::value(boost::proto::child_c<2>(a0))); - } - - /// INTERNAL ONLY: 1o 3i - template < class T > - BOOST_FORCEINLINE - void eval1_3 ( A0& a0, A1& a1 - , T const & - , nt2::policy const & - ) const - { - eval1_2(a0, a1, T()); - } - - /// INTERNAL ONLY: 1o 3i - template < class T > - BOOST_FORCEINLINE - void eval1_3 ( A0& a0, A1& a1 - , nt2::policy const & - , nt2::policy const & - ) const - { - nt2::container::table a = boost::proto::child_c<0>(a0); - nt2::container::table b = balance(a); - boost::proto::child_c<0>(a1) = nseig(b, nt2::policy()); - } - /// INTERNAL ONLY: 1o 3i - BOOST_FORCEINLINE - void eval1_3 ( A0& a0, A1& a1 - , nt2::policy const & - , nt2::policy const & - ) const - { - nt2::container::table a = boost::proto::child_c<0>(a0); - nt2::container::table b = balance(a); - boost::proto::child_c<0>(a1) = nseig(b); //as_temporary(b)); - - } - //========================================================================== - /// INTERNAL ONLY - [V, W]= NSEIG(A, matrix_/vector_, balance_/no_balance_) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<3> const& - , boost::mpl::long_<2> const& - ) const - { - eval2_3(a0, a1 - , boost::proto::value(boost::proto::child_c<1>(a0)) - , boost::proto::value(boost::proto::child_c<2>(a0))); - } - - /// INTERNAL ONLY: 2o 3i - template < class T> BOOST_FORCEINLINE - void eval2_3 ( A0& a0, A1& a1 - , T const & - , nt2::policy const & - ) const - { - eval2_2 (a0, a1, T()); - } - - /// INTERNAL ONLY: 2o 3i - BOOST_FORCEINLINE - void eval2_3 ( A0& a0, A1& a1 - , nt2::policy const & - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, v, boost::proto::child_c<0>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, w, boost::proto::child_c<1>(a1)); - - nt2_la_int ilo, ihi; - nt2_la_int n = height(a); - nt2::container::table scale(of_size(n, 1)); - NT2_LAPACK_VERIFY(gebal(boost::proto::value(a) - , boost::proto::value(scale) - , ilo, ihi, 'B')); - tie(v, w) = nseig(a, nt2::policy()); - NT2_LAPACK_VERIFY(gebak( boost::proto::value(v) - , boost::proto::value(scale) - , ilo, ihi, 'B', 'R')); - boost::proto::child_c<1>(a1) = w; - boost::proto::child_c<0>(a1) = v; - } - - /// INTERNAL ONLY: 2o 3i - BOOST_FORCEINLINE - void eval2_3 ( A0& a0, A1& a1 - , nt2::policy const & - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, v, boost::proto::child_c<0>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, w, boost::proto::child_c<1>(a1)); - nt2_la_int ilo, ihi; - nt2_la_int n = height(a); - nt2::container::table scale(of_size(n, 1)); - NT2_LAPACK_VERIFY(gebal( boost::proto::value(a) - , boost::proto::value(scale) - , ilo, ihi, 'B')); - tie(v, w) = nseig(a, nt2::policy()); - NT2_LAPACK_VERIFY(gebak( boost::proto::value(v) - , boost::proto::value(scale) - , ilo, ihi, 'B', 'R')); - boost::proto::child_c<1>(a1) = w; - boost::proto::child_c<0>(a1) = v; - } - - - //========================================================================== - /// INTERNAL ONLY - [VR, W, VL]= NSEIG(A, matrix_/vector_, balance_/no_balance_) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<3> const& - , boost::mpl::long_<3> const& - ) const - { - eval3_3(a0, a1 - , boost::proto::value(boost::proto::child_c<1>(a0)) - , boost::proto::value(boost::proto::child_c<2>(a0))); - } - - /// INTERNAL ONLY: 3o 3i - BOOST_FORCEINLINE - void eval3_3( A0& a0, A1& a1 - , nt2::policy const & - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - tie( boost::proto::child_c<0>(a1) - , boost::proto::child_c<1>(a1) - , boost::proto::child_c<2>(a1)) = nseig(a, nt2::policy()); - } - - /// INTERNAL ONLY: 3o 3i - BOOST_FORCEINLINE - void eval3_3( A0& a0, A1& a1 - , nt2::policy const & - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, vr, boost::proto::child_c<0>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, vl, boost::proto::child_c<2>(a1)); - nt2_la_int n = height(a); - nt2::container::table w(of_size(n, 1)); - tie( vr, w, vl) = nseig(a, nt2::policy()); - boost::proto::child_c<1>(a1) = from_diag(w); - boost::proto::child_c<0>(a1) = vr; - boost::proto::child_c<2>(a1) = vl; - } - - /// INTERNAL ONLY: 3o 3i - BOOST_FORCEINLINE - void eval3_3( A0& a0, A1& a1 - , nt2::policy const & - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, vr, boost::proto::child_c<0>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, vl, boost::proto::child_c<2>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, w, boost::proto::child_c<1>(a1)); - nt2_la_int ilo, ihi; - nt2_la_int n = height(a); - nt2::container::table scale(of_size(n, 1)); - NT2_LAPACK_VERIFY(gebal(boost::proto::value(a) - , boost::proto::value(scale) - , ilo, ihi, 'B')); - tie(vr, w, vl) = nseig(a, nt2::policy(), nt2::policy()); - NT2_LAPACK_VERIFY(gebak(boost::proto::value(vr), - boost::proto::value(scale) - , ilo, ihi, 'B', 'R')); - NT2_LAPACK_VERIFY(gebak(boost::proto::value(vl) - , boost::proto::value(scale) - , ilo, ihi, 'B', 'L')); - boost::proto::child_c<1>(a1) = w; - boost::proto::child_c<0>(a1) = vr; - boost::proto::child_c<2>(a1) = vl; - } - - /// INTERNAL ONLY - BOOST_FORCEINLINE - void eval3_3 ( A0& a0, A1& a1 - , nt2::policy const & - , nt2::policy const & - ) const - { - nt2::container::table work; - NT2_AS_TERMINAL_INOUT(desired_semantic, a, boost::proto::child_c<0>(a0), work); - NT2_AS_TERMINAL_OUT (desired_semantic, vr, boost::proto::child_c<0>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, vl, boost::proto::child_c<2>(a1)); - NT2_AS_TERMINAL_OUT (desired_semantic, w, boost::proto::child_c<1>(a1)); - nt2_la_int ilo, ihi; - nt2_la_int n = height(a); - nt2::container::table scale(of_size(n, 1)); - NT2_LAPACK_VERIFY(gebal(boost::proto::value(a), boost::proto::value(scale), ilo, ihi, 'B')); - tie(vr, w, vl) = nseig(a, nt2::policy(), nt2::policy()); - NT2_LAPACK_VERIFY(gebak(boost::proto::value(vr), - boost::proto::value(scale), ilo, ihi, 'B', 'R')); - NT2_LAPACK_VERIFY(gebak(boost::proto::value(vl), - boost::proto::value(scale), ilo, ihi, 'B', 'L')); - boost::proto::child_c<1>(a1) = w; - boost::proto::child_c<0>(a1) = vr; - boost::proto::child_c<2>(a1) = vl; - } - - }; -} } - -#endif - - diff --git a/inst/include/nt2/linalg/functions/tied/planerot.hpp b/inst/include/nt2/linalg/functions/tied/planerot.hpp deleted file mode 100644 index 1f02c4f..0000000 --- a/inst/include/nt2/linalg/functions/tied/planerot.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TIED_PLANEROT_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TIED_PLANEROT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // This version of planerot is called whenever a tie(...) = planerot(...) is captured - // before assign is resolved. As a tieable function, planerot retrieves rhs/lhs - // pair as inputs - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( planerot_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_)) - ((node_)) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::type child0; - typedef typename meta::strip::type dest0_t; - typedef typename dest0_t::value_type value_t; - typedef nt2::table tab_t; - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - - child0& rot(boost::proto::child_c<0>(a1)); - rot = nt2::eye(of_size(2, 2), meta::as_()); - const value_t x1 = boost::proto::child_c<0>(a0)(first_index<1>(boost::proto::child_c<0>(a0))); - const value_t x2 = boost::proto::child_c<0>(a0)(last_index<1>(boost::proto::child_c<0>(a0))); - value_t r = nt2::hypot(x1, x2); - if (x2) - { - rot(1, 1) = rot(2, 2) = x1; - rot(1, 2) = x2; - rot(2, 1) = -rot(1, 2); - rot *= nt2::rec(r); - } - results(r, a1, N1()); - } - - private: - //========================================================================== - // INTERNAL ONLY - // potentially fills the second arg out - //========================================================================== - BOOST_FORCEINLINE - void results(const value_t, A1 &, boost::mpl::long_<1> const&) const{} - - BOOST_FORCEINLINE - void results(const value_t r, A1 & a1, boost::mpl::long_<2> const&) const - { - tab_t y(of_size(2, 1)); - y(1) = r; y(2) = nt2::Zero(); - boost::proto::child_c<1>(a1) = y; - } - - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/tied/qrdelete.hpp b/inst/include/nt2/linalg/functions/tied/qrdelete.hpp deleted file mode 100644 index 162b5db..0000000 --- a/inst/include/nt2/linalg/functions/tied/qrdelete.hpp +++ /dev/null @@ -1,187 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TIED_QRDELETE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TIED_QRDELETE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Capture a tie(l, u, p) = qrdelete(...) at assign time and resolve to optimized call - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( qrdelete_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_)) - ((node_)) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::type child0; - typedef typename A0::value_type value_t; - typedef table tab_t; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - char orient = choice(a0, N0()); - del(a0, a1, orient, N1()); - } - - private: - //========================================================================== - // INTERNAL ONLY - //========================================================================== - BOOST_FORCEINLINE - char choice(A0 const &, boost::mpl::long_<3> const &) const - { - return 'c'; - } - - BOOST_FORCEINLINE - char choice(A0 const & a0, boost::mpl::long_<4> const &) const - { - return boost::proto::value(boost::proto::child_c<3>(a0)); - } - - - //========================================================================== - // INTERNAL ONLY - // fill the args out - //========================================================================== - BOOST_FORCEINLINE - void del(A0& a0, A1 & a1, const char& orient, boost::mpl::long_<1> const&) const - { - tab_t r1; - BOOST_AUTO_TPL(q1, boost::proto::child_c<0>(a1)); - do_it(a0,orient,q1,r1); - } - - BOOST_FORCEINLINE - void del(A0& a0, A1 & a1, const char& orient, boost::mpl::long_<2> const&) const - { - BOOST_AUTO_TPL(r1, boost::proto::child_c<1>(a1)); - BOOST_AUTO_TPL(q1, boost::proto::child_c<0>(a1)); - do_it(a0,orient,q1,r1); - } - - template < class Q1, class R1> BOOST_FORCEINLINE - void do_it(A0& a0, const char& orient, Q1 & q1, R1 & r1) const - { - BOOST_AUTO_TPL(q, boost::proto::child_c<0>(a0)); - BOOST_AUTO_TPL(r, boost::proto::child_c<1>(a0)); - size_t j = boost::proto::child_c<2>(a0); - table > g; - size_t n = size(r, 2); - size_t m = size(r, 1); - if (orient == 'c') - { - // remove the j-th column. n = number of columns in modified r. - r1 = nt2::cath(r(nt2::_, nt2::_(1, j-1)), r(nt2::_,nt2::_(j+1, nt2::end_))); - q1 = q; - --n; - // r now has nonzeros below the diagonal in columns j through n. - // r = [x | x x x [x x x x - // 0 | x x x 0 * * x - // 0 | + x x g 0 0 * * - // 0 | 0 + x ---> 0 0 0 * - // 0 | 0 0 + 0 0 0 0 - // 0 | 0 0 0] 0 0 0 0] - // use givens rotations to zero the +'s, one at a time, from left to right. - - for(size_t k = j; k <= nt2::min(n,m-1); ++k) - { - BOOST_AUTO_TPL(p, nt2::cons(k, k+1)); - tie(g,r1(p, k)) = nt2::planerot(r1(p,k)); - if (k < n) - { - r1(p,nt2::_(k+1, n)) = nt2::mtimes(g,r1(p,nt2::_(k+1, n))); - } - q1(nt2::_,p) = nt2::mtimes(q1(nt2::_,p), nt2::ct(g)); - } - // if q is not square, q is from economy size qr(a,0). - // both q and r need further adjustments. - size_t mq = size(q, 1); - size_t nq = size(q, 2); - if (mq != nq) - { - r1(m,nt2::_)=_(); - q1(nt2::_,nq)=_(); - } - } - else - { - r1 = r; - // this permutes row 1 of q*r to row j of q(p,:)*r - if (j != 1) - { - BOOST_AUTO_TPL(p, nt2::cath(nt2::cath(j, nt2::_(size_t(1), j-1)), nt2::_(j+1, m))); - q1 = q(p,nt2::_); - } - table fqrt = nt2::colvect(q1(1,nt2::_)); - // fqrt is the transpose of the first row of q. - // fqrt = [x [1 - // - - - // + g 0 - // + ---> 0 - // + 0 - // + 0 - // +] 0] - // - // use givens rotations to zero the +'s, one at a time, from bottom to top. - // the result will have a "1" in the first entry. - // - // apply the same rotations to r, which becomes upper hessenberg. - // r = [x x x x [* * * * - // ------- ------- - // x x x g * * * * - // x x ---> * * * - // x * * - // 0 0 0 0 * - // 0 0 0 0] 0 0 0 0] - // - // under (the transpose of) the same rotations, q becomes - // q = [x | x x x x x [1 | 0 0 0 0 0 - // --|---------- --|---------- - // x | x x x x x g' 0 | * * * * * - // x | x x x x x ---> 0 | * * * * * - // x | x x x x x 0 | * * * * * - // x | x x x x x 0 | * * * * * - // x | x x x x x] 0 | * * * * *] - - for(size_t i = m; i >= 2; --i) - { - BOOST_AUTO_TPL(p, nt2::cons(i-1, i)); - nt2::tie(g, fqrt(p)) = nt2::planerot(fqrt(p)); - // tab_t rr = r1(p,nt2::_(i-1, n)); - r1(p,nt2::_(i-1, n)) = nt2::mtimes(g, r1(p,nt2::_(i-1, n))); - // tab_t qq = q1(nt2::_,p); - q1(nt2::_,p) = nt2::mtimes(q1(nt2::_,p), nt2::ct(g)); - } - // the boxed off (---) parts of q and r are the desired factors. - tab_t qq = q1(nt2::_(2, nt2::end_),_(2, nt2::end_)); - q1 = qq; - tab_t rr = r1(_(2, nt2::end_),nt2::_); - r1 = rr; - } - } - - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/tied/qrinsert.hpp b/inst/include/nt2/linalg/functions/tied/qrinsert.hpp deleted file mode 100644 index c703b9d..0000000 --- a/inst/include/nt2/linalg/functions/tied/qrinsert.hpp +++ /dev/null @@ -1,175 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TIED_QRINSERT_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TIED_QRINSERT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // Capture a tie(l, u, p) = qrinsert(...) at assign time and resolve to optimized call - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( qrinsert_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_)) - ((node_)) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::type child0; - typedef typename A0::value_type value_t; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - char orient = choice(a0, N0()); - insert(a0, a1, orient, N1()); - } - - private: - //========================================================================== - // INTERNAL ONLY - //========================================================================== - BOOST_FORCEINLINE - char choice(A0 const &, boost::mpl::long_<4> const &) const - { - return 'c'; - } - - BOOST_FORCEINLINE - char choice(A0 const & a0, boost::mpl::long_<5> const &) const - { - return boost::proto::value(boost::proto::child_c<4>(a0)); - } - - - //========================================================================== - // INTERNAL ONLY - //========================================================================== - BOOST_FORCEINLINE - void insert(A0& a0, A1 & a1, const char& orient, boost::mpl::long_<1> const&) const - { - table r1; - BOOST_AUTO_TPL(q1, boost::proto::child_c<0>(a1)); - do_it(a0,orient,q1,r1); - } - - BOOST_FORCEINLINE - void insert(A0& a0, A1 & a1, const char& orient, boost::mpl::long_<2> const&) const - { - BOOST_AUTO_TPL(r1, boost::proto::child_c<1>(a1)); - BOOST_AUTO_TPL(q1, boost::proto::child_c<0>(a1)); - do_it(a0,orient,q1,r1); - } - - template < class Q1, class R1> BOOST_FORCEINLINE - void do_it(A0& a0, const char& orient, Q1 & q1, R1 & r1) const - { - BOOST_AUTO_TPL(q, boost::proto::child_c<0>(a0)); - BOOST_AUTO_TPL(r, boost::proto::child_c<1>(a0)); - size_t j = boost::proto::child_c<2>(a0); - BOOST_AUTO_TPL(x, boost::proto::child_c<3>(a0)); - table > g; - size_t n = size(r, 2); - size_t m = size(r, 1); - if (orient == 'c') - { - // Make room and insert x before j-th column. - r1.resize(nt2::of_size(m, n+1)); - q1 = q; - r1(nt2::_,nt2::_(1, j-1)) = r(nt2::_,nt2::_(1, j-1)); - r1(nt2::_,nt2::_(j+1, n+1)) = r(nt2::_,nt2::_(j, n)); - r1(nt2::_,j) = nt2::mtimes(nt2::ct(q), x); - ++n; - // now r has nonzeros below the diagonal in the j-th column, - // and "extra" zeros on the diagonal in later columns. - // r = [x x x x x [x x x x x - // 0 x x x x g 0 x x x x - // 0 0 + x x ---> 0 0 * * * - // 0 0 + 0 x 0 0 0 * * - // 0 0 + 0 0] 0 0 0 0 *] - // use givens rotations to zero the +'s, one at a time, from bottom to top. - // - // q is treated to (the transpose of) the same rotations. - // q = [x x x x x g' [x x * * * - // x x x x x ---> x x * * * - // x x x x x x x * * * - // x x x x x x x * * * - // x x x x x] x x * * *] - for(size_t k = m-1; k >= j; --k) - { - BOOST_AUTO_TPL(p, nt2::cons(k, k+1)); - nt2::tie(g,r1(p,j)) = nt2::planerot(r1(p,j)); - if (k < n) - { - r1(p,nt2::_(k+1, n)) = nt2::mtimes(g, r1(p,nt2::_(k+1, n))); - } - q1(nt2::_,p) = nt2::mtimes(q1(nt2::_,p), nt2::ct(g)); - } - - } - else - { - r1 = catv(x, r); - q1 = catv(cath(nt2::One(), nt2::zeros(1,m,meta::as_())), - cath(nt2::zeros(m,1,meta::as_()),q)); - // now r is upper hessenberg. - // r = [x x x x [* * * * - // + x x x g * * * - // + x x ---> * * - // + x * - // + 0 0 0 0 - // 0 0 0 0 0 0 0 0 - // 0 0 0 0] 0 0 0 0] - // use givens rotations to zero the +'s, one at a time, from top to bottom. - // - // q is treated to (the transpose of) the same rotations and then a row - // permutation, p, to shuffle row 1 down to row j. - // q = [1 | 0 0 0 0 0 [# # # # # # [* * * * * * - // --|---------- ----------- ----------- - // 0 | x x x x x g' * * * * * * p * * * * * * - // 0 | x x x x x ---> * * * * * * ---> # # # # # # - // 0 | x x x x x * * * * * * * * * * * * - // 0 | x x x x x * * * * * * * * * * * * - // 0 | x x x x x] * * * * * *] * * * * * *] - - for(size_t i = 1; i <= nt2::min(m,n); ++i) - { - BOOST_AUTO_TPL(p, nt2::cons(i, i+1)); - nt2::tie(g,r1(p,i)) = nt2::planerot(r1(p,i)); - r1(p,nt2::_(i+1, n)) = nt2::mtimes(g, r1(p,nt2::_(i+1, n))); - q1(nt2::_,p) = nt2::mtimes(q1(nt2::_,p), nt2::ct(g)); - } - // this permutes row 1 of q*r to row j of q(p,:)*r - if (j != 1) - { - BOOST_AUTO_TPL(p, nt2::cath(nt2::cath(nt2::_(size_t(2), j), size_t(1)), nt2::_(j+1, m+1))); - table qq = q1(p,nt2::_); - q1 = qq; - } - - - } - } - - }; -} } - -#endif - diff --git a/inst/include/nt2/linalg/functions/tied/rref.hpp b/inst/include/nt2/linalg/functions/tied/rref.hpp deleted file mode 100644 index 209f73c..0000000 --- a/inst/include/nt2/linalg/functions/tied/rref.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TIED_RREF_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TIED_RREF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - //============================================================================ - // This version of rref is called whenever a tie(...) = rref(...) is captured - // before assign is resolved. As a tieable function, rref retrieves rhs/lhs - // pair as inputs - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( rref_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_)) - ((node_)) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::type child0; - typedef typename meta::strip::type dest0_t; - typedef typename dest0_t::value_type value_type; - typedef typename meta:: - call< nt2::tag:: - factorization::rref_(child0, value_type, nt2::ext::in_place_) - >::type fact_t; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - // Copy data in output first - boost::proto::child_c<0>(a1) = boost::proto::child_c<0>(a0); - // Retrieve the tol options - value_type tol = choice(a0, N0()); - - // Factorize in place - fact_t f = factorization::rref(boost::proto::child_c<0>(a1),tol,nt2::in_place_); - decomp(f, a1, N1()); - } - - private: - //========================================================================== - // INTERNAL ONLY - // get tol - //========================================================================== - BOOST_FORCEINLINE - value_type choice(A0 const &, boost::mpl::long_<1> const &) const - { - return Mone(); - } - - BOOST_FORCEINLINE - value_type choice(A0 const & a0, boost::mpl::long_<2> const &) const - { - return boost::proto::value(boost::proto::child_c<1>(a0)); - } - //========================================================================== - // INTERNAL ONLY - // fill the args out - //========================================================================== - BOOST_FORCEINLINE - void decomp(fact_t const& f, A1 & a1, boost::mpl::long_<1> const&) const - { - boost::proto::child_c<0>(a1) = f.rref(); - } - - BOOST_FORCEINLINE - void decomp(fact_t const& f, A1 & a1, boost::mpl::long_<2> const&) const - { - boost::proto::child_c<0>(a1) = f.rref(); - boost::proto::child_c<1>(a1) = f.jb(); - } - - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/tied/rsf2csf.hpp b/inst/include/nt2/linalg/functions/tied/rsf2csf.hpp deleted file mode 100644 index 7c9c266..0000000 --- a/inst/include/nt2/linalg/functions/tied/rsf2csf.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TIED_RSF2CSF_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TIED_RSF2CSF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rsf2csf_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef typename meta::as_complex::type result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& ) const - { - BOOST_ASSERT_MSG(is_real(a0), "diagonal is not valid"); - return result_type(a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( rsf2csf_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_ - )) - ((node_ - )) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::value_type child0; - typedef typename child0::value_type type_t; - typedef typename nt2::meta::as_real::type rtype_t; - typedef typename nt2::meta::as_complex::type ctype_t; - typedef nt2::memory::container desired_semantic; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - eval(a0, a1, N0(), N1()); - } - - //========================================================================== - /// INTERNAL ONLY - [v, w] = rsf2csf(cv, cw) - BOOST_FORCEINLINE - void eval ( A0& a0, A1& a1 - , boost::mpl::long_<2> const& - , boost::mpl::long_<2> const& - ) const - { - auto& u = boost::proto::child_c<0>(a0); - auto& t = boost::proto::child_c<1>(a0); - container::table cu = u; - container::table ct = t; - - std::size_t n = size(t, 2); - for(std::size_t m = n; m >= 2; --m) - { - std::size_t dm = dec(m); - if(t(m, dm)) - { - auto k = _(dm, m); - auto mu = nseig(t(k,k)) - t(m,m); - rtype_t r = rec(hypot(mu(1), t(m,m-1))); - ctype_t c = mu(1)*r; - ctype_t s = ct(m,m-1)*r; - container::table g = cons(of_size(2, 2), conj(c), -s, s, c); - ct(k,_(m-1, n)) = mtimes(g, ct(k,_(m-1, n))); - ct(_(1, m),k) = mtimes(ct(_(1, m),k), ctrans(g)); - cu(_,k) = mtimes(u(_,k), ctrans(g)); - ct(m,dm) = 0; - } - } - assign_swap(boost::proto::child_c<0>(a1), cu); - assign_swap(boost::proto::child_c<1>(a1), ct); - } - - - - }; -} } - -#endif diff --git a/inst/include/nt2/linalg/functions/tksolve.hpp b/inst/include/nt2/linalg/functions/tksolve.hpp deleted file mode 100644 index 6ffc7c6..0000000 --- a/inst/include/nt2/linalg/functions/tksolve.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TKSOLVE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TKSOLVE_HPP_INCLUDED -#include -#include -#include -#include - -/*! - * \ingroup algebra - * \defgroup algebra_tksolve tksolve - * - * \par Description - * function x = tksolve(r, b, tran) - * ksolve solves block triangular kronecker system. - * x = tksolve(r, b, tran) solves - * a*x = b if tran = '', - * a'*x = b if tran = 't', - * where a = kron(eye,r) + kron(transpose(r),eye). - * default: tran = ''. - * - * \par Header file - * - * \code - * #include - * \endcode - * - * - * \param a the matrix or vector expression a - * - * \param type of tksolve required - * - * \par Notes - * Call the dedicated lapack routines available on the target. - * \par - * -**/ - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag tksolve_ of functor tksolve - * in namespace nt2::tag for toolbox algebra - **/ - struct tksolve_ : ext::abstract_ { typedef ext::abstract_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_tksolve_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_tksolve_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_tksolve_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::tksolve_, tksolve, 2) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::tksolve_, tksolve, 3) - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/trace.hpp b/inst/include/nt2/linalg/functions/trace.hpp deleted file mode 100644 index f7be827..0000000 --- a/inst/include/nt2/linalg/functions/trace.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TRACE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TRACE_HPP_INCLUDED -#include - -/*! - * \ingroup algebra - * \defgroup algebra_trace trace - * - * \par Description - * Elementary Least square - * - * \par Header file - * - * \code - * #include - * \endcode - * - * - * \param a the matrix a on entry, destroyed on exit - * - * \param b the second member(s) b on entry, solution on exit - * - * \par Notes - * Call the dedicated lapack routines available on the target. - * \par - * -**/ -//============================================================================== -// trace actual class forward declaration -//============================================================================== - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag trace_ of functor trace - * in namespace nt2::tag for toolbox algebra - **/ - struct trace_ : ext::unspecified_ { typedef ext::unspecified_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_trace_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_trace_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_trace_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::trace_, trace, 1) -} - -#endif diff --git a/inst/include/nt2/linalg/functions/trsm.hpp b/inst/include/nt2/linalg/functions/trsm.hpp deleted file mode 100644 index e7d61ab..0000000 --- a/inst/include/nt2/linalg/functions/trsm.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TRSM_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TRSM_HPP_INCLUDED - -/*! - @file - @brief Defines and implements lapack trsm function that solve a triangular - system -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /// @brief Defines trsm function tag - struct trsm_ : ext::abstract_ - { - /// INTERNAL ONLY - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_trsm_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_trsm_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_trsm_; - } - - /*! - @brief - - @param - @param - - @return - **/ - - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::trsm_, trsm - , (A0 const&)(A1 const&)(A2 const&) (A3 const&) - (A4 const&) (A5&) - , 6 - ); - - NT2_FUNCTION_IMPLEMENTATION_TPL (tag::trsm_, trsm - , (A0 const&)(A1 const&)(A2 const&) (A3 const&) - (A4 const&) (A5&) (A6 const&) - , 7 - ); - - -} - -#endif diff --git a/inst/include/nt2/linalg/functions/trsolve.hpp b/inst/include/nt2/linalg/functions/trsolve.hpp deleted file mode 100644 index ab04eca..0000000 --- a/inst/include/nt2/linalg/functions/trsolve.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_TRSOLVE_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_TRSOLVE_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief trsolve generic tag - - Represents the trsolve function in generic contexts. - - @par Models: - Hierarchy - **/ - struct trsolve_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_trsolve_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_trsolve_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_trsolve_; - } - - /*! - @brief Triangular resolution - - **/ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::trsolve_, trsolve, 3) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::trsolve_, trsolve, 4) - - /// @overload - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::trsolve_, trsolve, 2) - - /// INTERNAL ONLY - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::trsolve_, trsolve, 7) - -} - - -#endif - diff --git a/inst/include/nt2/linalg/functions/vecnorm.hpp b/inst/include/nt2/linalg/functions/vecnorm.hpp deleted file mode 100644 index 1d93a77..0000000 --- a/inst/include/nt2/linalg/functions/vecnorm.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_FUNCTIONS_VECNORM_HPP_INCLUDED -#define NT2_LINALG_FUNCTIONS_VECNORM_HPP_INCLUDED - -#include - -/*! - * \ingroup algebra - * \defgroup algebra_vecnorm vecnorm - * - * \par Description - * norm of a vector - * - * vecnorm(v) is the same as vecnorm(v,2). - * vecnorm(v,p) returns the p-norm of v defined as sum(abs(v).^p)^(1/p). - * vecnorm(v,inf) returns the largest element of abs(v). - * vecnorm(v,-inf) returns the smallest element of abs(v). - * by convention, nan is returned if x or v contains nans. - * - * \par Header file - * - * \code - * #include - * \endcode - * - * - * \param v the expresion vector, even if matricial it is always considered as a - * big column vector - * - * \param the type of norm required - * - * - - * \par Notes - * Call norm to obtain the Matlab behaviour on matrices. - * \par - * -**/ - -namespace nt2 { namespace tag - { - /*! - * \brief Define the tag vecnorm_ of functor vecnorm - * in namespace nt2::tag for toolbox algebra - **/ - struct vecnorm_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_vecnorm_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_vecnorm_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_vecnorm_; - } - - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(nt2::tag::vecnorm_, vecnorm, 1) - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(nt2::tag::vecnorm_, vecnorm, 2) -} - -#endif diff --git a/inst/include/nt2/linalg/include/functions/balance.hpp b/inst/include/nt2/linalg/include/functions/balance.hpp deleted file mode 100644 index 3ba6cce..0000000 --- a/inst/include/nt2/linalg/include/functions/balance.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_BALANCE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_BALANCE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/cdf2rdf.hpp b/inst/include/nt2/linalg/include/functions/cdf2rdf.hpp deleted file mode 100644 index f63066b..0000000 --- a/inst/include/nt2/linalg/include/functions/cdf2rdf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_CDF2RDF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_CDF2RDF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/chol.hpp b/inst/include/nt2/linalg/include/functions/chol.hpp deleted file mode 100644 index fbe9f65..0000000 --- a/inst/include/nt2/linalg/include/functions/chol.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_CHOL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_CHOL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/clinsolve.hpp b/inst/include/nt2/linalg/include/functions/clinsolve.hpp deleted file mode 100644 index fdfa81c..0000000 --- a/inst/include/nt2/linalg/include/functions/clinsolve.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_CLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_CLINSOLVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/cond.hpp b/inst/include/nt2/linalg/include/functions/cond.hpp deleted file mode 100644 index 113b100..0000000 --- a/inst/include/nt2/linalg/include/functions/cond.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_COND_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_COND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/cov.hpp b/inst/include/nt2/linalg/include/functions/cov.hpp deleted file mode 100644 index d22b3df..0000000 --- a/inst/include/nt2/linalg/include/functions/cov.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_COV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_COV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/cross.hpp b/inst/include/nt2/linalg/include/functions/cross.hpp deleted file mode 100644 index 43155be..0000000 --- a/inst/include/nt2/linalg/include/functions/cross.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_CROSS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_CROSS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/csne.hpp b/inst/include/nt2/linalg/include/functions/csne.hpp deleted file mode 100644 index 9bf1eef..0000000 --- a/inst/include/nt2/linalg/include/functions/csne.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_CSNE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_CSNE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/det.hpp b/inst/include/nt2/linalg/include/functions/det.hpp deleted file mode 100644 index 5a04cf9..0000000 --- a/inst/include/nt2/linalg/include/functions/det.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_DET_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_DET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/expm.hpp b/inst/include/nt2/linalg/include/functions/expm.hpp deleted file mode 100644 index 38a3d7a..0000000 --- a/inst/include/nt2/linalg/include/functions/expm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_EXPM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_EXPM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/eyeminus.hpp b/inst/include/nt2/linalg/include/functions/eyeminus.hpp deleted file mode 100644 index cb8fab3..0000000 --- a/inst/include/nt2/linalg/include/functions/eyeminus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_EYEMINUS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_EYEMINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/eyeplus.hpp b/inst/include/nt2/linalg/include/functions/eyeplus.hpp deleted file mode 100644 index 07b933a..0000000 --- a/inst/include/nt2/linalg/include/functions/eyeplus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_EYEPLUS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_EYEPLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/funm.hpp b/inst/include/nt2/linalg/include/functions/funm.hpp deleted file mode 100644 index 594a0b8..0000000 --- a/inst/include/nt2/linalg/include/functions/funm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_FUNM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_FUNM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gbcon.hpp b/inst/include/nt2/linalg/include/functions/gbcon.hpp deleted file mode 100644 index 85af345..0000000 --- a/inst/include/nt2/linalg/include/functions/gbcon.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GBCON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GBCON_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gbsv.hpp b/inst/include/nt2/linalg/include/functions/gbsv.hpp deleted file mode 100644 index 13a38d3..0000000 --- a/inst/include/nt2/linalg/include/functions/gbsv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GBSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GBSV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gebak.hpp b/inst/include/nt2/linalg/include/functions/gebak.hpp deleted file mode 100644 index df89637..0000000 --- a/inst/include/nt2/linalg/include/functions/gebak.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEBAK_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEBAK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gebal.hpp b/inst/include/nt2/linalg/include/functions/gebal.hpp deleted file mode 100644 index 9f33f50..0000000 --- a/inst/include/nt2/linalg/include/functions/gebal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEBAL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEBAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gecon.hpp b/inst/include/nt2/linalg/include/functions/gecon.hpp deleted file mode 100644 index 9ae6f0a..0000000 --- a/inst/include/nt2/linalg/include/functions/gecon.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GECON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GECON_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geesx.hpp b/inst/include/nt2/linalg/include/functions/geesx.hpp deleted file mode 100644 index 81ea5e2..0000000 --- a/inst/include/nt2/linalg/include/functions/geesx.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEESX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEESX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geesx1.hpp b/inst/include/nt2/linalg/include/functions/geesx1.hpp deleted file mode 100644 index ca4cdf1..0000000 --- a/inst/include/nt2/linalg/include/functions/geesx1.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEESX1_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEESX1_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geesx_no_w.hpp b/inst/include/nt2/linalg/include/functions/geesx_no_w.hpp deleted file mode 100644 index 962a674..0000000 --- a/inst/include/nt2/linalg/include/functions/geesx_no_w.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEESX_NO_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEESX_NO_W_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geesxw.hpp b/inst/include/nt2/linalg/include/functions/geesxw.hpp deleted file mode 100644 index 908b923..0000000 --- a/inst/include/nt2/linalg/include/functions/geesxw.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEESXW_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEESXW_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geev_w.hpp b/inst/include/nt2/linalg/include/functions/geev_w.hpp deleted file mode 100644 index 021a685..0000000 --- a/inst/include/nt2/linalg/include/functions/geev_w.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEEV_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEEV_W_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geev_wvr.hpp b/inst/include/nt2/linalg/include/functions/geev_wvr.hpp deleted file mode 100644 index 01fc102..0000000 --- a/inst/include/nt2/linalg/include/functions/geev_wvr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEEV_WVR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEEV_WVR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geev_wvrvl.hpp b/inst/include/nt2/linalg/include/functions/geev_wvrvl.hpp deleted file mode 100644 index a97cf6d..0000000 --- a/inst/include/nt2/linalg/include/functions/geev_wvrvl.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEEV_WVRVL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEEV_WVRVL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gels.hpp b/inst/include/nt2/linalg/include/functions/gels.hpp deleted file mode 100644 index ff78a2d..0000000 --- a/inst/include/nt2/linalg/include/functions/gels.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GELS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GELS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gelsy.hpp b/inst/include/nt2/linalg/include/functions/gelsy.hpp deleted file mode 100644 index 68b23e9..0000000 --- a/inst/include/nt2/linalg/include/functions/gelsy.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GELSY_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GELSY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gemsv.hpp b/inst/include/nt2/linalg/include/functions/gemsv.hpp deleted file mode 100644 index a52d8ca..0000000 --- a/inst/include/nt2/linalg/include/functions/gemsv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEMSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEMSV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geneig.hpp b/inst/include/nt2/linalg/include/functions/geneig.hpp deleted file mode 100644 index 0a20d0c..0000000 --- a/inst/include/nt2/linalg/include/functions/geneig.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GENEIG_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GENEIG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geqp3.hpp b/inst/include/nt2/linalg/include/functions/geqp3.hpp deleted file mode 100644 index 1a35a3f..0000000 --- a/inst/include/nt2/linalg/include/functions/geqp3.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEQP3_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEQP3_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/geqrf.hpp b/inst/include/nt2/linalg/include/functions/geqrf.hpp deleted file mode 100644 index f7efa0e..0000000 --- a/inst/include/nt2/linalg/include/functions/geqrf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GEQRF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GEQRF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gesv.hpp b/inst/include/nt2/linalg/include/functions/gesv.hpp deleted file mode 100644 index 90d5b3d..0000000 --- a/inst/include/nt2/linalg/include/functions/gesv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GESV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GESV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gesvd.hpp b/inst/include/nt2/linalg/include/functions/gesvd.hpp deleted file mode 100644 index 1144fc4..0000000 --- a/inst/include/nt2/linalg/include/functions/gesvd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GESVD_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GESVD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gesvd_w.hpp b/inst/include/nt2/linalg/include/functions/gesvd_w.hpp deleted file mode 100644 index e8ce8a7..0000000 --- a/inst/include/nt2/linalg/include/functions/gesvd_w.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GESVD_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GESVD_W_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gesvx.hpp b/inst/include/nt2/linalg/include/functions/gesvx.hpp deleted file mode 100644 index aa20d16..0000000 --- a/inst/include/nt2/linalg/include/functions/gesvx.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GESVX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GESVX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/getrf.hpp b/inst/include/nt2/linalg/include/functions/getrf.hpp deleted file mode 100644 index a0fbada..0000000 --- a/inst/include/nt2/linalg/include/functions/getrf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GETRF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GETRF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/getri.hpp b/inst/include/nt2/linalg/include/functions/getri.hpp deleted file mode 100644 index 30f24d0..0000000 --- a/inst/include/nt2/linalg/include/functions/getri.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GETRI_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GETRI_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/ggev_w.hpp b/inst/include/nt2/linalg/include/functions/ggev_w.hpp deleted file mode 100644 index fc96473..0000000 --- a/inst/include/nt2/linalg/include/functions/ggev_w.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GGEV_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GGEV_W_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/ggev_wvr.hpp b/inst/include/nt2/linalg/include/functions/ggev_wvr.hpp deleted file mode 100644 index 154f92c..0000000 --- a/inst/include/nt2/linalg/include/functions/ggev_wvr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GGEV_WVR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GGEV_WVR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/ggev_wvrvl.hpp b/inst/include/nt2/linalg/include/functions/ggev_wvrvl.hpp deleted file mode 100644 index 40501f9..0000000 --- a/inst/include/nt2/linalg/include/functions/ggev_wvrvl.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GGEV_WVRVL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GGEV_WVRVL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/gqr.hpp b/inst/include/nt2/linalg/include/functions/gqr.hpp deleted file mode 100644 index 8e16817..0000000 --- a/inst/include/nt2/linalg/include/functions/gqr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_GQR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_GQR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/hsev.hpp b/inst/include/nt2/linalg/include/functions/hsev.hpp deleted file mode 100644 index e36cbd0..0000000 --- a/inst/include/nt2/linalg/include/functions/hsev.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_HSEV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_HSEV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/hsev_w.hpp b/inst/include/nt2/linalg/include/functions/hsev_w.hpp deleted file mode 100644 index d1fef64..0000000 --- a/inst/include/nt2/linalg/include/functions/hsev_w.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_HSEV_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_HSEV_W_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/hsev_wu.hpp b/inst/include/nt2/linalg/include/functions/hsev_wu.hpp deleted file mode 100644 index bb46512..0000000 --- a/inst/include/nt2/linalg/include/functions/hsev_wu.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_HSEV_WU_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_HSEV_WU_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/inv.hpp b/inst/include/nt2/linalg/include/functions/inv.hpp deleted file mode 100644 index f686f93..0000000 --- a/inst/include/nt2/linalg/include/functions/inv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_INV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_INV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/langb.hpp b/inst/include/nt2/linalg/include/functions/langb.hpp deleted file mode 100644 index e77a6e9..0000000 --- a/inst/include/nt2/linalg/include/functions/langb.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LANGB_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LANGB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/lange.hpp b/inst/include/nt2/linalg/include/functions/lange.hpp deleted file mode 100644 index 2383687..0000000 --- a/inst/include/nt2/linalg/include/functions/lange.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LANGE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LANGE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/lansy.hpp b/inst/include/nt2/linalg/include/functions/lansy.hpp deleted file mode 100644 index 7dd63f3..0000000 --- a/inst/include/nt2/linalg/include/functions/lansy.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LANSY_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LANSY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/laswp.hpp b/inst/include/nt2/linalg/include/functions/laswp.hpp deleted file mode 100644 index 0e64c27..0000000 --- a/inst/include/nt2/linalg/include/functions/laswp.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LASWP_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LASWP_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/ldl.hpp b/inst/include/nt2/linalg/include/functions/ldl.hpp deleted file mode 100644 index e59b992..0000000 --- a/inst/include/nt2/linalg/include/functions/ldl.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LDL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LDL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/linsolve.hpp b/inst/include/nt2/linalg/include/functions/linsolve.hpp deleted file mode 100644 index a4b8f11..0000000 --- a/inst/include/nt2/linalg/include/functions/linsolve.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LINSOLVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/llspgen.hpp b/inst/include/nt2/linalg/include/functions/llspgen.hpp deleted file mode 100644 index 9a35e91..0000000 --- a/inst/include/nt2/linalg/include/functions/llspgen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LLSPGEN_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LLSPGEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/logm.hpp b/inst/include/nt2/linalg/include/functions/logm.hpp deleted file mode 100644 index 2280697..0000000 --- a/inst/include/nt2/linalg/include/functions/logm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LOGM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LOGM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/lu.hpp b/inst/include/nt2/linalg/include/functions/lu.hpp deleted file mode 100644 index 0890142..0000000 --- a/inst/include/nt2/linalg/include/functions/lu.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LU_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LU_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/lyapunov.hpp b/inst/include/nt2/linalg/include/functions/lyapunov.hpp deleted file mode 100644 index 4eebe49..0000000 --- a/inst/include/nt2/linalg/include/functions/lyapunov.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_LYAPUNOV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_LYAPUNOV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mcsne.hpp b/inst/include/nt2/linalg/include/functions/mcsne.hpp deleted file mode 100644 index ac8cb74..0000000 --- a/inst/include/nt2/linalg/include/functions/mcsne.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MCSNE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MCSNE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/minuseye.hpp b/inst/include/nt2/linalg/include/functions/minuseye.hpp deleted file mode 100644 index 1346d13..0000000 --- a/inst/include/nt2/linalg/include/functions/minuseye.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MINUSEYE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MINUSEYE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mldivide.hpp b/inst/include/nt2/linalg/include/functions/mldivide.hpp deleted file mode 100644 index 7ff192d..0000000 --- a/inst/include/nt2/linalg/include/functions/mldivide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MLDIVIDE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MLDIVIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mlinsolve.hpp b/inst/include/nt2/linalg/include/functions/mlinsolve.hpp deleted file mode 100644 index 52959e4..0000000 --- a/inst/include/nt2/linalg/include/functions/mlinsolve.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MLINSOLVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mnorm.hpp b/inst/include/nt2/linalg/include/functions/mnorm.hpp deleted file mode 100644 index 7b82132..0000000 --- a/inst/include/nt2/linalg/include/functions/mnorm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MNORM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MNORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mnorm1.hpp b/inst/include/nt2/linalg/include/functions/mnorm1.hpp deleted file mode 100644 index cb1a2d1..0000000 --- a/inst/include/nt2/linalg/include/functions/mnorm1.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MNORM1_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MNORM1_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mnormest.hpp b/inst/include/nt2/linalg/include/functions/mnormest.hpp deleted file mode 100644 index d985b60..0000000 --- a/inst/include/nt2/linalg/include/functions/mnormest.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MNORMEST_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MNORMEST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mnormfro.hpp b/inst/include/nt2/linalg/include/functions/mnormfro.hpp deleted file mode 100644 index 9f907a0..0000000 --- a/inst/include/nt2/linalg/include/functions/mnormfro.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MNORMFRO_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MNORMFRO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mnorminf.hpp b/inst/include/nt2/linalg/include/functions/mnorminf.hpp deleted file mode 100644 index ce9d2bd..0000000 --- a/inst/include/nt2/linalg/include/functions/mnorminf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MNORMINF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MNORMINF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mpower.hpp b/inst/include/nt2/linalg/include/functions/mpower.hpp deleted file mode 100644 index c008450..0000000 --- a/inst/include/nt2/linalg/include/functions/mpower.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MPOWER_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MPOWER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mqr.hpp b/inst/include/nt2/linalg/include/functions/mqr.hpp deleted file mode 100644 index 4d5d827..0000000 --- a/inst/include/nt2/linalg/include/functions/mqr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MQR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MQR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/mtimes.hpp b/inst/include/nt2/linalg/include/functions/mtimes.hpp deleted file mode 100644 index 3a23905..0000000 --- a/inst/include/nt2/linalg/include/functions/mtimes.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_MTIMES_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_MTIMES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/norm.hpp b/inst/include/nt2/linalg/include/functions/norm.hpp deleted file mode 100644 index 026fa2f..0000000 --- a/inst/include/nt2/linalg/include/functions/norm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_NORM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_NORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/nseig.hpp b/inst/include/nt2/linalg/include/functions/nseig.hpp deleted file mode 100644 index 991f31b..0000000 --- a/inst/include/nt2/linalg/include/functions/nseig.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_NSEIG_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_NSEIG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/null.hpp b/inst/include/nt2/linalg/include/functions/null.hpp deleted file mode 100644 index d4d4657..0000000 --- a/inst/include/nt2/linalg/include/functions/null.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_NULL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_NULL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/options.hpp b/inst/include/nt2/linalg/include/functions/options.hpp deleted file mode 100644 index 0f5a085..0000000 --- a/inst/include/nt2/linalg/include/functions/options.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_OPTIONS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_OPTIONS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/orth.hpp b/inst/include/nt2/linalg/include/functions/orth.hpp deleted file mode 100644 index 70268d6..0000000 --- a/inst/include/nt2/linalg/include/functions/orth.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_ORTH_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_ORTH_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/pinv.hpp b/inst/include/nt2/linalg/include/functions/pinv.hpp deleted file mode 100644 index ee120aa..0000000 --- a/inst/include/nt2/linalg/include/functions/pinv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_PINV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_PINV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/planerot.hpp b/inst/include/nt2/linalg/include/functions/planerot.hpp deleted file mode 100644 index 127ca2c..0000000 --- a/inst/include/nt2/linalg/include/functions/planerot.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_PLANEROT_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_PLANEROT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/plinsolve.hpp b/inst/include/nt2/linalg/include/functions/plinsolve.hpp deleted file mode 100644 index 32cac68..0000000 --- a/inst/include/nt2/linalg/include/functions/plinsolve.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_PLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_PLINSOLVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/pluseye.hpp b/inst/include/nt2/linalg/include/functions/pluseye.hpp deleted file mode 100644 index 0892e8e..0000000 --- a/inst/include/nt2/linalg/include/functions/pluseye.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_PLUSEYE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_PLUSEYE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/pocon.hpp b/inst/include/nt2/linalg/include/functions/pocon.hpp deleted file mode 100644 index dd7641f..0000000 --- a/inst/include/nt2/linalg/include/functions/pocon.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_POCON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_POCON_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/poly.hpp b/inst/include/nt2/linalg/include/functions/poly.hpp deleted file mode 100644 index 8794e4a..0000000 --- a/inst/include/nt2/linalg/include/functions/poly.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_POLY_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_POLY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/pomsv.hpp b/inst/include/nt2/linalg/include/functions/pomsv.hpp deleted file mode 100644 index a3b1e74..0000000 --- a/inst/include/nt2/linalg/include/functions/pomsv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_POMSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_POMSV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/posv.hpp b/inst/include/nt2/linalg/include/functions/posv.hpp deleted file mode 100644 index d66a20e..0000000 --- a/inst/include/nt2/linalg/include/functions/posv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_POSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_POSV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/posvx.hpp b/inst/include/nt2/linalg/include/functions/posvx.hpp deleted file mode 100644 index 411739c..0000000 --- a/inst/include/nt2/linalg/include/functions/posvx.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_POSVX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_POSVX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/potrf.hpp b/inst/include/nt2/linalg/include/functions/potrf.hpp deleted file mode 100644 index 33fc1f2..0000000 --- a/inst/include/nt2/linalg/include/functions/potrf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_POTRF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_POTRF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/qr.hpp b/inst/include/nt2/linalg/include/functions/qr.hpp deleted file mode 100644 index 61e7175..0000000 --- a/inst/include/nt2/linalg/include/functions/qr.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_QR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_QR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/qrdelete.hpp b/inst/include/nt2/linalg/include/functions/qrdelete.hpp deleted file mode 100644 index c12b1a6..0000000 --- a/inst/include/nt2/linalg/include/functions/qrdelete.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_QRDELETE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_QRDELETE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/qrinsert.hpp b/inst/include/nt2/linalg/include/functions/qrinsert.hpp deleted file mode 100644 index cb444fb..0000000 --- a/inst/include/nt2/linalg/include/functions/qrinsert.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_QRINSERT_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_QRINSERT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/rank.hpp b/inst/include/nt2/linalg/include/functions/rank.hpp deleted file mode 100644 index a5b84f3..0000000 --- a/inst/include/nt2/linalg/include/functions/rank.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_RANK_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_RANK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/rcond.hpp b/inst/include/nt2/linalg/include/functions/rcond.hpp deleted file mode 100644 index 68c7b1f..0000000 --- a/inst/include/nt2/linalg/include/functions/rcond.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_RCOND_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_RCOND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/rot90.hpp b/inst/include/nt2/linalg/include/functions/rot90.hpp deleted file mode 100644 index e464045..0000000 --- a/inst/include/nt2/linalg/include/functions/rot90.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_ROT90_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_ROT90_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/rref.hpp b/inst/include/nt2/linalg/include/functions/rref.hpp deleted file mode 100644 index 1f55547..0000000 --- a/inst/include/nt2/linalg/include/functions/rref.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_RREF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_RREF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/rsf2csf.hpp b/inst/include/nt2/linalg/include/functions/rsf2csf.hpp deleted file mode 100644 index 405e892..0000000 --- a/inst/include/nt2/linalg/include/functions/rsf2csf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_RSF2CSF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_RSF2CSF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/balance.hpp b/inst/include/nt2/linalg/include/functions/scalar/balance.hpp deleted file mode 100644 index 82b8119..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/balance.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_BALANCE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_BALANCE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/cdf2rdf.hpp b/inst/include/nt2/linalg/include/functions/scalar/cdf2rdf.hpp deleted file mode 100644 index 13b0dcb..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/cdf2rdf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CDF2RDF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CDF2RDF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/chol.hpp b/inst/include/nt2/linalg/include/functions/scalar/chol.hpp deleted file mode 100644 index 56cb228..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/chol.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CHOL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CHOL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/clinsolve.hpp b/inst/include/nt2/linalg/include/functions/scalar/clinsolve.hpp deleted file mode 100644 index cae96ac..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/clinsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CLINSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/cond.hpp b/inst/include/nt2/linalg/include/functions/scalar/cond.hpp deleted file mode 100644 index 3a4c86c..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/cond.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_COND_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_COND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/cov.hpp b/inst/include/nt2/linalg/include/functions/scalar/cov.hpp deleted file mode 100644 index 7c20216..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/cov.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_COV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_COV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/cross.hpp b/inst/include/nt2/linalg/include/functions/scalar/cross.hpp deleted file mode 100644 index 971fb43..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/cross.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CROSS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CROSS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/csne.hpp b/inst/include/nt2/linalg/include/functions/scalar/csne.hpp deleted file mode 100644 index 0159d10..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/csne.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CSNE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_CSNE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/det.hpp b/inst/include/nt2/linalg/include/functions/scalar/det.hpp deleted file mode 100644 index c99bdc7..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/det.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_DET_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_DET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/expm.hpp b/inst/include/nt2/linalg/include/functions/scalar/expm.hpp deleted file mode 100644 index 98d5742..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/expm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_EXPM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_EXPM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/eyeminus.hpp b/inst/include/nt2/linalg/include/functions/scalar/eyeminus.hpp deleted file mode 100644 index 4c85d44..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/eyeminus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_EYEMINUS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_EYEMINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/eyeplus.hpp b/inst/include/nt2/linalg/include/functions/scalar/eyeplus.hpp deleted file mode 100644 index e06dbfb..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/eyeplus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_EYEPLUS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_EYEPLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/funm.hpp b/inst/include/nt2/linalg/include/functions/scalar/funm.hpp deleted file mode 100644 index 7cb8dd1..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/funm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_FUNM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_FUNM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gbcon.hpp b/inst/include/nt2/linalg/include/functions/scalar/gbcon.hpp deleted file mode 100644 index ea15abb..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gbcon.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GBCON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GBCON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gbsv.hpp b/inst/include/nt2/linalg/include/functions/scalar/gbsv.hpp deleted file mode 100644 index 8b42a71..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gbsv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GBSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GBSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gebak.hpp b/inst/include/nt2/linalg/include/functions/scalar/gebak.hpp deleted file mode 100644 index 42021d2..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gebak.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEBAK_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEBAK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gebal.hpp b/inst/include/nt2/linalg/include/functions/scalar/gebal.hpp deleted file mode 100644 index 21dbf71..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gebal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEBAL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEBAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gecon.hpp b/inst/include/nt2/linalg/include/functions/scalar/gecon.hpp deleted file mode 100644 index 14b1006..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gecon.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GECON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GECON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geesx.hpp b/inst/include/nt2/linalg/include/functions/scalar/geesx.hpp deleted file mode 100644 index a5e5b03..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geesx.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEESX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEESX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geesx1.hpp b/inst/include/nt2/linalg/include/functions/scalar/geesx1.hpp deleted file mode 100644 index c602f91..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geesx1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEESX1_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEESX1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geesx_no_w.hpp b/inst/include/nt2/linalg/include/functions/scalar/geesx_no_w.hpp deleted file mode 100644 index 587ff41..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geesx_no_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEESX_NO_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEESX_NO_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geesxw.hpp b/inst/include/nt2/linalg/include/functions/scalar/geesxw.hpp deleted file mode 100644 index 329979e..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geesxw.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEESXW_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEESXW_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geev_w.hpp b/inst/include/nt2/linalg/include/functions/scalar/geev_w.hpp deleted file mode 100644 index cb1dc43..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geev_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEEV_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEEV_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geev_wvr.hpp b/inst/include/nt2/linalg/include/functions/scalar/geev_wvr.hpp deleted file mode 100644 index 0d2e510..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geev_wvr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEEV_WVR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEEV_WVR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geev_wvrvl.hpp b/inst/include/nt2/linalg/include/functions/scalar/geev_wvrvl.hpp deleted file mode 100644 index 7c25916..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geev_wvrvl.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEEV_WVRVL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEEV_WVRVL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gels.hpp b/inst/include/nt2/linalg/include/functions/scalar/gels.hpp deleted file mode 100644 index f88a6a7..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gels.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GELS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GELS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gelsy.hpp b/inst/include/nt2/linalg/include/functions/scalar/gelsy.hpp deleted file mode 100644 index e55436a..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gelsy.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GELSY_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GELSY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gemsv.hpp b/inst/include/nt2/linalg/include/functions/scalar/gemsv.hpp deleted file mode 100644 index 40ee076..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gemsv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEMSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEMSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geneig.hpp b/inst/include/nt2/linalg/include/functions/scalar/geneig.hpp deleted file mode 100644 index 38c6dff..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geneig.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GENEIG_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GENEIG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geqp3.hpp b/inst/include/nt2/linalg/include/functions/scalar/geqp3.hpp deleted file mode 100644 index 0a932b4..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geqp3.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEQP3_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEQP3_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/geqrf.hpp b/inst/include/nt2/linalg/include/functions/scalar/geqrf.hpp deleted file mode 100644 index 1146f4b..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/geqrf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEQRF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GEQRF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gesv.hpp b/inst/include/nt2/linalg/include/functions/scalar/gesv.hpp deleted file mode 100644 index 475db0e..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gesv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GESV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GESV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gesvd.hpp b/inst/include/nt2/linalg/include/functions/scalar/gesvd.hpp deleted file mode 100644 index 1f03801..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gesvd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GESVD_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GESVD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gesvd_w.hpp b/inst/include/nt2/linalg/include/functions/scalar/gesvd_w.hpp deleted file mode 100644 index 442d53a..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gesvd_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GESVD_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GESVD_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gesvx.hpp b/inst/include/nt2/linalg/include/functions/scalar/gesvx.hpp deleted file mode 100644 index 7d0b139..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gesvx.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GESVX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GESVX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/getrf.hpp b/inst/include/nt2/linalg/include/functions/scalar/getrf.hpp deleted file mode 100644 index 9a82ad1..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/getrf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GETRF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GETRF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/getri.hpp b/inst/include/nt2/linalg/include/functions/scalar/getri.hpp deleted file mode 100644 index 86bad7b..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/getri.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GETRI_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GETRI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/ggev_w.hpp b/inst/include/nt2/linalg/include/functions/scalar/ggev_w.hpp deleted file mode 100644 index fd1a136..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/ggev_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GGEV_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GGEV_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/ggev_wvr.hpp b/inst/include/nt2/linalg/include/functions/scalar/ggev_wvr.hpp deleted file mode 100644 index 228f513..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/ggev_wvr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GGEV_WVR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GGEV_WVR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/ggev_wvrvl.hpp b/inst/include/nt2/linalg/include/functions/scalar/ggev_wvrvl.hpp deleted file mode 100644 index a841094..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/ggev_wvrvl.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GGEV_WVRVL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GGEV_WVRVL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/gqr.hpp b/inst/include/nt2/linalg/include/functions/scalar/gqr.hpp deleted file mode 100644 index 3b79340..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/gqr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GQR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_GQR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/hsev.hpp b/inst/include/nt2/linalg/include/functions/scalar/hsev.hpp deleted file mode 100644 index abcb0f2..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/hsev.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_HSEV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_HSEV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/hsev_w.hpp b/inst/include/nt2/linalg/include/functions/scalar/hsev_w.hpp deleted file mode 100644 index 29ff0d5..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/hsev_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_HSEV_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_HSEV_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/hsev_wu.hpp b/inst/include/nt2/linalg/include/functions/scalar/hsev_wu.hpp deleted file mode 100644 index 7734b3d..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/hsev_wu.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_HSEV_WU_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_HSEV_WU_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/inv.hpp b/inst/include/nt2/linalg/include/functions/scalar/inv.hpp deleted file mode 100644 index 29b7199..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/inv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_INV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_INV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/langb.hpp b/inst/include/nt2/linalg/include/functions/scalar/langb.hpp deleted file mode 100644 index 94bba63..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/langb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LANGB_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LANGB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/lange.hpp b/inst/include/nt2/linalg/include/functions/scalar/lange.hpp deleted file mode 100644 index 1cdb2d5..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/lange.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LANGE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LANGE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/laswp.hpp b/inst/include/nt2/linalg/include/functions/scalar/laswp.hpp deleted file mode 100644 index 537ea06..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/laswp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LASWP_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LASWP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/ldl.hpp b/inst/include/nt2/linalg/include/functions/scalar/ldl.hpp deleted file mode 100644 index 6724561..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/ldl.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LDL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LDL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/linsolve.hpp b/inst/include/nt2/linalg/include/functions/scalar/linsolve.hpp deleted file mode 100644 index f3098ec..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/linsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LINSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/llspgen.hpp b/inst/include/nt2/linalg/include/functions/scalar/llspgen.hpp deleted file mode 100644 index e475659..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/llspgen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LLSPGEN_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LLSPGEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/logm.hpp b/inst/include/nt2/linalg/include/functions/scalar/logm.hpp deleted file mode 100644 index 1a571fe..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/logm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LOGM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LOGM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/lu.hpp b/inst/include/nt2/linalg/include/functions/scalar/lu.hpp deleted file mode 100644 index e2dad8f..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/lu.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LU_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LU_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/lyapunov.hpp b/inst/include/nt2/linalg/include/functions/scalar/lyapunov.hpp deleted file mode 100644 index da938bf..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/lyapunov.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LYAPUNOV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_LYAPUNOV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mcsne.hpp b/inst/include/nt2/linalg/include/functions/scalar/mcsne.hpp deleted file mode 100644 index 860be95..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mcsne.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MCSNE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MCSNE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/minuseye.hpp b/inst/include/nt2/linalg/include/functions/scalar/minuseye.hpp deleted file mode 100644 index cb71b29..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/minuseye.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MINUSEYE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MINUSEYE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mldivide.hpp b/inst/include/nt2/linalg/include/functions/scalar/mldivide.hpp deleted file mode 100644 index 68921d4..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mldivide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MLDIVIDE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MLDIVIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mlinsolve.hpp b/inst/include/nt2/linalg/include/functions/scalar/mlinsolve.hpp deleted file mode 100644 index d633247..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mlinsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MLINSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mnorm.hpp b/inst/include/nt2/linalg/include/functions/scalar/mnorm.hpp deleted file mode 100644 index efbba6c..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mnorm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mnorm1.hpp b/inst/include/nt2/linalg/include/functions/scalar/mnorm1.hpp deleted file mode 100644 index cfb4fea..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mnorm1.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORM1_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORM1_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mnormest.hpp b/inst/include/nt2/linalg/include/functions/scalar/mnormest.hpp deleted file mode 100644 index 37517a6..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mnormest.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORMEST_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORMEST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mnormfro.hpp b/inst/include/nt2/linalg/include/functions/scalar/mnormfro.hpp deleted file mode 100644 index bbe68b3..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mnormfro.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORMFRO_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORMFRO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mnorminf.hpp b/inst/include/nt2/linalg/include/functions/scalar/mnorminf.hpp deleted file mode 100644 index c3c9486..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mnorminf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORMINF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MNORMINF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mpower.hpp b/inst/include/nt2/linalg/include/functions/scalar/mpower.hpp deleted file mode 100644 index ab02b02..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mpower.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MPOWER_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MPOWER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mqr.hpp b/inst/include/nt2/linalg/include/functions/scalar/mqr.hpp deleted file mode 100644 index 14398b3..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mqr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MQR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MQR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/mtimes.hpp b/inst/include/nt2/linalg/include/functions/scalar/mtimes.hpp deleted file mode 100644 index 536b330..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/mtimes.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MTIMES_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_MTIMES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/norm.hpp b/inst/include/nt2/linalg/include/functions/scalar/norm.hpp deleted file mode 100644 index 1ef8cfd..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/norm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_NORM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_NORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/nseig.hpp b/inst/include/nt2/linalg/include/functions/scalar/nseig.hpp deleted file mode 100644 index f18689a..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/nseig.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_NSEIG_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_NSEIG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/null.hpp b/inst/include/nt2/linalg/include/functions/scalar/null.hpp deleted file mode 100644 index e60ce2e..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/null.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_NULL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_NULL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/orth.hpp b/inst/include/nt2/linalg/include/functions/scalar/orth.hpp deleted file mode 100644 index bd35026..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/orth.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_ORTH_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_ORTH_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/pinv.hpp b/inst/include/nt2/linalg/include/functions/scalar/pinv.hpp deleted file mode 100644 index 78c3a29..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/pinv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_PINV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_PINV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/planerot.hpp b/inst/include/nt2/linalg/include/functions/scalar/planerot.hpp deleted file mode 100644 index ed5d4fc..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/planerot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_PLANEROT_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_PLANEROT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/plinsolve.hpp b/inst/include/nt2/linalg/include/functions/scalar/plinsolve.hpp deleted file mode 100644 index 2b3a4be..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/plinsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_PLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_PLINSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/pluseye.hpp b/inst/include/nt2/linalg/include/functions/scalar/pluseye.hpp deleted file mode 100644 index 18c0350..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/pluseye.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_PLUSEYE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_PLUSEYE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/pocon.hpp b/inst/include/nt2/linalg/include/functions/scalar/pocon.hpp deleted file mode 100644 index f36a93a..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/pocon.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POCON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POCON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/poly.hpp b/inst/include/nt2/linalg/include/functions/scalar/poly.hpp deleted file mode 100644 index 49c76dd..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/poly.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POLY_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POLY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/pomsv.hpp b/inst/include/nt2/linalg/include/functions/scalar/pomsv.hpp deleted file mode 100644 index ef37dae..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/pomsv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POMSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POMSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/posv.hpp b/inst/include/nt2/linalg/include/functions/scalar/posv.hpp deleted file mode 100644 index 4fa0b8b..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/posv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/posvx.hpp b/inst/include/nt2/linalg/include/functions/scalar/posvx.hpp deleted file mode 100644 index 785907a..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/posvx.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POSVX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POSVX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/potrf.hpp b/inst/include/nt2/linalg/include/functions/scalar/potrf.hpp deleted file mode 100644 index b32b2df..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/potrf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POTRF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_POTRF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/qr.hpp b/inst/include/nt2/linalg/include/functions/scalar/qr.hpp deleted file mode 100644 index a4fddc2..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/qr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_QR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_QR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/qrdelete.hpp b/inst/include/nt2/linalg/include/functions/scalar/qrdelete.hpp deleted file mode 100644 index 29f2e17..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/qrdelete.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_QRDELETE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_QRDELETE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/qrinsert.hpp b/inst/include/nt2/linalg/include/functions/scalar/qrinsert.hpp deleted file mode 100644 index 034bc98..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/qrinsert.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_QRINSERT_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_QRINSERT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/rank.hpp b/inst/include/nt2/linalg/include/functions/scalar/rank.hpp deleted file mode 100644 index bd964a4..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/rank.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_RANK_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_RANK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/rcond.hpp b/inst/include/nt2/linalg/include/functions/scalar/rcond.hpp deleted file mode 100644 index 56910f1..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/rcond.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_RCOND_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_RCOND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/rot90.hpp b/inst/include/nt2/linalg/include/functions/scalar/rot90.hpp deleted file mode 100644 index 6d9a22d..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/rot90.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_ROT90_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_ROT90_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/rref.hpp b/inst/include/nt2/linalg/include/functions/scalar/rref.hpp deleted file mode 100644 index c412726..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/rref.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_RREF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_RREF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/rsf2csf.hpp b/inst/include/nt2/linalg/include/functions/scalar/rsf2csf.hpp deleted file mode 100644 index 57911f9..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/rsf2csf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_RSF2CSF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_RSF2CSF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/schur.hpp b/inst/include/nt2/linalg/include/functions/scalar/schur.hpp deleted file mode 100644 index 9eef348..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/schur.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SCHUR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SCHUR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/signm.hpp b/inst/include/nt2/linalg/include/functions/scalar/signm.hpp deleted file mode 100644 index b4d0462..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/signm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SIGNM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SIGNM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/sne.hpp b/inst/include/nt2/linalg/include/functions/scalar/sne.hpp deleted file mode 100644 index 8ea97c2..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/sne.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SNE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SNE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/sqrtm.hpp b/inst/include/nt2/linalg/include/functions/scalar/sqrtm.hpp deleted file mode 100644 index 654aa6b..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/sqrtm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SQRTM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SQRTM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/subspace.hpp b/inst/include/nt2/linalg/include/functions/scalar/subspace.hpp deleted file mode 100644 index 2146adf..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/subspace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SUBSPACE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SUBSPACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/svd.hpp b/inst/include/nt2/linalg/include/functions/scalar/svd.hpp deleted file mode 100644 index 6742926..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/svd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SVD_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SVD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/sycon.hpp b/inst/include/nt2/linalg/include/functions/scalar/sycon.hpp deleted file mode 100644 index 1e0baca..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/sycon.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYCON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYCON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/sylvester.hpp b/inst/include/nt2/linalg/include/functions/scalar/sylvester.hpp deleted file mode 100644 index e51fe22..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/sylvester.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYLVESTER_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYLVESTER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/symeig.hpp b/inst/include/nt2/linalg/include/functions/scalar/symeig.hpp deleted file mode 100644 index 1d563e4..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/symeig.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYMEIG_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYMEIG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/sysv.hpp b/inst/include/nt2/linalg/include/functions/scalar/sysv.hpp deleted file mode 100644 index 424304f..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/sysv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/sysvx.hpp b/inst/include/nt2/linalg/include/functions/scalar/sysvx.hpp deleted file mode 100644 index 9672799..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/sysvx.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYSVX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_SYSVX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/tksolve.hpp b/inst/include/nt2/linalg/include/functions/scalar/tksolve.hpp deleted file mode 100644 index 34e1fdc..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/tksolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_TKSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_TKSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/trace.hpp b/inst/include/nt2/linalg/include/functions/scalar/trace.hpp deleted file mode 100644 index e27c3a7..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/trace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_TRACE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_TRACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/trsm.hpp b/inst/include/nt2/linalg/include/functions/scalar/trsm.hpp deleted file mode 100644 index 4c1033c..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/trsm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_TRSM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_TRSM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/trsolve.hpp b/inst/include/nt2/linalg/include/functions/scalar/trsolve.hpp deleted file mode 100644 index 400f709..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/trsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_TRSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_TRSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/scalar/vecnorm.hpp b/inst/include/nt2/linalg/include/functions/scalar/vecnorm.hpp deleted file mode 100644 index b5f781e..0000000 --- a/inst/include/nt2/linalg/include/functions/scalar/vecnorm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_VECNORM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCALAR_VECNORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/schur.hpp b/inst/include/nt2/linalg/include/functions/schur.hpp deleted file mode 100644 index 8155ac3..0000000 --- a/inst/include/nt2/linalg/include/functions/schur.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SCHUR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SCHUR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/signm.hpp b/inst/include/nt2/linalg/include/functions/signm.hpp deleted file mode 100644 index 61c16de..0000000 --- a/inst/include/nt2/linalg/include/functions/signm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIGNM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIGNM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/balance.hpp b/inst/include/nt2/linalg/include/functions/simd/balance.hpp deleted file mode 100644 index f6aec51..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/balance.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_BALANCE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_BALANCE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/cdf2rdf.hpp b/inst/include/nt2/linalg/include/functions/simd/cdf2rdf.hpp deleted file mode 100644 index ae72298..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/cdf2rdf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CDF2RDF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CDF2RDF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/chol.hpp b/inst/include/nt2/linalg/include/functions/simd/chol.hpp deleted file mode 100644 index a312648..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/chol.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CHOL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CHOL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/clinsolve.hpp b/inst/include/nt2/linalg/include/functions/simd/clinsolve.hpp deleted file mode 100644 index dd639b0..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/clinsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CLINSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/cond.hpp b/inst/include/nt2/linalg/include/functions/simd/cond.hpp deleted file mode 100644 index 13b4c5b..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/cond.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_COND_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_COND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/cov.hpp b/inst/include/nt2/linalg/include/functions/simd/cov.hpp deleted file mode 100644 index 84c1eb6..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/cov.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_COV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_COV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/cross.hpp b/inst/include/nt2/linalg/include/functions/simd/cross.hpp deleted file mode 100644 index 320f539..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/cross.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CROSS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CROSS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/csne.hpp b/inst/include/nt2/linalg/include/functions/simd/csne.hpp deleted file mode 100644 index 75f86f0..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/csne.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CSNE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_CSNE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/det.hpp b/inst/include/nt2/linalg/include/functions/simd/det.hpp deleted file mode 100644 index 0daaeb6..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/det.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_DET_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_DET_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/expm.hpp b/inst/include/nt2/linalg/include/functions/simd/expm.hpp deleted file mode 100644 index 6486352..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/expm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_EXPM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_EXPM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/eyeminus.hpp b/inst/include/nt2/linalg/include/functions/simd/eyeminus.hpp deleted file mode 100644 index 5398918..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/eyeminus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_EYEMINUS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_EYEMINUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/eyeplus.hpp b/inst/include/nt2/linalg/include/functions/simd/eyeplus.hpp deleted file mode 100644 index e593668..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/eyeplus.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_EYEPLUS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_EYEPLUS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/funm.hpp b/inst/include/nt2/linalg/include/functions/simd/funm.hpp deleted file mode 100644 index af45083..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/funm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_FUNM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_FUNM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gbcon.hpp b/inst/include/nt2/linalg/include/functions/simd/gbcon.hpp deleted file mode 100644 index 54a4634..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gbcon.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GBCON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GBCON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gbsv.hpp b/inst/include/nt2/linalg/include/functions/simd/gbsv.hpp deleted file mode 100644 index 67ebcf8..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gbsv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GBSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GBSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gebak.hpp b/inst/include/nt2/linalg/include/functions/simd/gebak.hpp deleted file mode 100644 index 481e789..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gebak.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEBAK_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEBAK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gebal.hpp b/inst/include/nt2/linalg/include/functions/simd/gebal.hpp deleted file mode 100644 index bb7c945..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gebal.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEBAL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEBAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gecon.hpp b/inst/include/nt2/linalg/include/functions/simd/gecon.hpp deleted file mode 100644 index b20dd7c..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gecon.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GECON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GECON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geesx.hpp b/inst/include/nt2/linalg/include/functions/simd/geesx.hpp deleted file mode 100644 index 3d1bd65..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geesx.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEESX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEESX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geesx1.hpp b/inst/include/nt2/linalg/include/functions/simd/geesx1.hpp deleted file mode 100644 index 1e21cf9..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geesx1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEESX1_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEESX1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geesx_no_w.hpp b/inst/include/nt2/linalg/include/functions/simd/geesx_no_w.hpp deleted file mode 100644 index c014e0a..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geesx_no_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEESX_NO_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEESX_NO_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geesxw.hpp b/inst/include/nt2/linalg/include/functions/simd/geesxw.hpp deleted file mode 100644 index 5983a57..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geesxw.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEESXW_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEESXW_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geev_w.hpp b/inst/include/nt2/linalg/include/functions/simd/geev_w.hpp deleted file mode 100644 index ade8dff..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geev_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEEV_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEEV_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geev_wvr.hpp b/inst/include/nt2/linalg/include/functions/simd/geev_wvr.hpp deleted file mode 100644 index 4bc61fc..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geev_wvr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEEV_WVR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEEV_WVR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geev_wvrvl.hpp b/inst/include/nt2/linalg/include/functions/simd/geev_wvrvl.hpp deleted file mode 100644 index 67046dd..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geev_wvrvl.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEEV_WVRVL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEEV_WVRVL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gels.hpp b/inst/include/nt2/linalg/include/functions/simd/gels.hpp deleted file mode 100644 index c372fc5..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gels.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GELS_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GELS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gelsy.hpp b/inst/include/nt2/linalg/include/functions/simd/gelsy.hpp deleted file mode 100644 index 1036f46..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gelsy.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GELSY_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GELSY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gemsv.hpp b/inst/include/nt2/linalg/include/functions/simd/gemsv.hpp deleted file mode 100644 index 980a8d0..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gemsv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEMSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEMSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geneig.hpp b/inst/include/nt2/linalg/include/functions/simd/geneig.hpp deleted file mode 100644 index f2a0a0c..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geneig.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GENEIG_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GENEIG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geqp3.hpp b/inst/include/nt2/linalg/include/functions/simd/geqp3.hpp deleted file mode 100644 index a896ff4..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geqp3.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEQP3_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEQP3_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/geqrf.hpp b/inst/include/nt2/linalg/include/functions/simd/geqrf.hpp deleted file mode 100644 index d4653c1..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/geqrf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEQRF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GEQRF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gesv.hpp b/inst/include/nt2/linalg/include/functions/simd/gesv.hpp deleted file mode 100644 index ab89bae..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gesv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GESV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GESV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gesvd.hpp b/inst/include/nt2/linalg/include/functions/simd/gesvd.hpp deleted file mode 100644 index 8f56f45..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gesvd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GESVD_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GESVD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gesvd_w.hpp b/inst/include/nt2/linalg/include/functions/simd/gesvd_w.hpp deleted file mode 100644 index 73372d1..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gesvd_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GESVD_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GESVD_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gesvx.hpp b/inst/include/nt2/linalg/include/functions/simd/gesvx.hpp deleted file mode 100644 index aa5ef0d..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gesvx.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GESVX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GESVX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/getrf.hpp b/inst/include/nt2/linalg/include/functions/simd/getrf.hpp deleted file mode 100644 index 1b27bcb..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/getrf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GETRF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GETRF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/getri.hpp b/inst/include/nt2/linalg/include/functions/simd/getri.hpp deleted file mode 100644 index 88745fc..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/getri.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GETRI_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GETRI_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/ggev_w.hpp b/inst/include/nt2/linalg/include/functions/simd/ggev_w.hpp deleted file mode 100644 index ca44c48..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/ggev_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GGEV_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GGEV_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/ggev_wvr.hpp b/inst/include/nt2/linalg/include/functions/simd/ggev_wvr.hpp deleted file mode 100644 index 60a0974..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/ggev_wvr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GGEV_WVR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GGEV_WVR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/ggev_wvrvl.hpp b/inst/include/nt2/linalg/include/functions/simd/ggev_wvrvl.hpp deleted file mode 100644 index 4af76ab..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/ggev_wvrvl.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GGEV_WVRVL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GGEV_WVRVL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/gqr.hpp b/inst/include/nt2/linalg/include/functions/simd/gqr.hpp deleted file mode 100644 index 9de0a48..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/gqr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GQR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_GQR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/hsev.hpp b/inst/include/nt2/linalg/include/functions/simd/hsev.hpp deleted file mode 100644 index b9c9803..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/hsev.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_HSEV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_HSEV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/hsev_w.hpp b/inst/include/nt2/linalg/include/functions/simd/hsev_w.hpp deleted file mode 100644 index c17b267..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/hsev_w.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_HSEV_W_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_HSEV_W_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/hsev_wu.hpp b/inst/include/nt2/linalg/include/functions/simd/hsev_wu.hpp deleted file mode 100644 index 129b8cc..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/hsev_wu.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_HSEV_WU_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_HSEV_WU_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/inv.hpp b/inst/include/nt2/linalg/include/functions/simd/inv.hpp deleted file mode 100644 index 6e180a2..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/inv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_INV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_INV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/langb.hpp b/inst/include/nt2/linalg/include/functions/simd/langb.hpp deleted file mode 100644 index 82f2a7b..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/langb.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LANGB_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LANGB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/lange.hpp b/inst/include/nt2/linalg/include/functions/simd/lange.hpp deleted file mode 100644 index 01b0bb1..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/lange.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LANGE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LANGE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/laswp.hpp b/inst/include/nt2/linalg/include/functions/simd/laswp.hpp deleted file mode 100644 index 25d35a0..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/laswp.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LASWP_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LASWP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/ldl.hpp b/inst/include/nt2/linalg/include/functions/simd/ldl.hpp deleted file mode 100644 index eaaaa96..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/ldl.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LDL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LDL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/linsolve.hpp b/inst/include/nt2/linalg/include/functions/simd/linsolve.hpp deleted file mode 100644 index 63b0774..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/linsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LINSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/llspgen.hpp b/inst/include/nt2/linalg/include/functions/simd/llspgen.hpp deleted file mode 100644 index 576c0f5..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/llspgen.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LLSPGEN_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LLSPGEN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/logm.hpp b/inst/include/nt2/linalg/include/functions/simd/logm.hpp deleted file mode 100644 index ac4924a..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/logm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LOGM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LOGM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/lu.hpp b/inst/include/nt2/linalg/include/functions/simd/lu.hpp deleted file mode 100644 index d10b7c3..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/lu.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LU_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LU_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/lyapunov.hpp b/inst/include/nt2/linalg/include/functions/simd/lyapunov.hpp deleted file mode 100644 index 63443b3..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/lyapunov.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LYAPUNOV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_LYAPUNOV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mcsne.hpp b/inst/include/nt2/linalg/include/functions/simd/mcsne.hpp deleted file mode 100644 index da0cb14..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mcsne.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MCSNE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MCSNE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/minuseye.hpp b/inst/include/nt2/linalg/include/functions/simd/minuseye.hpp deleted file mode 100644 index 7f9148c..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/minuseye.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MINUSEYE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MINUSEYE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mldivide.hpp b/inst/include/nt2/linalg/include/functions/simd/mldivide.hpp deleted file mode 100644 index dda6597..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mldivide.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MLDIVIDE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MLDIVIDE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mlinsolve.hpp b/inst/include/nt2/linalg/include/functions/simd/mlinsolve.hpp deleted file mode 100644 index cff51a3..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mlinsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MLINSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mnorm.hpp b/inst/include/nt2/linalg/include/functions/simd/mnorm.hpp deleted file mode 100644 index 9392427..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mnorm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mnorm1.hpp b/inst/include/nt2/linalg/include/functions/simd/mnorm1.hpp deleted file mode 100644 index 2596007..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mnorm1.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORM1_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORM1_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mnormest.hpp b/inst/include/nt2/linalg/include/functions/simd/mnormest.hpp deleted file mode 100644 index 480bb6b..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mnormest.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORMEST_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORMEST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mnormfro.hpp b/inst/include/nt2/linalg/include/functions/simd/mnormfro.hpp deleted file mode 100644 index a8f3565..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mnormfro.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORMFRO_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORMFRO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mnorminf.hpp b/inst/include/nt2/linalg/include/functions/simd/mnorminf.hpp deleted file mode 100644 index 5a3dc4e..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mnorminf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORMINF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MNORMINF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mpower.hpp b/inst/include/nt2/linalg/include/functions/simd/mpower.hpp deleted file mode 100644 index 50038dc..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mpower.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MPOWER_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MPOWER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mqr.hpp b/inst/include/nt2/linalg/include/functions/simd/mqr.hpp deleted file mode 100644 index 8481dcc..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mqr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MQR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MQR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/mtimes.hpp b/inst/include/nt2/linalg/include/functions/simd/mtimes.hpp deleted file mode 100644 index 92312b1..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/mtimes.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MTIMES_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_MTIMES_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/norm.hpp b/inst/include/nt2/linalg/include/functions/simd/norm.hpp deleted file mode 100644 index a6e69e7..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/norm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_NORM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_NORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/nseig.hpp b/inst/include/nt2/linalg/include/functions/simd/nseig.hpp deleted file mode 100644 index adbb647..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/nseig.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_NSEIG_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_NSEIG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/null.hpp b/inst/include/nt2/linalg/include/functions/simd/null.hpp deleted file mode 100644 index 851592e..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/null.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_NULL_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_NULL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/orth.hpp b/inst/include/nt2/linalg/include/functions/simd/orth.hpp deleted file mode 100644 index cfd72c4..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/orth.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_ORTH_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_ORTH_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/pinv.hpp b/inst/include/nt2/linalg/include/functions/simd/pinv.hpp deleted file mode 100644 index 5dfa729..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/pinv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_PINV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_PINV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/planerot.hpp b/inst/include/nt2/linalg/include/functions/simd/planerot.hpp deleted file mode 100644 index 74108fa..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/planerot.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_PLANEROT_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_PLANEROT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/plinsolve.hpp b/inst/include/nt2/linalg/include/functions/simd/plinsolve.hpp deleted file mode 100644 index 60c2463..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/plinsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_PLINSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_PLINSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/pluseye.hpp b/inst/include/nt2/linalg/include/functions/simd/pluseye.hpp deleted file mode 100644 index f04088d..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/pluseye.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_PLUSEYE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_PLUSEYE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/pocon.hpp b/inst/include/nt2/linalg/include/functions/simd/pocon.hpp deleted file mode 100644 index f998af7..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/pocon.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POCON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POCON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/poly.hpp b/inst/include/nt2/linalg/include/functions/simd/poly.hpp deleted file mode 100644 index 39f87b2..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/poly.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POLY_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POLY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/pomsv.hpp b/inst/include/nt2/linalg/include/functions/simd/pomsv.hpp deleted file mode 100644 index 7ece278..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/pomsv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POMSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POMSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/posv.hpp b/inst/include/nt2/linalg/include/functions/simd/posv.hpp deleted file mode 100644 index 68911d1..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/posv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/posvx.hpp b/inst/include/nt2/linalg/include/functions/simd/posvx.hpp deleted file mode 100644 index 89b91e6..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/posvx.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POSVX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POSVX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/potrf.hpp b/inst/include/nt2/linalg/include/functions/simd/potrf.hpp deleted file mode 100644 index d89b175..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/potrf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POTRF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_POTRF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/qr.hpp b/inst/include/nt2/linalg/include/functions/simd/qr.hpp deleted file mode 100644 index a102119..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/qr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_QR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_QR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/qrdelete.hpp b/inst/include/nt2/linalg/include/functions/simd/qrdelete.hpp deleted file mode 100644 index 33fa436..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/qrdelete.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_QRDELETE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_QRDELETE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/qrinsert.hpp b/inst/include/nt2/linalg/include/functions/simd/qrinsert.hpp deleted file mode 100644 index ac44285..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/qrinsert.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_QRINSERT_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_QRINSERT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/rank.hpp b/inst/include/nt2/linalg/include/functions/simd/rank.hpp deleted file mode 100644 index 2e1caf3..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/rank.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_RANK_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_RANK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/rcond.hpp b/inst/include/nt2/linalg/include/functions/simd/rcond.hpp deleted file mode 100644 index 39b93c2..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/rcond.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_RCOND_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_RCOND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/rot90.hpp b/inst/include/nt2/linalg/include/functions/simd/rot90.hpp deleted file mode 100644 index 2f05907..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/rot90.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_ROT90_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_ROT90_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/rref.hpp b/inst/include/nt2/linalg/include/functions/simd/rref.hpp deleted file mode 100644 index a7c4a69..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/rref.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_RREF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_RREF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/rsf2csf.hpp b/inst/include/nt2/linalg/include/functions/simd/rsf2csf.hpp deleted file mode 100644 index 4781fa0..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/rsf2csf.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_RSF2CSF_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_RSF2CSF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/schur.hpp b/inst/include/nt2/linalg/include/functions/simd/schur.hpp deleted file mode 100644 index 5fa46bb..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/schur.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SCHUR_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SCHUR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/signm.hpp b/inst/include/nt2/linalg/include/functions/simd/signm.hpp deleted file mode 100644 index a11f44a..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/signm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SIGNM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SIGNM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/sne.hpp b/inst/include/nt2/linalg/include/functions/simd/sne.hpp deleted file mode 100644 index 77f29c6..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/sne.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SNE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SNE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/sqrtm.hpp b/inst/include/nt2/linalg/include/functions/simd/sqrtm.hpp deleted file mode 100644 index 952a471..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/sqrtm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SQRTM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SQRTM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/subspace.hpp b/inst/include/nt2/linalg/include/functions/simd/subspace.hpp deleted file mode 100644 index dd9fe13..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/subspace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SUBSPACE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SUBSPACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/svd.hpp b/inst/include/nt2/linalg/include/functions/simd/svd.hpp deleted file mode 100644 index 3481c36..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/svd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SVD_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SVD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/sycon.hpp b/inst/include/nt2/linalg/include/functions/simd/sycon.hpp deleted file mode 100644 index 395d8fb..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/sycon.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYCON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYCON_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/sylvester.hpp b/inst/include/nt2/linalg/include/functions/simd/sylvester.hpp deleted file mode 100644 index d590fba..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/sylvester.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYLVESTER_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYLVESTER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/symeig.hpp b/inst/include/nt2/linalg/include/functions/simd/symeig.hpp deleted file mode 100644 index 8a1229e..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/symeig.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYMEIG_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYMEIG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/sysv.hpp b/inst/include/nt2/linalg/include/functions/simd/sysv.hpp deleted file mode 100644 index b3e89f8..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/sysv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYSV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/sysvx.hpp b/inst/include/nt2/linalg/include/functions/simd/sysvx.hpp deleted file mode 100644 index 1462eb5..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/sysvx.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYSVX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_SYSVX_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/tksolve.hpp b/inst/include/nt2/linalg/include/functions/simd/tksolve.hpp deleted file mode 100644 index 4aa0ea8..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/tksolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_TKSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_TKSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/trace.hpp b/inst/include/nt2/linalg/include/functions/simd/trace.hpp deleted file mode 100644 index 16a2393..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/trace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_TRACE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_TRACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/trsm.hpp b/inst/include/nt2/linalg/include/functions/simd/trsm.hpp deleted file mode 100644 index 39024fb..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/trsm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_TRSM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_TRSM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/trsolve.hpp b/inst/include/nt2/linalg/include/functions/simd/trsolve.hpp deleted file mode 100644 index 0bb7ab9..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/trsolve.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_TRSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_TRSOLVE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/simd/vecnorm.hpp b/inst/include/nt2/linalg/include/functions/simd/vecnorm.hpp deleted file mode 100644 index e3512e1..0000000 --- a/inst/include/nt2/linalg/include/functions/simd/vecnorm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_VECNORM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SIMD_VECNORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/sne.hpp b/inst/include/nt2/linalg/include/functions/sne.hpp deleted file mode 100644 index a4ac25a..0000000 --- a/inst/include/nt2/linalg/include/functions/sne.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SNE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SNE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/sqrtm.hpp b/inst/include/nt2/linalg/include/functions/sqrtm.hpp deleted file mode 100644 index d98fa7f..0000000 --- a/inst/include/nt2/linalg/include/functions/sqrtm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SQRTM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SQRTM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/subspace.hpp b/inst/include/nt2/linalg/include/functions/subspace.hpp deleted file mode 100644 index 51d1321..0000000 --- a/inst/include/nt2/linalg/include/functions/subspace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SUBSPACE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SUBSPACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/svd.hpp b/inst/include/nt2/linalg/include/functions/svd.hpp deleted file mode 100644 index ed7e0cc..0000000 --- a/inst/include/nt2/linalg/include/functions/svd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SVD_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SVD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/sycon.hpp b/inst/include/nt2/linalg/include/functions/sycon.hpp deleted file mode 100644 index c00eb09..0000000 --- a/inst/include/nt2/linalg/include/functions/sycon.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SYCON_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SYCON_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/sylvester.hpp b/inst/include/nt2/linalg/include/functions/sylvester.hpp deleted file mode 100644 index b900aad..0000000 --- a/inst/include/nt2/linalg/include/functions/sylvester.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SYLVESTER_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SYLVESTER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/symeig.hpp b/inst/include/nt2/linalg/include/functions/symeig.hpp deleted file mode 100644 index 3149752..0000000 --- a/inst/include/nt2/linalg/include/functions/symeig.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SYMEIG_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SYMEIG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/sysv.hpp b/inst/include/nt2/linalg/include/functions/sysv.hpp deleted file mode 100644 index 93387a5..0000000 --- a/inst/include/nt2/linalg/include/functions/sysv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SYSV_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SYSV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/sysvx.hpp b/inst/include/nt2/linalg/include/functions/sysvx.hpp deleted file mode 100644 index c00de7a..0000000 --- a/inst/include/nt2/linalg/include/functions/sysvx.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_SYSVX_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_SYSVX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/tksolve.hpp b/inst/include/nt2/linalg/include/functions/tksolve.hpp deleted file mode 100644 index 64cc3ae..0000000 --- a/inst/include/nt2/linalg/include/functions/tksolve.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_TKSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_TKSOLVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/trace.hpp b/inst/include/nt2/linalg/include/functions/trace.hpp deleted file mode 100644 index 5990588..0000000 --- a/inst/include/nt2/linalg/include/functions/trace.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_TRACE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_TRACE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/trsm.hpp b/inst/include/nt2/linalg/include/functions/trsm.hpp deleted file mode 100644 index 902f38a..0000000 --- a/inst/include/nt2/linalg/include/functions/trsm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_TRSM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_TRSM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/trsolve.hpp b/inst/include/nt2/linalg/include/functions/trsolve.hpp deleted file mode 100644 index ca1bb80..0000000 --- a/inst/include/nt2/linalg/include/functions/trsolve.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_TRSOLVE_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_TRSOLVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/vecnorm.hpp b/inst/include/nt2/linalg/include/functions/vecnorm.hpp deleted file mode 100644 index ca2e9f7..0000000 --- a/inst/include/nt2/linalg/include/functions/vecnorm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_VECNORM_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_VECNORM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/include/functions/xerbla.hpp b/inst/include/nt2/linalg/include/functions/xerbla.hpp deleted file mode 100644 index 291833b..0000000 --- a/inst/include/nt2/linalg/include/functions/xerbla.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_LINALG_INCLUDE_FUNCTIONS_XERBLA_HPP_INCLUDED -#define NT2_LINALG_INCLUDE_FUNCTIONS_XERBLA_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/linalg/linalg.hpp b/inst/include/nt2/linalg/linalg.hpp deleted file mode 100644 index df987eb..0000000 --- a/inst/include/nt2/linalg/linalg.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_LINALG_LINALG_HPP_INCLUDED -#define NT2_LINALG_LINALG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/linalg/options.hpp b/inst/include/nt2/linalg/options.hpp deleted file mode 100644 index ef01908..0000000 --- a/inst/include/nt2/linalg/options.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2015 J.T. Lapreste -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_LINALG_OPTIONS_HPP_INCLUDED -#define NT2_LINALG_OPTIONS_HPP_INCLUDED - -#include -#include -#include -namespace nt2 -{ - namespace ext - { - struct matrix_ : boost::mpl::true_ {}; //used in lu, qr, geneig, nseig, symeig - struct vector_ : boost::mpl::false_ {}; //used in lu, qr, geneig, nseig, symeig - struct fast_ : boost::mpl::false_ {}; //used in linsolve - struct precise_ : boost::mpl::false_ {}; //used in linsolve - struct classic_ : boost::mpl::false_ {}; //used in linsolve - struct econ_ : boost::mpl::false_ {}; //used in svd, qr - struct eigs_ : boost::mpl::false_ {}; //used in schur - struct no_perm_ : boost::mpl::false_ {}; //used in balance - struct perm_ : boost::mpl::false_ {}; //used in balance - struct balance_ : boost::mpl::true_ {}; //used in nseig - struct no_balance_: boost::mpl::false_ {}; //used in nseig - struct alphabeta_ : boost::mpl::false_ {}; //used in geneig - struct lambda_ : boost::mpl::false_ {}; //used in geneig - struct in_place_ : boost::mpl::false_ {}; - } - - nt2::policy const matrix_; - nt2::policy const vector_; - nt2::policy const fast_; - nt2::policy const precise_; - nt2::policy const classic_; - nt2::policy const econ_; - nt2::policy const eigs_; - nt2::policy const no_perm_; - nt2::policy const perm_; - nt2::policy const balance_; - nt2::policy const no_balance_; - nt2::policy const alphabeta_; - nt2::policy const lambda_; - nt2::policy const in_place_; -} - -#endif diff --git a/inst/include/nt2/memory/constants.hpp b/inst/include/nt2/memory/constants.hpp deleted file mode 100644 index 43f5569..0000000 --- a/inst/include/nt2/memory/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_MEMORY_CONSTANTS_HPP_INCLUDED -#define NT2_MEMORY_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/memory/functions.hpp b/inst/include/nt2/memory/functions.hpp deleted file mode 100644 index c402ca9..0000000 --- a/inst/include/nt2/memory/functions.hpp +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef NT2_MEMORY_FUNCTIONS_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/functions/aligned_load.hpp b/inst/include/nt2/memory/functions/aligned_load.hpp deleted file mode 100644 index 3ba7d34..0000000 --- a/inst/include/nt2/memory/functions/aligned_load.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::aligned_load_} **/ - struct aligned_load_ {}; - #endif - using boost::simd::tag::aligned_load_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::aligned_load} **/ - template - details::unspecified aligned_load(Args&&... args); - #endif - using boost::simd::aligned_load; -} - -#endif diff --git a/inst/include/nt2/memory/functions/aligned_store.hpp b/inst/include/nt2/memory/functions/aligned_store.hpp deleted file mode 100644 index b9baff6..0000000 --- a/inst/include/nt2/memory/functions/aligned_store.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::aligned_store_} **/ - struct aligned_store_ {}; - #endif - using boost::simd::tag::aligned_store_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::aligned_store} **/ - template - details::unspecified aligned_store(Args&&... args); - #endif - using boost::simd::aligned_store; -} - -#endif diff --git a/inst/include/nt2/memory/functions/assign.hpp b/inst/include/nt2/memory/functions/assign.hpp deleted file mode 100644 index ee2ee97..0000000 --- a/inst/include/nt2/memory/functions/assign.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_ASSIGN_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_ASSIGN_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! \brief Same as \classref{boost::simd::tag::assign_} **/ - struct assign_ : ext::elementwise_ - { - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_assign_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_assign_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_assign_; - } - - /*! \brief Same as \funcref{boost::simd::assign} **/ - template - BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE assign(A0&& a0, Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_assign_( ext::adl_helper(), boost::dispatch::default_site_t(), boost::dispatch::meta::hierarchy_of_t(), boost::dispatch::meta::hierarchy_of_t()... )(static_cast(a0), static_cast(args)...) ) -} - -#endif diff --git a/inst/include/nt2/memory/functions/bitwise_cast.hpp b/inst/include/nt2/memory/functions/bitwise_cast.hpp deleted file mode 100644 index d078d89..0000000 --- a/inst/include/nt2/memory/functions/bitwise_cast.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::bitwise_cast_} **/ - struct bitwise_cast_ {}; - #endif - using boost::simd::tag::bitwise_cast_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::bitwise_cast} **/ - template - details::unspecified bitwise_cast(Args&&... args); - #endif - using boost::simd::bitwise_cast; -} - -#endif diff --git a/inst/include/nt2/memory/functions/complex/generic/assign.hpp b/inst/include/nt2/memory/functions/complex/generic/assign.hpp deleted file mode 100644 index 9ce9a71..0000000 --- a/inst/include/nt2/memory/functions/complex/generic/assign.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_COMPLEX_GENERIC_ASSIGN_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_COMPLEX_GENERIC_ASSIGN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT_IF ( assign_, tag::cpu_ - , (A0)(A1) - , (boost::is_same::type>) - , (generic_< complex_< unspecified_ > >) - (generic_< unspecified_ >) - ) - { - typedef A0& result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0, A1 const& a1) const - { - return a0 = A0(a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/memory/functions/complex/generic/splat.hpp b/inst/include/nt2/memory/functions/complex/generic/splat.hpp deleted file mode 100644 index cfbfda4..0000000 --- a/inst/include/nt2/memory/functions/complex/generic/splat.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_COMPLEX_GENERIC_SPLAT_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_COMPLEX_GENERIC_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( splat_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< unspecified_ >) - ((target_ >, X > >)) - ) - { - typedef typename A1::type result_type; - inline result_type operator()(const A0& a0, const A1&) const - { - typedef typename nt2::meta::as_real::type rtype; - return result_type(splat < rtype>(nt2::real(a0)), splat(nt2::imag(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( splat_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< unspecified_ >) - ((target_ >, X > >)) - ) - { - typedef typename A1::type result_type; - inline result_type operator()(const A0& a0, const A1&) const - { - typedef typename nt2::meta::as_real::type rtype; - return bitwise_cast(splat(nt2::real(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/memory/functions/complex/simd/common/extract.hpp b/inst/include/nt2/memory/functions/complex/simd/common/extract.hpp deleted file mode 100644 index 6380fc2..0000000 --- a/inst/include/nt2/memory/functions/complex/simd/common/extract.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_COMPLEX_SIMD_COMMON_EXTRACT_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_COMPLEX_SIMD_COMMON_EXTRACT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( extract_, tag::cpu_, (A0)(A1)(X) - , ((simd_< dry_ < arithmetic_ >, X >)) - (scalar_< integer_ >) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 a1) const - { - return bitwise_cast(extract(nt2::real(a0), a1)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/memory/functions/complex/simd/common/insert.hpp b/inst/include/nt2/memory/functions/complex/simd/common/insert.hpp deleted file mode 100644 index b3b5d67..0000000 --- a/inst/include/nt2/memory/functions/complex/simd/common/insert.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_COMPLEX_SIMD_COMMON_INSERT_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_COMPLEX_SIMD_COMMON_INSERT_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( insert_, tag::cpu_, (A0)(A1)(X)(A2) - , (scalar_< dry_ < arithmetic_ > >) - ((simd_< dry_ < arithmetic_ >, X >)) - (scalar_< integer_ >) - ) - { - typedef void result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1& a1, A2 a2) const - { - typedef typename nt2::meta::as_real::type r_t; - insert(nt2::real(a0), reinterpret_cast(a1), a2); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/memory/functions/complex/simd/common/load.hpp b/inst/include/nt2/memory/functions/complex/simd/common/load.hpp deleted file mode 100644 index d5690b5..0000000 --- a/inst/include/nt2/memory/functions/complex/simd/common/load.hpp +++ /dev/null @@ -1,16 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_COMPLEX_SIMD_COMMON_LOAD_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_COMPLEX_SIMD_COMMON_LOAD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/functions/complex/simd/common/store.hpp b/inst/include/nt2/memory/functions/complex/simd/common/store.hpp deleted file mode 100644 index a6df7e4..0000000 --- a/inst/include/nt2/memory/functions/complex/simd/common/store.hpp +++ /dev/null @@ -1,16 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_COMPLEX_SIMD_COMMON_STORE_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_COMPLEX_SIMD_COMMON_STORE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/functions/container/assign.hpp b/inst/include/nt2/memory/functions/container/assign.hpp deleted file mode 100644 index 3e6ba5d..0000000 --- a/inst/include/nt2/memory/functions/container/assign.hpp +++ /dev/null @@ -1,153 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_CONTAINER_ASSIGN_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_CONTAINER_ASSIGN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - // size is that of left-hand side - template - struct size_of - { - template - struct select; - - template - struct select<_0D, A1, Dummy> - { - typedef A1 type; - BOOST_FORCEINLINE type operator()(_0D const&, A1 const& a1) const - { - return a1; - } - }; - - template - struct select - { - typedef A0 type; - BOOST_FORCEINLINE type operator()(A0 const& a0, _0D const&) const - { - return a0; - } - }; - - template - struct select<_0D, _0D, Dummy> - { - typedef _0D type; - BOOST_FORCEINLINE type operator()(_0D const& a0, _0D const&) const - { - return a0; - } - }; - - template - struct select - { - typedef typename boost::mpl::if_c< A0::static_status, A0, A1 >::type type; - - BOOST_FORCEINLINE type operator()(A0 const& a0, A1 const& a1) const - { - return selection(a0,a1,boost::mpl::bool_()); - } - - BOOST_FORCEINLINE type - selection(A0 const& a0, A1 const&, boost::mpl::true_ const&) const - { - return a0; - } - - BOOST_FORCEINLINE type - selection(A0 const& , A1 const& a1, boost::mpl::false_ const&) const - { - return a1; - } - }; - - typedef typename boost::proto::result_of:: - child_c::type child0; - - typedef typename boost::proto::result_of:: - child_c::type child1; - - typedef typename child0::extent_type size0_t; - typedef typename child1::extent_type size1_t; - - typedef select impl; - typedef typename impl::type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return impl() ( boost::proto::child_c<0>(e).extent() - , boost::proto::child_c<1>(e).extent() - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef nt2::container::domain::template as_child_expr A0c; - typedef nt2::container::domain::template as_child_expr A1c; - typedef boost::proto::basic_expr< nt2::tag::assign_, boost::proto::list2, 2l > expr; - typedef nt2::container::generator_transform transform; - typedef typename transform::template result::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0, A1& a1) const - { - return transform()(expr::make(A0c()(a0), A1c()(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (unspecified_) - ) - { - typedef nt2::container::domain::template as_child_expr A0c; - typedef nt2::container::domain::template as_child A1c; - typedef boost::proto::basic_expr< nt2::tag::assign_, boost::proto::list2, 2l > expr; - typedef nt2::container::generator_transform transform; - typedef typename transform::template result::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0, A1 const& a1) const - { - return transform()(expr::make(A0c()(a0), A1c()(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - ((ast_)) - ) - { - typedef A0& result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0, A1 const& a1) const - { - return assign(a0, A0(a1)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/memory/functions/container/copy.hpp b/inst/include/nt2/memory/functions/container/copy.hpp deleted file mode 100644 index 88ae63a..0000000 --- a/inst/include/nt2/memory/functions/container/copy.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2014 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_CONTAINER_COPY_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_CONTAINER_COPY_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace memory -{ - template - inline void copy(In const& a, In & b ) - { - b = a; - } - - template - inline void copy(In const& a, Out& b ) - { - nt2::memory::copy(a.begin(), a.end(), b.begin()); - } - -} } - -#endif diff --git a/inst/include/nt2/memory/functions/copy.hpp b/inst/include/nt2/memory/functions/copy.hpp deleted file mode 100644 index 306ae96..0000000 --- a/inst/include/nt2/memory/functions/copy.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_COPY_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_COPY_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace memory -{ - /*! - * Wrapper around copy to encapsulate various MSVC workaround - * - **/ - template inline void copy(In begin, In end, Out dst) - { -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && BOOST_WORKAROUND(BOOST_MSVC, < 1600) - stdext::unchecked_copy(begin,end,dst); -#elif BOOST_WORKAROUND(BOOST_MSVC, > 1500) - std::copy(begin,end, stdext::make_unchecked_array_iterator(dst)); -#else - std::copy(begin,end,dst); -#endif - } - - /*! - * Same as copy, but performs a cast to avoid warnings - * - **/ - template inline void cast_copy(In begin, In end, Out dst) - { - typedef typename std::iterator_traits::value_type T; - for(; begin != end; ++begin) - *dst++ = T(*begin); - } - -} } - -#endif diff --git a/inst/include/nt2/memory/functions/extract.hpp b/inst/include/nt2/memory/functions/extract.hpp deleted file mode 100644 index 873293c..0000000 --- a/inst/include/nt2/memory/functions/extract.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_EXTRACT_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_EXTRACT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::extract_} **/ - struct extract_ {}; - #endif - using boost::simd::tag::extract_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::extract} **/ - template - details::unspecified extract(Args&&... args); - #endif - using boost::simd::extract; -} - -#endif diff --git a/inst/include/nt2/memory/functions/generic/assign.hpp b/inst/include/nt2/memory/functions/generic/assign.hpp deleted file mode 100644 index 312cbb0..0000000 --- a/inst/include/nt2/memory/functions/generic/assign.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_GENERIC_ASSIGN_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_GENERIC_ASSIGN_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0) - , (generic_ >) - (generic_ >) - ) - { - typedef A0& result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, const A0& a1) const - { - return a0 = a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( assign_, tag::cpu_ - , (A0)(A1) - , (proxy_) - (unspecified_) - ) - { - typedef A1& result_type; - - BOOST_FORCEINLINE result_type operator()(A0& a0, const A1& a1) const - { - a0 = a1; - return a1; - } - }; -} } - -#endif diff --git a/inst/include/nt2/memory/functions/insert.hpp b/inst/include/nt2/memory/functions/insert.hpp deleted file mode 100644 index 3f0c9f9..0000000 --- a/inst/include/nt2/memory/functions/insert.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_INSERT_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_INSERT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::insert_} **/ - struct insert_ {}; - #endif - using boost::simd::tag::insert_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::insert} **/ - template - details::unspecified insert(Args&&... args); - #endif - using boost::simd::insert; -} - -#endif diff --git a/inst/include/nt2/memory/functions/load.hpp b/inst/include/nt2/memory/functions/load.hpp deleted file mode 100644 index 30ca4e3..0000000 --- a/inst/include/nt2/memory/functions/load.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_LOAD_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_LOAD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::load_} **/ - struct load_ {}; - #endif - using boost::simd::tag::load_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::load} **/ - template - details::unspecified load(Args&&... args); - #endif - using boost::simd::load; -} - -#endif diff --git a/inst/include/nt2/memory/functions/make.hpp b/inst/include/nt2/memory/functions/make.hpp deleted file mode 100644 index eca2667..0000000 --- a/inst/include/nt2/memory/functions/make.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_MAKE_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_MAKE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::make_} **/ - struct make_ {}; - #endif - using boost::simd::tag::make_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::make} **/ - template - details::unspecified make(Args&&... args); - #endif - using boost::simd::make; -} - -#endif diff --git a/inst/include/nt2/memory/functions/slide.hpp b/inst/include/nt2/memory/functions/slide.hpp deleted file mode 100644 index 7556262..0000000 --- a/inst/include/nt2/memory/functions/slide.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_SLIDE_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_SLIDE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::slide_} **/ - struct slide_ {}; - #endif - using boost::simd::tag::slide_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::slide} **/ - template - details::unspecified slide(Args&&... args); - #endif - using boost::simd::slide; -} - -#endif diff --git a/inst/include/nt2/memory/functions/splat.hpp b/inst/include/nt2/memory/functions/splat.hpp deleted file mode 100644 index fe56537..0000000 --- a/inst/include/nt2/memory/functions/splat.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_SPLAT_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_SPLAT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::splat_} **/ - struct splat_ {}; - #endif - using boost::simd::tag::splat_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::splat} **/ - template - details::unspecified splat(Args&&... args); - #endif - using boost::simd::splat; -} - -#endif diff --git a/inst/include/nt2/memory/functions/store.hpp b/inst/include/nt2/memory/functions/store.hpp deleted file mode 100644 index d3408db..0000000 --- a/inst/include/nt2/memory/functions/store.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_STORE_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_STORE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::store_} **/ - struct store_ {}; - #endif - using boost::simd::tag::store_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::store} **/ - template - details::unspecified store(Args&&... args); - #endif - using boost::simd::store; -} - -#endif diff --git a/inst/include/nt2/memory/functions/stream.hpp b/inst/include/nt2/memory/functions/stream.hpp deleted file mode 100644 index 3bc6064..0000000 --- a/inst/include/nt2/memory/functions/stream.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_MEMORY_FUNCTIONS_STREAM_HPP_INCLUDED -#define NT2_MEMORY_FUNCTIONS_STREAM_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.sdk */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::stream_} **/ - struct stream_ {}; - #endif - using boost::simd::tag::stream_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::stream} **/ - template - details::unspecified stream(Args&&... args); - #endif - using boost::simd::stream; -} - -#endif diff --git a/inst/include/nt2/memory/include/functions/aligned_load.hpp b/inst/include/nt2/memory/include/functions/aligned_load.hpp deleted file mode 100644 index e711c7f..0000000 --- a/inst/include/nt2/memory/include/functions/aligned_load.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/aligned_store.hpp b/inst/include/nt2/memory/include/functions/aligned_store.hpp deleted file mode 100644 index 7acfe36..0000000 --- a/inst/include/nt2/memory/include/functions/aligned_store.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_ALIGNED_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/assign.hpp b/inst/include/nt2/memory/include/functions/assign.hpp deleted file mode 100644 index 291e17a..0000000 --- a/inst/include/nt2/memory/include/functions/assign.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_ASSIGN_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_ASSIGN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/bitwise_cast.hpp b/inst/include/nt2/memory/include/functions/bitwise_cast.hpp deleted file mode 100644 index ff5ec1a..0000000 --- a/inst/include/nt2/memory/include/functions/bitwise_cast.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_BITWISE_CAST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/char_helper.hpp b/inst/include/nt2/memory/include/functions/char_helper.hpp deleted file mode 100644 index 32813c4..0000000 --- a/inst/include/nt2/memory/include/functions/char_helper.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_CHAR_HELPER_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_CHAR_HELPER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/check_ptr.hpp b/inst/include/nt2/memory/include/functions/check_ptr.hpp deleted file mode 100644 index 03e9443..0000000 --- a/inst/include/nt2/memory/include/functions/check_ptr.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_CHECK_PTR_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_CHECK_PTR_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/copy.hpp b/inst/include/nt2/memory/include/functions/copy.hpp deleted file mode 100644 index 718260f..0000000 --- a/inst/include/nt2/memory/include/functions/copy.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_COPY_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_COPY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/extract.hpp b/inst/include/nt2/memory/include/functions/extract.hpp deleted file mode 100644 index 233e2c2..0000000 --- a/inst/include/nt2/memory/include/functions/extract.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_EXTRACT_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_EXTRACT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/insert.hpp b/inst/include/nt2/memory/include/functions/insert.hpp deleted file mode 100644 index a7d0c52..0000000 --- a/inst/include/nt2/memory/include/functions/insert.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_INSERT_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_INSERT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/load.hpp b/inst/include/nt2/memory/include/functions/load.hpp deleted file mode 100644 index 12608d9..0000000 --- a/inst/include/nt2/memory/include/functions/load.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_LOAD_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/make.hpp b/inst/include/nt2/memory/include/functions/make.hpp deleted file mode 100644 index 8734bce..0000000 --- a/inst/include/nt2/memory/include/functions/make.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_MAKE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_MAKE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/aligned_load.hpp b/inst/include/nt2/memory/include/functions/scalar/aligned_load.hpp deleted file mode 100644 index 36ebaef..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/aligned_load.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_LOAD_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/aligned_store.hpp b/inst/include/nt2/memory/include/functions/scalar/aligned_store.hpp deleted file mode 100644 index 92aede1..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/aligned_store.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_STORE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ALIGNED_STORE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/assign.hpp b/inst/include/nt2/memory/include/functions/scalar/assign.hpp deleted file mode 100644 index b0a2823..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/assign.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ASSIGN_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_ASSIGN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/bitwise_cast.hpp b/inst/include/nt2/memory/include/functions/scalar/bitwise_cast.hpp deleted file mode 100644 index 7520e2b..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/bitwise_cast.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_BITWISE_CAST_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_BITWISE_CAST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/copy.hpp b/inst/include/nt2/memory/include/functions/scalar/copy.hpp deleted file mode 100644 index 9fc5f00..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/copy.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_COPY_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_COPY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/extract.hpp b/inst/include/nt2/memory/include/functions/scalar/extract.hpp deleted file mode 100644 index 4726141..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/extract.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_EXTRACT_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_EXTRACT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/insert.hpp b/inst/include/nt2/memory/include/functions/scalar/insert.hpp deleted file mode 100644 index 509dd33..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/insert.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_INSERT_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_INSERT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/load.hpp b/inst/include/nt2/memory/include/functions/scalar/load.hpp deleted file mode 100644 index dc94551..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/load.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_LOAD_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_LOAD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/make.hpp b/inst/include/nt2/memory/include/functions/scalar/make.hpp deleted file mode 100644 index 6242f4a..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/make.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_MAKE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_MAKE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/slide.hpp b/inst/include/nt2/memory/include/functions/scalar/slide.hpp deleted file mode 100644 index 2c942ed..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/slide.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_SLIDE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_SLIDE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/splat.hpp b/inst/include/nt2/memory/include/functions/scalar/splat.hpp deleted file mode 100644 index 1ba818b..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/splat.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_SPLAT_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_SPLAT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/store.hpp b/inst/include/nt2/memory/include/functions/scalar/store.hpp deleted file mode 100644 index 0a84414..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/store.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_STORE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_STORE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/scalar/stream.hpp b/inst/include/nt2/memory/include/functions/scalar/stream.hpp deleted file mode 100644 index 471831a..0000000 --- a/inst/include/nt2/memory/include/functions/scalar/stream.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_STREAM_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SCALAR_STREAM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/aligned_load.hpp b/inst/include/nt2/memory/include/functions/simd/aligned_load.hpp deleted file mode 100644 index be33b01..0000000 --- a/inst/include/nt2/memory/include/functions/simd/aligned_load.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_ALIGNED_LOAD_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_ALIGNED_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/aligned_store.hpp b/inst/include/nt2/memory/include/functions/simd/aligned_store.hpp deleted file mode 100644 index fd27efa..0000000 --- a/inst/include/nt2/memory/include/functions/simd/aligned_store.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_ALIGNED_STORE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_ALIGNED_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/assign.hpp b/inst/include/nt2/memory/include/functions/simd/assign.hpp deleted file mode 100644 index 530ae3b..0000000 --- a/inst/include/nt2/memory/include/functions/simd/assign.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_ASSIGN_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_ASSIGN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/bitwise_cast.hpp b/inst/include/nt2/memory/include/functions/simd/bitwise_cast.hpp deleted file mode 100644 index 15f0e1b..0000000 --- a/inst/include/nt2/memory/include/functions/simd/bitwise_cast.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_BITWISE_CAST_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_BITWISE_CAST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/copy.hpp b/inst/include/nt2/memory/include/functions/simd/copy.hpp deleted file mode 100644 index b68adcd..0000000 --- a/inst/include/nt2/memory/include/functions/simd/copy.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_COPY_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_COPY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/extract.hpp b/inst/include/nt2/memory/include/functions/simd/extract.hpp deleted file mode 100644 index 0c1f44f..0000000 --- a/inst/include/nt2/memory/include/functions/simd/extract.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_EXTRACT_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_EXTRACT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/insert.hpp b/inst/include/nt2/memory/include/functions/simd/insert.hpp deleted file mode 100644 index 413df65..0000000 --- a/inst/include/nt2/memory/include/functions/simd/insert.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_INSERT_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_INSERT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/load.hpp b/inst/include/nt2/memory/include/functions/simd/load.hpp deleted file mode 100644 index b3bcc6e..0000000 --- a/inst/include/nt2/memory/include/functions/simd/load.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_LOAD_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_LOAD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/make.hpp b/inst/include/nt2/memory/include/functions/simd/make.hpp deleted file mode 100644 index 722a9a2..0000000 --- a/inst/include/nt2/memory/include/functions/simd/make.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_MAKE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_MAKE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/slide.hpp b/inst/include/nt2/memory/include/functions/simd/slide.hpp deleted file mode 100644 index f2cf4b1..0000000 --- a/inst/include/nt2/memory/include/functions/simd/slide.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_SLIDE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_SLIDE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/splat.hpp b/inst/include/nt2/memory/include/functions/simd/splat.hpp deleted file mode 100644 index dd0ec3b..0000000 --- a/inst/include/nt2/memory/include/functions/simd/splat.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_SPLAT_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/store.hpp b/inst/include/nt2/memory/include/functions/simd/store.hpp deleted file mode 100644 index 69ee73b..0000000 --- a/inst/include/nt2/memory/include/functions/simd/store.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_STORE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/simd/stream.hpp b/inst/include/nt2/memory/include/functions/simd/stream.hpp deleted file mode 100644 index a376cf6..0000000 --- a/inst/include/nt2/memory/include/functions/simd/stream.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_STREAM_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SIMD_STREAM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/slide.hpp b/inst/include/nt2/memory/include/functions/slide.hpp deleted file mode 100644 index ae97cd8..0000000 --- a/inst/include/nt2/memory/include/functions/slide.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SLIDE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SLIDE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/splat.hpp b/inst/include/nt2/memory/include/functions/splat.hpp deleted file mode 100644 index be071ed..0000000 --- a/inst/include/nt2/memory/include/functions/splat.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_SPLAT_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_SPLAT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/store.hpp b/inst/include/nt2/memory/include/functions/store.hpp deleted file mode 100644 index 262bb80..0000000 --- a/inst/include/nt2/memory/include/functions/store.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_STORE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_STORE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/stream.hpp b/inst/include/nt2/memory/include/functions/stream.hpp deleted file mode 100644 index 652a3a9..0000000 --- a/inst/include/nt2/memory/include/functions/stream.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_STREAM_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_STREAM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/memory/include/functions/zero_or_false.hpp b/inst/include/nt2/memory/include/functions/zero_or_false.hpp deleted file mode 100644 index 8dc05ee..0000000 --- a/inst/include/nt2/memory/include/functions/zero_or_false.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_MEMORY_INCLUDE_FUNCTIONS_ZERO_OR_FALSE_HPP_INCLUDED -#define NT2_MEMORY_INCLUDE_FUNCTIONS_ZERO_OR_FALSE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/memory/memory.hpp b/inst/include/nt2/memory/memory.hpp deleted file mode 100644 index 01af1f6..0000000 --- a/inst/include/nt2/memory/memory.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_MEMORY_MEMORY_HPP_INCLUDED -#define NT2_MEMORY_MEMORY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/constants.hpp b/inst/include/nt2/operator/constants.hpp deleted file mode 100644 index b8c5f63..0000000 --- a/inst/include/nt2/operator/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_OPERATOR_CONSTANTS_HPP_INCLUDED -#define NT2_OPERATOR_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/operator/functions.hpp b/inst/include/nt2/operator/functions.hpp deleted file mode 100644 index c91116f..0000000 --- a/inst/include/nt2/operator/functions.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef NT2_OPERATOR_FUNCTIONS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/functions/bitwise_and.hpp b/inst/include/nt2/operator/functions/bitwise_and.hpp deleted file mode 100644 index d29c628..0000000 --- a/inst/include/nt2/operator/functions/bitwise_and.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_BITWISE_AND_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_BITWISE_AND_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::bitwise_and_; - } - - using boost::simd::bitwise_and; - using boost::simd::b_and; -} - -#endif diff --git a/inst/include/nt2/operator/functions/bitwise_or.hpp b/inst/include/nt2/operator/functions/bitwise_or.hpp deleted file mode 100644 index dd3b4ee..0000000 --- a/inst/include/nt2/operator/functions/bitwise_or.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_BITWISE_OR_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_BITWISE_OR_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::bitwise_or_; - } - - using boost::simd::bitwise_or; - using boost::simd::b_or; -} - -#endif diff --git a/inst/include/nt2/operator/functions/bitwise_xor.hpp b/inst/include/nt2/operator/functions/bitwise_xor.hpp deleted file mode 100644 index c940ff6..0000000 --- a/inst/include/nt2/operator/functions/bitwise_xor.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::bitwise_xor_; - } - - using boost::simd::bitwise_xor; - using boost::simd::b_xor; -} - -#endif diff --git a/inst/include/nt2/operator/functions/cast.hpp b/inst/include/nt2/operator/functions/cast.hpp deleted file mode 100644 index 751e239..0000000 --- a/inst/include/nt2/operator/functions/cast.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_CAST_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_CAST_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the cast functor - **/ - struct cast_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_cast_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_cast_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_cast_; - } - - /*! - @brief Expression level type casting - - cast convert the value of an expression into values of a different type. - - @tparam T Type to convert a0 to. - @param a0 Expression to typecast - **/ - template BOOST_FORCEINLINE - typename meta::call const&)>::type - cast(A0 const& a0) - { - return typename make_functor::type()(a0, meta::as_()); - } - - /*! - @brief Expression level type casting - - cast convert the value of an expression into values of a different type. - - @param a0 Expression to typecast - @param c Typeclass to convert a0 to - **/ - template BOOST_FORCEINLINE - typename meta::call const&)>::type - cast(A0 const& a0, meta::as_ const& c) - { - return typename make_functor::type()(a0, c); - } -} - -#endif diff --git a/inst/include/nt2/operator/functions/casts.hpp b/inst/include/nt2/operator/functions/casts.hpp deleted file mode 100644 index 9bc9770..0000000 --- a/inst/include/nt2/operator/functions/casts.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_CASTS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_CASTS_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the casts functor - **/ - struct casts_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_casts_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_casts_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_casts_; - } - - /*! - @brief Expression level type castsing - - casts convert the value of an expression into values of a different type, with saturation. - - @tparam T Type to convert a0 to. - @param a0 Expression to typecasts - **/ - template BOOST_FORCEINLINE - typename meta::call const&)>::type - casts(A0 const& a0) - { - return typename make_functor::type()(a0, meta::as_()); - } - - /*! - @brief Expression level type castsing - - casts convert the value of an expression into values of a different type, with saturation. - - @param a0 Expression to typecasts - @param c Typeclass to convert a0 to - **/ - template BOOST_FORCEINLINE - typename meta::call const&)>::type - casts(A0 const& a0, meta::as_ const& c) - { - return typename make_functor::type()(a0, c); - } -} - -#endif diff --git a/inst/include/nt2/operator/functions/comma.hpp b/inst/include/nt2/operator/functions/comma.hpp deleted file mode 100644 index 5d8ab29..0000000 --- a/inst/include/nt2/operator/functions/comma.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMMA_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMMA_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::comma_} **/ - struct comma_ {}; - #endif - using boost::simd::tag::comma_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::comma} **/ - template - details::unspecified comma(Args&&... args); - #endif - using boost::simd::comma; -} - -#endif diff --git a/inst/include/nt2/operator/functions/complement.hpp b/inst/include/nt2/operator/functions/complement.hpp deleted file mode 100644 index 4b9f999..0000000 --- a/inst/include/nt2/operator/functions/complement.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEMENT_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEMENT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::complement_} **/ - struct complement_ {}; - #endif - using boost::simd::tag::complement_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::complement} **/ - template - details::unspecified complement(Args&&... args); - #endif - using boost::simd::complement; -} - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/divides.hpp b/inst/include/nt2/operator/functions/complex/generic/divides.hpp deleted file mode 100644 index 5106c20..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/divides.hpp +++ /dev/null @@ -1,158 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_DIVIDES_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_DIVIDES_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( divides_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename boost::dispatch::meta::as_integer::type itype; - rtype rr = nt2::abs(nt2::real(a1)); - rtype ii = nt2::abs(nt2::imag(a1)); - itype e = -if_else(lt(rr, ii), exponent(ii), exponent(rr)); - A0 aa1 = nt2::ldexp(a1, e); - rtype denom = sqr_abs(aa1); - A0 num = nt2::multiplies(a0, conj(aa1)); - A0 r = ldexp(nt2::divides(num, denom), e); - if (nt2::all(is_finite(r))) return r; - r = if_else(is_eqz(denom), nt2::multiplies(a0, copysign(Inf(), nt2::real(a1))), r); - r = if_else(is_inf(a1), nt2::multiplies(a0, rec(copysign(denom, nt2::real(a1)))), r); - return r; - } - }; - - // complex/real - BOOST_DISPATCH_IMPLEMENT ( divides_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - A0 tmp = a0/sqr_abs(a1); - return if_else(is_inf(a1), result_type(tmp), tmp*conj(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( divides_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::multiplies(a0, rec(a1)); - } - }; - - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( divides_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::divides(nt2::real(a0), a1); - } - }; - - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( divides_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > > ) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(nt2::real(a0)/nt2::real(a1), nt2::imag(a0)/nt2::real(a1)); - } - }; - - // dry/arithmetic - BOOST_DISPATCH_IMPLEMENT ( divides_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(nt2::real(a0)/a1); - } - }; - - // arithmetic/dry - BOOST_DISPATCH_IMPLEMENT ( divides_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< dry_< arithmetic_ > >) - - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(a0/nt2::real(a1)); - } - }; - - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( divides_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_cast(nt2::real(a0)/nt2::real(a1)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/if_else.hpp b/inst/include/nt2/operator/functions/complex/generic/if_else.hpp deleted file mode 100644 index 3cbae35..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/if_else.hpp +++ /dev/null @@ -1,267 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IF_ELSE_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IF_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - //complex/complex 1 -1 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A0& a1, const A0&a2) const - { - return result_type(if_else(is_nez(a0), nt2::real(a1), nt2::real(a2)), - if_else(is_nez(a0), nt2::imag(a1), nt2::imag(a2))); - } - }; - - //complex/complex 1 -1 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1) - , (generic_< logical_ >) - (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A1&a2) const - { - return result_type(if_else(a0, nt2::real(a1), nt2::real(a2)), - if_else(a0, nt2::imag(a1), nt2::imag(a2))); - } - }; - - //complex/complex 2 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1) - , (generic_< fundamental_ >) - (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A1&a2) const - { - return if_else( is_nez(a0), a1, a2 ); - } - }; - - - //dry/dry 1 -5 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1) - , (generic_< logical_ >) - (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A1&a2) const - { - return result_type(if_else(a0, nt2::real(a1), nt2::real(a2))); - } - }; - - //dry/dry 2 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1) - , (generic_< fundamental_ >) - (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A1&a2) const - { - return if_else(is_nez(a0), a1, a2); - } - }; - - //dry/complex 1 -6 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< logical_ >) - (generic_< dry_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A2 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return if_else(a0, result_type(nt2::real(a1)), a2); - } - }; - - //dry/complex 2 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< fundamental_ >) - (generic_< dry_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A2 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return if_else(is_nez(a0), a1, a2); - } - }; - - //complex/dry/ 1 -7 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< logical_ >) - (generic_< complex_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return if_else(a0, a1, result_type(nt2::real(a2))); - } - }; - - //complex/dry/ 2 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< fundamental_ >) - (generic_< complex_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return if_else(is_nez(a0), a1, a2); - } - }; - - //arithmetic/dry 1 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< logical_ >) - (generic_< arithmetic_ >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef A2 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return result_type(if_else(a0, a1, nt2::real(a2))); - } - }; - - //arithmetic/dry 2 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< fundamental_ >) - (generic_< arithmetic_ >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef A2 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return if_else(is_nez(a0), a1, a2); - } - }; - - //arithmetic/complex 1 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< logical_ >) - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A2 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return if_else(a0, result_type(a1), a2); - } - }; - - //arithmetic/complex 2 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< fundamental_ >) - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A2 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return if_else(is_nez(a0), a1, a2); - } - }; - - //dry/arithmetic/ 1 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< logical_ >) - (generic_< dry_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return result_type(if_else(a0, nt2::real(a1), a2)); - } - }; - - //dry/arithmetic_ 2 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< fundamental_ >) - (generic_< dry_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return if_else(is_nez(a0), a1, a2); - } - }; - - //complex/arithmetic/ 1 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< logical_ >) - (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return result_type(if_else(a0, a1, result_type(a2))); - } - }; - - //complex/arithmetic_ 2 - BOOST_DISPATCH_IMPLEMENT ( if_else_, tag::cpu_, (A0)(A1)(A2) - , (generic_< fundamental_ >) - (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A1 result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& a1, const A2&a2) const - { - return if_else(is_nez(a0), a1, a2); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/is_equal.hpp b/inst/include/nt2/operator/functions/complex/generic/is_equal.hpp deleted file mode 100644 index 9da9206..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/is_equal.hpp +++ /dev/null @@ -1,106 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal(nt2::real(a0),nt2::real(a1)), is_equal(nt2::imag(a0),nt2::imag(a1))); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_equal_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_equal(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal(nt2::real(a0), a1), is_real(a0)); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal(nt2::real(a0), nt2::real(a1)), is_real(a0)); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_equal_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal(nt2::real(a1),a0), is_real(a1)); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_equal_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal(nt2::real(a1),nt2::real(a0)), is_real(a1)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/is_greater.hpp b/inst/include/nt2/operator/functions/complex/generic/is_greater.hpp deleted file mode 100644 index 192e41c..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/is_greater.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_GREATER_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_GREATER_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_greater_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_greater(nt2::real(a0),nt2::real(a1)); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_greater_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_greater(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_greater_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_greater(nt2::real(a0), a1); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_greater_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_greater(nt2::real(a0), nt2::real(a1)); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_greater_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_greater(nt2::real(a1),a0); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_greater_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_greater(nt2::real(a1),nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/is_greater_equal.hpp b/inst/include/nt2/operator/functions/complex/generic/is_greater_equal.hpp deleted file mode 100644 index 7146486..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/is_greater_equal.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_GREATER_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_GREATER_EQUAL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_greater_equal(nt2::real(a0),nt2::real(a1)); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_greater_equal(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_greater_equal(nt2::real(a0), a1); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_greater_equal(nt2::real(a0), nt2::real(a1)); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_greater_equal(a0, nt2::real(a1)); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_greater_equal_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_greater_equal(nt2::real(a0),nt2::real(a1)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/is_less.hpp b/inst/include/nt2/operator/functions/complex/generic/is_less.hpp deleted file mode 100644 index 6f7086f..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/is_less.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_LESS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_LESS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_less(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_less(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_less(nt2::real(a0), a1); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_less(nt2::real(a0), nt2::real(a1)); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_less(nt2::real(a1),a0); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_less_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_less(nt2::real(a1),nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/is_less_equal.hpp b/inst/include/nt2/operator/functions/complex/generic/is_less_equal.hpp deleted file mode 100644 index 2eeee24..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/is_less_equal.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_LESS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_less_equal(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_less_equal(nt2::real(a0), a1); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_less_equal_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_less_equal(nt2::real(a1),a0); - } - }; - - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/is_not_equal.hpp b/inst/include/nt2/operator/functions/complex/generic/is_not_equal.hpp deleted file mode 100644 index d3073c2..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/is_not_equal.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal(nt2::real(a0),nt2::real(a1)), is_not_equal(nt2::imag(a0),nt2::imag(a1))); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_equal(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal(nt2::real(a0), a1), is_nez(nt2::imag(a0))); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal(nt2::real(a0), nt2::real(a1)), is_nez(nt2::imag(a0))); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal(nt2::real(a1),a0), is_nez(nt2::imag(a1))); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal(nt2::real(a1),nt2::real(a0)), is_nez(nt2::imag(a1))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/minus.hpp b/inst/include/nt2/operator/functions/complex/generic/minus.hpp deleted file mode 100644 index 5e2a89b..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/minus.hpp +++ /dev/null @@ -1,139 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_MINUS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -// for optimize -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( minus_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return result_type( nt2::real(a0) - nt2::real(a1) - , nt2::imag(a0) - nt2::imag(a1) - ); - } - }; - - // complex/real - BOOST_DISPATCH_IMPLEMENT ( minus_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type( nt2::real(a0) - nt2::real(a1) - , -nt2::imag(a1) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( minus_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type( nt2::real(a0) - nt2::real(a1) - , nt2::imag(a0) - ); - } - }; - - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( minus_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(nt2::real(a0)-nt2::real(a1), -nt2::imag(a1)); - } - }; - - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( minus_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > > ) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(nt2::real(a0)-nt2::real(a1), nt2::imag(a0)); - } - }; - - - - // dry/arithmetic - BOOST_DISPATCH_IMPLEMENT ( minus_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(nt2::real(a0)-a1); - } - }; - - // arithmetic/dry - BOOST_DISPATCH_IMPLEMENT ( minus_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< dry_< arithmetic_ > >) - - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(a0-nt2::real(a1)); - } - }; - - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( minus_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_cast(nt2::real(a0)-nt2::real(a1)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/multiplies.hpp b/inst/include/nt2/operator/functions/complex/generic/multiplies.hpp deleted file mode 100644 index 406831f..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/multiplies.hpp +++ /dev/null @@ -1,167 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_MULTIPLIES_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_, (A0) - , ((generic_< complex_< arithmetic_ > >)) - ((generic_< complex_< arithmetic_ > >)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - typedef typename nt2::meta::as_real::type r_type; - const r_type a = nt2::real(a0); - const r_type b = nt2::imag(a0); - const r_type c = nt2::real(a1); - const r_type d = nt2::imag(a1); - result_type r(fma(a,c,-b*d), fma(a,d,b*c)); -#ifndef BOOST_SIMD_NO_INVALIDS - typedef typename meta::as_logical::type l_type; - l_type test = is_finite(r); - if (nt2::all(test)) return r; - l_type cur = nt2::logical_andnot(is_real(a0), test); - if (nt2::any(cur)) - { - r = if_else(cur, nt2::multiplies(a, a1), r); - test = logical_or(test, cur); - if (nt2::all(test)) return r; - } - cur = nt2::logical_andnot(is_imag(a0), test); - if (nt2::any(cur)) - { - r = if_else(cur, nt2::mul_i(nt2::multiplies(b, a1)), r); - test = logical_or(test, cur); - if (nt2::all(test)) return r; - } - cur = nt2::logical_andnot(is_real(a1), test); - if (nt2::any(cur)) - { - r = if_else(cur, nt2::multiplies(c, a0), r); - test = logical_or(test, cur); - if (nt2::all(test)) return r; - } - cur = nt2::logical_andnot(is_imag(a1), test); - if (nt2::any(cur)) - { - r = if_else(cur, nt2::mul_i(nt2::multiplies(d, a0)), r); - test = logical_or(test, cur); - if (nt2::all(test)) return r; - } - #endif - return r; - } - }; - - // complex/real - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_, (A0)(A1) - , ((generic_< arithmetic_ >)) - ((generic_< complex_< arithmetic_ > >)) - ) - { - typedef A1 result_type; - typedef A0 r_type; - NT2_FUNCTOR_CALL(2) - { - r_type r = a0*nt2::real(a1); - r_type i = a0*nt2::imag(a1); -#ifndef BOOST_SIMD_NO_INVALIDS - typename meta::as_logical::type is_real_a1 = is_real(a1); - r = if_zero_else(logical_andnot(is_imag(a1), is_real_a1), r); - i = if_zero_else(is_real_a1, i); -#endif - return result_type(r, i); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_, (A0)(A1) - , ((generic_< complex_< arithmetic_ > >)) - ((generic_< arithmetic_ >)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::multiplies(a1, a0); - } - }; - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_, (A0)(A1) - , ((generic_< dry_ < arithmetic_ > >)) - ((generic_< complex_< arithmetic_ > >)) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::multiplies(nt2::real(a0), a1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_, (A0)(A1) - , ((generic_< complex_< arithmetic_ > >)) - ((generic_< dry_ < arithmetic_ > >)) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::multiplies(a0, nt2::real(a1)); - } - }; - - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( multiplies_, tag::cpu_, (A0)(A1) - , ((generic_< dry_< arithmetic_ > >)) - ((generic_< dry_< arithmetic_ > >)) - ) - { - typedef typename nt2::meta::as_dry::type result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(nt2::real(a0)*nt2::real(a1)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/plus.hpp b/inst/include/nt2/operator/functions/complex/generic/plus.hpp deleted file mode 100644 index 59d181f..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/plus.hpp +++ /dev/null @@ -1,136 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_PLUS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_PLUS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -// for optimize -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( plus_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return result_type( nt2::real(a0) + nt2::real(a1) - , nt2::imag(a0) + nt2::imag(a1) - ); - } - }; - - // complex/real - BOOST_DISPATCH_IMPLEMENT ( plus_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type( nt2::real(a0) + nt2::real(a1) - , nt2::imag(a1) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( plus_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type( nt2::real(a0) + nt2::real(a1) - , nt2::imag(a0) - ); - } - }; - - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( plus_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(nt2::real(a1)+nt2::real(a0), nt2::imag(a1)); - } - }; - - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( plus_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > > ) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_complex::type result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(nt2::real(a0)+nt2::real(a1), nt2::imag(a0)); - } - }; - - // dry/arithmetic - BOOST_DISPATCH_IMPLEMENT ( plus_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - return result_type(nt2::real(a0)+a1); - } - }; - - // arithmetic/dry - BOOST_DISPATCH_IMPLEMENT ( plus_, tag::cpu_, (A0)(A1) - , (generic_< arithmetic_ >) - (generic_< dry_< arithmetic_ > >) - - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return bitwise_cast(nt2::real(a1)+a0); - } - }; - - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( plus_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return bitwise_cast(nt2::real(a0)+nt2::real(a1)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/complex/generic/unary_minus.hpp b/inst/include/nt2/operator/functions/complex/generic/unary_minus.hpp deleted file mode 100644 index 5ced670..0000000 --- a/inst/include/nt2/operator/functions/complex/generic/unary_minus.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_UNARY_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_COMPLEX_GENERIC_UNARY_MINUS_HPP_INCLUDED - -#include -#include -#include -#include - -// for optimize -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( unary_minus_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return result_type(-nt2::real(a0),-nt2::imag(a0)); - } - }; - - - // dry - BOOST_DISPATCH_IMPLEMENT ( unary_minus_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(1) - { - return bitwise_cast(-nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/operator/functions/container/cast.hpp b/inst/include/nt2/operator/functions/container/cast.hpp deleted file mode 100644 index 7ea8b43..0000000 --- a/inst/include/nt2/operator/functions/container/cast.hpp +++ /dev/null @@ -1,162 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_CONTAINER_CAST_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_CONTAINER_CAST_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - // complexify if necessary - template - struct cast_complexify - { - typedef Expr result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return e; - } - }; - - template - struct cast_complexify::value && !meta::is_complex::value >::type> - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return nt2::complexify(e); - } - }; - - // upgrade -- split recursively - template - struct cast_upgrade - { - typedef typename meta::call::type as_split; - typedef cast_upgrade rec; - typedef typename rec::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return rec()(nt2::split(e)); - } - }; - - template - struct cast_upgrade::type) >= sizeof(typename meta::primitive_of::type) >::type> - { - typedef Expr result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return e; - } - }; - - // downgrade -- group recursively - template - struct cast_downgrade - { - typedef typename meta::call::type as_group; - typedef cast_downgrade rec; - typedef typename rec::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return rec()(nt2::group(e)); - } - }; - - template - struct cast_downgrade::type) <= sizeof(typename meta::primitive_of::type) >::type> - { - typedef Expr result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return e; - } - }; - - // intfloat -- call tofloat, toint or nothing depending on case - template - struct cast_intfloat - { - typedef Expr result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return e; - } - }; - - template - struct cast_intfloat::value && meta::is_floating_point::value >::type> - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return nt2::tofloat(e); - } - }; - - template - struct cast_intfloat, meta::is_signed > >::type> - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return nt2::toint(e); - } - }; - - template - struct cast_intfloat, meta::is_unsigned > >::type> - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return nt2::touint(e); - } - }; - - // cast - BOOST_DISPATCH_IMPLEMENT ( cast_, tag::cpu_ - , (A0)(To) - , ((ast_)) - (target_< scalar_< unspecified_ > >) - ) - { - typedef typename To::type to; - - typedef cast_upgrade upgrade; - typedef cast_intfloat::type::value_type, to> type; - typedef cast_downgrade::type::value_type, to> downgrade; - typedef cast_complexify::type::value_type, to> complexify_; - - typedef typename complexify_::result_type result_type; - - result_type operator()(A0& a0, To const&) const - { - return complexify_()(downgrade()(type()(upgrade()(a0)))); - } - }; -} } - -#endif diff --git a/inst/include/nt2/operator/functions/container/casts.hpp b/inst/include/nt2/operator/functions/container/casts.hpp deleted file mode 100644 index 698be57..0000000 --- a/inst/include/nt2/operator/functions/container/casts.hpp +++ /dev/null @@ -1,164 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_CONTAINER_CASTS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_CONTAINER_CASTS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - // complexify if necessary - template - struct casts_complexify - { - typedef Expr result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return e; - } - }; - - template - struct casts_complexify::value && !meta::is_complex::value >::type> - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return nt2::complexify(e); - } - }; - - // upgrade -- split recursively - template - struct casts_upgrade - { - typedef typename meta::call::type as_split; - typedef casts_upgrade rec; - typedef typename rec::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return rec()(nt2::split(e)); - } - }; - - template - struct casts_upgrade::type) >= sizeof(typename meta::primitive_of::type) >::type> - { - typedef Expr result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return e; - } - }; - - // downgrade -- group recursively - template - struct casts_downgrade - { - typedef typename meta::call::type as_group; - typedef casts_downgrade rec; - typedef typename rec::result_type result_type; - - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return rec()(nt2::groups(e)); - } - }; - - template - struct casts_downgrade::type) <= sizeof(typename meta::primitive_of::type) >::type> - { - typedef Expr result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return e; - } - }; - - // intfloat -- call tofloat, toint or nothing depending on case - template - struct casts_intfloat - { - typedef Expr result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return e; - } - }; - - template - struct casts_intfloat::value && meta::is_floating_point::value >::type> - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return nt2::tofloat(e); - } - }; - - template - struct casts_intfloat, meta::is_signed > >::type> - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return nt2::toints(e); - } - }; - - template - struct casts_intfloat, meta::is_unsigned > >::type> - { - typedef typename meta::call::type result_type; - BOOST_FORCEINLINE result_type operator()(typename boost::dispatch::meta::as_ref::type e) const - { - return nt2::touints(e); - } - }; - - // casts - BOOST_DISPATCH_IMPLEMENT ( casts_, tag::cpu_ - , (A0)(To) - , ((ast_)) - (target_< scalar_< unspecified_ > >) - ) - { - typedef typename To::type to; - - typedef casts_upgrade upgrade; - typedef casts_intfloat::type::value_type, to> type; - typedef casts_downgrade::type::value_type, to> downgrade; - typedef casts_complexify::type::value_type, to> complexify_; - - typedef typename complexify_::result_type result_type; - - result_type operator()(A0& a0, To const&) const - { - return complexify_()(downgrade()(type()(upgrade()(a0)))); - } - }; -} } - -#endif diff --git a/inst/include/nt2/operator/functions/divides.hpp b/inst/include/nt2/operator/functions/divides.hpp deleted file mode 100644 index cd97526..0000000 --- a/inst/include/nt2/operator/functions/divides.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_DIVIDES_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_DIVIDES_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::divides_; - } - - using boost::simd::divides; - using boost::simd::rdiv; -} - -#endif diff --git a/inst/include/nt2/operator/functions/fast_divides.hpp b/inst/include/nt2/operator/functions/fast_divides.hpp deleted file mode 100644 index 38234df..0000000 --- a/inst/include/nt2/operator/functions/fast_divides.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::fast_divides_; - } - - using boost::simd::fast_divides; - using boost::simd::fast_div; - using boost::simd::fast_rdiv; -} - -#endif diff --git a/inst/include/nt2/operator/functions/if_else.hpp b/inst/include/nt2/operator/functions/if_else.hpp deleted file mode 100644 index 297a26b..0000000 --- a/inst/include/nt2/operator/functions/if_else.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_IF_ELSE_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_IF_ELSE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::if_else_} **/ - struct if_else_ {}; - #endif - using boost::simd::tag::if_else_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::if_else} **/ - template - details::unspecified if_else(Args&&... args); - #endif - using boost::simd::if_else; -} - -#endif diff --git a/inst/include/nt2/operator/functions/is_equal.hpp b/inst/include/nt2/operator/functions/is_equal.hpp deleted file mode 100644 index 990a076..0000000 --- a/inst/include/nt2/operator/functions/is_equal.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_IS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_IS_EQUAL_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::is_equal_; - } - - using boost::simd::is_equal; - using boost::simd::eq; -} - -#endif diff --git a/inst/include/nt2/operator/functions/is_greater.hpp b/inst/include/nt2/operator/functions/is_greater.hpp deleted file mode 100644 index 906b29b..0000000 --- a/inst/include/nt2/operator/functions/is_greater.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_IS_GREATER_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_IS_GREATER_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::is_greater_; - } - - using boost::simd::is_greater; - using boost::simd::gt; -} - -#endif diff --git a/inst/include/nt2/operator/functions/is_greater_equal.hpp b/inst/include/nt2/operator/functions/is_greater_equal.hpp deleted file mode 100644 index a7e0f60..0000000 --- a/inst/include/nt2/operator/functions/is_greater_equal.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::is_greater_equal_; - } - - using boost::simd::is_greater_equal; - using boost::simd::ge; -} - -#endif diff --git a/inst/include/nt2/operator/functions/is_less.hpp b/inst/include/nt2/operator/functions/is_less.hpp deleted file mode 100644 index e036ad1..0000000 --- a/inst/include/nt2/operator/functions/is_less.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_IS_LESS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_IS_LESS_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::is_less_; - } - - using boost::simd::is_less; - using boost::simd::lt; -} - -#endif diff --git a/inst/include/nt2/operator/functions/is_less_equal.hpp b/inst/include/nt2/operator/functions/is_less_equal.hpp deleted file mode 100644 index 46d1a41..0000000 --- a/inst/include/nt2/operator/functions/is_less_equal.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::is_less_equal_; - } - - using boost::simd::is_less_equal; - using boost::simd::le; -} - -#endif diff --git a/inst/include/nt2/operator/functions/is_not_equal.hpp b/inst/include/nt2/operator/functions/is_not_equal.hpp deleted file mode 100644 index afccd14..0000000 --- a/inst/include/nt2/operator/functions/is_not_equal.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::is_not_equal_; - } - - using boost::simd::is_not_equal; - using boost::simd::ne; - using boost::simd::neq; -} - -#endif diff --git a/inst/include/nt2/operator/functions/logical_and.hpp b/inst/include/nt2/operator/functions/logical_and.hpp deleted file mode 100644 index fba8e5b..0000000 --- a/inst/include/nt2/operator/functions/logical_and.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::logical_and_} **/ - struct logical_and_ {}; - #endif - using boost::simd::tag::logical_and_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::logical_and} **/ - template - details::unspecified logical_and(Args&&... args); - #endif - using boost::simd::logical_and; -} - -#endif diff --git a/inst/include/nt2/operator/functions/logical_not.hpp b/inst/include/nt2/operator/functions/logical_not.hpp deleted file mode 100644 index 3768c44..0000000 --- a/inst/include/nt2/operator/functions/logical_not.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::logical_not_} **/ - struct logical_not_ {}; - #endif - using boost::simd::tag::logical_not_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::logical_not} **/ - template - details::unspecified logical_not(Args&&... args); - #endif - using boost::simd::logical_not; -} - -#endif diff --git a/inst/include/nt2/operator/functions/logical_or.hpp b/inst/include/nt2/operator/functions/logical_or.hpp deleted file mode 100644 index c452fff..0000000 --- a/inst/include/nt2/operator/functions/logical_or.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::logical_or_} **/ - struct logical_or_ {}; - #endif - using boost::simd::tag::logical_or_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::logical_or} **/ - template - details::unspecified logical_or(Args&&... args); - #endif - using boost::simd::logical_or; -} - -#endif diff --git a/inst/include/nt2/operator/functions/map.hpp b/inst/include/nt2/operator/functions/map.hpp deleted file mode 100644 index 3a91585..0000000 --- a/inst/include/nt2/operator/functions/map.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_MAP_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_MAP_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::map_} **/ - struct map_ {}; - #endif - using boost::simd::tag::map_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::map} **/ - template - details::unspecified map(Args&&... args); - #endif - using boost::simd::map; -} - -#endif diff --git a/inst/include/nt2/operator/functions/minus.hpp b/inst/include/nt2/operator/functions/minus.hpp deleted file mode 100644 index 78f0249..0000000 --- a/inst/include/nt2/operator/functions/minus.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_MINUS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::minus_} **/ - struct minus_ {}; - #endif - using boost::simd::tag::minus_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::minus} **/ - template - details::unspecified minus(Args&&... args); - #endif - using boost::simd::minus; -} - -#endif diff --git a/inst/include/nt2/operator/functions/modulo.hpp b/inst/include/nt2/operator/functions/modulo.hpp deleted file mode 100644 index 174abec..0000000 --- a/inst/include/nt2/operator/functions/modulo.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_MODULO_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_MODULO_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::modulo_} **/ - struct modulo_ {}; - #endif - using boost::simd::tag::modulo_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::modulo} **/ - template - details::unspecified modulo(Args&&... args); - #endif - using boost::simd::modulo; -} - -#endif diff --git a/inst/include/nt2/operator/functions/multiplies.hpp b/inst/include/nt2/operator/functions/multiplies.hpp deleted file mode 100644 index 9c385fc..0000000 --- a/inst/include/nt2/operator/functions/multiplies.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_MULTIPLIES_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_MULTIPLIES_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::multiplies_; - } - - using boost::simd::multiplies; - using boost::simd::mul; - using boost::simd::times; -} - -#endif diff --git a/inst/include/nt2/operator/functions/plus.hpp b/inst/include/nt2/operator/functions/plus.hpp deleted file mode 100644 index 8928913..0000000 --- a/inst/include/nt2/operator/functions/plus.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_PLUS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_PLUS_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::plus_; - } - - using boost::simd::plus; - using boost::simd::add; -} - -#endif diff --git a/inst/include/nt2/operator/functions/scalar/cast.hpp b/inst/include/nt2/operator/functions/scalar/cast.hpp deleted file mode 100644 index c6a82a5..0000000 --- a/inst/include/nt2/operator/functions/scalar/cast.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_SCALAR_CAST_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_SCALAR_CAST_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - // scalar impl general - BOOST_DISPATCH_IMPLEMENT ( cast_, tag::cpu_ - , (A0)(To) - , (scalar_< unspecified_ >) - (target_< scalar_< unspecified_ > >) - ) - { - typedef typename To::type result_type; - result_type operator()(A0 const& a0, To const&) const - { - return result_type(a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/operator/functions/scalar/casts.hpp b/inst/include/nt2/operator/functions/scalar/casts.hpp deleted file mode 100644 index 296b26a..0000000 --- a/inst/include/nt2/operator/functions/scalar/casts.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_SCALAR_CASTS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_SCALAR_CASTS_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - // scalar impl general - BOOST_DISPATCH_IMPLEMENT ( casts_, tag::cpu_ - , (A0)(To) - , (scalar_< unspecified_ >) - (target_< scalar_< unspecified_ > >) - ) - { - typedef typename To::type result_type; - result_type operator()(A0 const& a0, To const&) const - { - return result_type(saturate(a0)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/operator/functions/shift_left.hpp b/inst/include/nt2/operator/functions/shift_left.hpp deleted file mode 100644 index 0c8767f..0000000 --- a/inst/include/nt2/operator/functions/shift_left.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::shift_left_; - } - - using boost::simd::shift_left; - using boost::simd::shl; - using boost::simd::shli; -} - -#endif diff --git a/inst/include/nt2/operator/functions/shift_right.hpp b/inst/include/nt2/operator/functions/shift_right.hpp deleted file mode 100644 index e2414ed..0000000 --- a/inst/include/nt2/operator/functions/shift_right.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::shift_right_; - } - - using boost::simd::shift_right; - using boost::simd::shra; - using boost::simd::shrai; -} - -#endif diff --git a/inst/include/nt2/operator/functions/unary_minus.hpp b/inst/include/nt2/operator/functions/unary_minus.hpp deleted file mode 100644 index 0b6cde3..0000000 --- a/inst/include/nt2/operator/functions/unary_minus.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::unary_minus_} **/ - struct unary_minus_ {}; - #endif - using boost::simd::tag::unary_minus_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::unary_minus} **/ - template - details::unspecified unary_minus(Args&&... args); - #endif - using boost::simd::unary_minus; -} - -#endif diff --git a/inst/include/nt2/operator/functions/unary_plus.hpp b/inst/include/nt2/operator/functions/unary_plus.hpp deleted file mode 100644 index 37a49f4..0000000 --- a/inst/include/nt2/operator/functions/unary_plus.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED -#define NT2_OPERATOR_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::unary_plus_} **/ - struct unary_plus_ {}; - #endif - using boost::simd::tag::unary_plus_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::unary_plus} **/ - template - details::unspecified unary_plus(Args&&... args); - #endif - using boost::simd::unary_plus; -} - -#endif diff --git a/inst/include/nt2/operator/include/functions/bitwise_and.hpp b/inst/include/nt2/operator/include/functions/bitwise_and.hpp deleted file mode 100644 index 794c9d3..0000000 --- a/inst/include/nt2/operator/include/functions/bitwise_and.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_AND_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_AND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/bitwise_or.hpp b/inst/include/nt2/operator/include/functions/bitwise_or.hpp deleted file mode 100644 index e617b9d..0000000 --- a/inst/include/nt2/operator/include/functions/bitwise_or.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_OR_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_OR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/bitwise_xor.hpp b/inst/include/nt2/operator/include/functions/bitwise_xor.hpp deleted file mode 100644 index 4c6acfd..0000000 --- a/inst/include/nt2/operator/include/functions/bitwise_xor.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_BITWISE_XOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/cast.hpp b/inst/include/nt2/operator/include/functions/cast.hpp deleted file mode 100644 index b1dcfcd..0000000 --- a/inst/include/nt2/operator/include/functions/cast.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_CAST_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_CAST_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/casts.hpp b/inst/include/nt2/operator/include/functions/casts.hpp deleted file mode 100644 index ecbecbe..0000000 --- a/inst/include/nt2/operator/include/functions/casts.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_CASTS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_CASTS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/comma.hpp b/inst/include/nt2/operator/include/functions/comma.hpp deleted file mode 100644 index a0d5222..0000000 --- a/inst/include/nt2/operator/include/functions/comma.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_COMMA_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_COMMA_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/complement.hpp b/inst/include/nt2/operator/include/functions/complement.hpp deleted file mode 100644 index cf3d283..0000000 --- a/inst/include/nt2/operator/include/functions/complement.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_COMPLEMENT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_COMPLEMENT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/divides.hpp b/inst/include/nt2/operator/include/functions/divides.hpp deleted file mode 100644 index ec1ff44..0000000 --- a/inst/include/nt2/operator/include/functions/divides.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_DIVIDES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_DIVIDES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/eq.hpp b/inst/include/nt2/operator/include/functions/eq.hpp deleted file mode 100644 index c3124df..0000000 --- a/inst/include/nt2/operator/include/functions/eq.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_EQ_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_EQ_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/operator/include/functions/fast_divides.hpp b/inst/include/nt2/operator/include/functions/fast_divides.hpp deleted file mode 100644 index 9f69ef4..0000000 --- a/inst/include/nt2/operator/include/functions/fast_divides.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_FAST_DIVIDES_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/ge.hpp b/inst/include/nt2/operator/include/functions/ge.hpp deleted file mode 100644 index c3a30b8..0000000 --- a/inst/include/nt2/operator/include/functions/ge.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_GE_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_GE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/operator/include/functions/gt.hpp b/inst/include/nt2/operator/include/functions/gt.hpp deleted file mode 100644 index 808ae7b..0000000 --- a/inst/include/nt2/operator/include/functions/gt.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_GT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_GT_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/operator/include/functions/if_else.hpp b/inst/include/nt2/operator/include/functions/if_else.hpp deleted file mode 100644 index 470952c..0000000 --- a/inst/include/nt2/operator/include/functions/if_else.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_IF_ELSE_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_IF_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/is_equal.hpp b/inst/include/nt2/operator/include/functions/is_equal.hpp deleted file mode 100644 index 4287f95..0000000 --- a/inst/include/nt2/operator/include/functions/is_equal.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/is_greater.hpp b/inst/include/nt2/operator/include/functions/is_greater.hpp deleted file mode 100644 index 1c1e752..0000000 --- a/inst/include/nt2/operator/include/functions/is_greater.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_GREATER_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/is_greater_equal.hpp b/inst/include/nt2/operator/include/functions/is_greater_equal.hpp deleted file mode 100644 index 3dee5a0..0000000 --- a/inst/include/nt2/operator/include/functions/is_greater_equal.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/is_less.hpp b/inst/include/nt2/operator/include/functions/is_less.hpp deleted file mode 100644 index a67f15a..0000000 --- a/inst/include/nt2/operator/include/functions/is_less.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_LESS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/is_less_equal.hpp b/inst/include/nt2/operator/include/functions/is_less_equal.hpp deleted file mode 100644 index d910fe7..0000000 --- a/inst/include/nt2/operator/include/functions/is_less_equal.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/is_not_equal.hpp b/inst/include/nt2/operator/include/functions/is_not_equal.hpp deleted file mode 100644 index 6751b3e..0000000 --- a/inst/include/nt2/operator/include/functions/is_not_equal.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/le.hpp b/inst/include/nt2/operator/include/functions/le.hpp deleted file mode 100644 index f3e2593..0000000 --- a/inst/include/nt2/operator/include/functions/le.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_LE_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_LE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/operator/include/functions/logical_and.hpp b/inst/include/nt2/operator/include/functions/logical_and.hpp deleted file mode 100644 index 73dba2b..0000000 --- a/inst/include/nt2/operator/include/functions/logical_and.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_AND_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/logical_not.hpp b/inst/include/nt2/operator/include/functions/logical_not.hpp deleted file mode 100644 index 9247cb3..0000000 --- a/inst/include/nt2/operator/include/functions/logical_not.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_NOT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/logical_or.hpp b/inst/include/nt2/operator/include/functions/logical_or.hpp deleted file mode 100644 index 3282354..0000000 --- a/inst/include/nt2/operator/include/functions/logical_or.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_LOGICAL_OR_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/lt.hpp b/inst/include/nt2/operator/include/functions/lt.hpp deleted file mode 100644 index dbcff69..0000000 --- a/inst/include/nt2/operator/include/functions/lt.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_LT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_LT_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/operator/include/functions/map.hpp b/inst/include/nt2/operator/include/functions/map.hpp deleted file mode 100644 index cfcf696..0000000 --- a/inst/include/nt2/operator/include/functions/map.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_MAP_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_MAP_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/minus.hpp b/inst/include/nt2/operator/include/functions/minus.hpp deleted file mode 100644 index 6bf7023..0000000 --- a/inst/include/nt2/operator/include/functions/minus.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_MINUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/modulo.hpp b/inst/include/nt2/operator/include/functions/modulo.hpp deleted file mode 100644 index 13a207c..0000000 --- a/inst/include/nt2/operator/include/functions/modulo.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_MODULO_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_MODULO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/multiplies.hpp b/inst/include/nt2/operator/include/functions/multiplies.hpp deleted file mode 100644 index 83e72ed..0000000 --- a/inst/include/nt2/operator/include/functions/multiplies.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_MULTIPLIES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/ne.hpp b/inst/include/nt2/operator/include/functions/ne.hpp deleted file mode 100644 index d4d7efd..0000000 --- a/inst/include/nt2/operator/include/functions/ne.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_NE_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_NE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/operator/include/functions/plus.hpp b/inst/include/nt2/operator/include/functions/plus.hpp deleted file mode 100644 index 5ac05ae..0000000 --- a/inst/include/nt2/operator/include/functions/plus.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_PLUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_PLUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/bitwise_and.hpp b/inst/include/nt2/operator/include/functions/scalar/bitwise_and.hpp deleted file mode 100644 index af84830..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/bitwise_and.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_AND_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_AND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/bitwise_or.hpp b/inst/include/nt2/operator/include/functions/scalar/bitwise_or.hpp deleted file mode 100644 index bd97b19..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/bitwise_or.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_OR_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_OR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/bitwise_xor.hpp b/inst/include/nt2/operator/include/functions/scalar/bitwise_xor.hpp deleted file mode 100644 index 9b8a8bb..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/bitwise_xor.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_XOR_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_BITWISE_XOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/cast.hpp b/inst/include/nt2/operator/include/functions/scalar/cast.hpp deleted file mode 100644 index afc30a3..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/cast.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_CAST_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_CAST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/casts.hpp b/inst/include/nt2/operator/include/functions/scalar/casts.hpp deleted file mode 100644 index ab7bc92..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/casts.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_CASTS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_CASTS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/comma.hpp b/inst/include/nt2/operator/include/functions/scalar/comma.hpp deleted file mode 100644 index 0f2d31e..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/comma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_COMMA_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_COMMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/complement.hpp b/inst/include/nt2/operator/include/functions/scalar/complement.hpp deleted file mode 100644 index 729915d..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/complement.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_COMPLEMENT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_COMPLEMENT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/divides.hpp b/inst/include/nt2/operator/include/functions/scalar/divides.hpp deleted file mode 100644 index df0613d..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/divides.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_DIVIDES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_DIVIDES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/fast_divides.hpp b/inst/include/nt2/operator/include/functions/scalar/fast_divides.hpp deleted file mode 100644 index 691ee00..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/fast_divides.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_FAST_DIVIDES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_FAST_DIVIDES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/if_else.hpp b/inst/include/nt2/operator/include/functions/scalar/if_else.hpp deleted file mode 100644 index c77f824..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/if_else.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IF_ELSE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/is_equal.hpp b/inst/include/nt2/operator/include/functions/scalar/is_equal.hpp deleted file mode 100644 index 054ef59..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/is_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/is_greater.hpp b/inst/include/nt2/operator/include/functions/scalar/is_greater.hpp deleted file mode 100644 index 63a1f27..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/is_greater.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/is_greater_equal.hpp b/inst/include/nt2/operator/include/functions/scalar/is_greater_equal.hpp deleted file mode 100644 index cf05857..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/is_greater_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_GREATER_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/is_less.hpp b/inst/include/nt2/operator/include/functions/scalar/is_less.hpp deleted file mode 100644 index 0d3823c..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/is_less.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/is_less_equal.hpp b/inst/include/nt2/operator/include/functions/scalar/is_less_equal.hpp deleted file mode 100644 index ff1315a..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/is_less_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_LESS_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/is_not_equal.hpp b/inst/include/nt2/operator/include/functions/scalar/is_not_equal.hpp deleted file mode 100644 index ba56f82..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/is_not_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/logical_and.hpp b/inst/include/nt2/operator/include/functions/scalar/logical_and.hpp deleted file mode 100644 index 9796d2b..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/logical_and.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_AND_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_AND_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/logical_not.hpp b/inst/include/nt2/operator/include/functions/scalar/logical_not.hpp deleted file mode 100644 index 4f24c2b..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/logical_not.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_NOT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/logical_or.hpp b/inst/include/nt2/operator/include/functions/scalar/logical_or.hpp deleted file mode 100644 index 46436b5..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/logical_or.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_OR_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_LOGICAL_OR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/map.hpp b/inst/include/nt2/operator/include/functions/scalar/map.hpp deleted file mode 100644 index 7030213..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/map.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MAP_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MAP_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/minus.hpp b/inst/include/nt2/operator/include/functions/scalar/minus.hpp deleted file mode 100644 index d3f6c12..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/minus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/modulo.hpp b/inst/include/nt2/operator/include/functions/scalar/modulo.hpp deleted file mode 100644 index 6c24595..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/modulo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MODULO_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MODULO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/multiplies.hpp b/inst/include/nt2/operator/include/functions/scalar/multiplies.hpp deleted file mode 100644 index eb27cf9..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/multiplies.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MULTIPLIES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_MULTIPLIES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/plus.hpp b/inst/include/nt2/operator/include/functions/scalar/plus.hpp deleted file mode 100644 index bd37a86..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/plus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_PLUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_PLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/shift_left.hpp b/inst/include/nt2/operator/include/functions/scalar/shift_left.hpp deleted file mode 100644 index 9fcb42a..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/shift_left.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_SHIFT_LEFT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_SHIFT_LEFT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/shift_right.hpp b/inst/include/nt2/operator/include/functions/scalar/shift_right.hpp deleted file mode 100644 index 80623ce..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/shift_right.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_SHIFT_RIGHT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_SHIFT_RIGHT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/unary_minus.hpp b/inst/include/nt2/operator/include/functions/scalar/unary_minus.hpp deleted file mode 100644 index b2e3a32..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/unary_minus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_UNARY_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_UNARY_MINUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/scalar/unary_plus.hpp b/inst/include/nt2/operator/include/functions/scalar/unary_plus.hpp deleted file mode 100644 index 9172e70..0000000 --- a/inst/include/nt2/operator/include/functions/scalar/unary_plus.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_UNARY_PLUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SCALAR_UNARY_PLUS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/shift_left.hpp b/inst/include/nt2/operator/include/functions/shift_left.hpp deleted file mode 100644 index 75a39a5..0000000 --- a/inst/include/nt2/operator/include/functions/shift_left.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SHIFT_LEFT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/shift_right.hpp b/inst/include/nt2/operator/include/functions/shift_right.hpp deleted file mode 100644 index 311b897..0000000 --- a/inst/include/nt2/operator/include/functions/shift_right.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SHIFT_RIGHT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/bitwise_and.hpp b/inst/include/nt2/operator/include/functions/simd/bitwise_and.hpp deleted file mode 100644 index 65acef4..0000000 --- a/inst/include/nt2/operator/include/functions/simd/bitwise_and.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_AND_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_AND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/bitwise_or.hpp b/inst/include/nt2/operator/include/functions/simd/bitwise_or.hpp deleted file mode 100644 index d329868..0000000 --- a/inst/include/nt2/operator/include/functions/simd/bitwise_or.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_OR_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_OR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/bitwise_xor.hpp b/inst/include/nt2/operator/include/functions/simd/bitwise_xor.hpp deleted file mode 100644 index 005dd11..0000000 --- a/inst/include/nt2/operator/include/functions/simd/bitwise_xor.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_XOR_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_BITWISE_XOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/cast.hpp b/inst/include/nt2/operator/include/functions/simd/cast.hpp deleted file mode 100644 index 9abf126..0000000 --- a/inst/include/nt2/operator/include/functions/simd/cast.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_CAST_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_CAST_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/casts.hpp b/inst/include/nt2/operator/include/functions/simd/casts.hpp deleted file mode 100644 index 774f0af..0000000 --- a/inst/include/nt2/operator/include/functions/simd/casts.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_CASTS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_CASTS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/comma.hpp b/inst/include/nt2/operator/include/functions/simd/comma.hpp deleted file mode 100644 index 6121665..0000000 --- a/inst/include/nt2/operator/include/functions/simd/comma.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_COMMA_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_COMMA_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/complement.hpp b/inst/include/nt2/operator/include/functions/simd/complement.hpp deleted file mode 100644 index 5c346aa..0000000 --- a/inst/include/nt2/operator/include/functions/simd/complement.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_COMPLEMENT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_COMPLEMENT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/divides.hpp b/inst/include/nt2/operator/include/functions/simd/divides.hpp deleted file mode 100644 index e2c2ea5..0000000 --- a/inst/include/nt2/operator/include/functions/simd/divides.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_DIVIDES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_DIVIDES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/fast_divides.hpp b/inst/include/nt2/operator/include/functions/simd/fast_divides.hpp deleted file mode 100644 index ca147a9..0000000 --- a/inst/include/nt2/operator/include/functions/simd/fast_divides.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_FAST_DIVIDES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_FAST_DIVIDES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/if_else.hpp b/inst/include/nt2/operator/include/functions/simd/if_else.hpp deleted file mode 100644 index 215b77d..0000000 --- a/inst/include/nt2/operator/include/functions/simd/if_else.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IF_ELSE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/is_equal.hpp b/inst/include/nt2/operator/include/functions/simd/is_equal.hpp deleted file mode 100644 index 19203c4..0000000 --- a/inst/include/nt2/operator/include/functions/simd/is_equal.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/is_greater.hpp b/inst/include/nt2/operator/include/functions/simd/is_greater.hpp deleted file mode 100644 index 9a68cab..0000000 --- a/inst/include/nt2/operator/include/functions/simd/is_greater.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/is_greater_equal.hpp b/inst/include/nt2/operator/include/functions/simd/is_greater_equal.hpp deleted file mode 100644 index aa33c0a..0000000 --- a/inst/include/nt2/operator/include/functions/simd/is_greater_equal.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/is_less.hpp b/inst/include/nt2/operator/include/functions/simd/is_less.hpp deleted file mode 100644 index 1e5922a..0000000 --- a/inst/include/nt2/operator/include/functions/simd/is_less.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_LESS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/is_less_equal.hpp b/inst/include/nt2/operator/include/functions/simd/is_less_equal.hpp deleted file mode 100644 index 08ded71..0000000 --- a/inst/include/nt2/operator/include/functions/simd/is_less_equal.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_LESS_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/is_not_equal.hpp b/inst/include/nt2/operator/include/functions/simd/is_not_equal.hpp deleted file mode 100644 index 392d6fa..0000000 --- a/inst/include/nt2/operator/include/functions/simd/is_not_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/logical_and.hpp b/inst/include/nt2/operator/include/functions/simd/logical_and.hpp deleted file mode 100644 index 7f634dc..0000000 --- a/inst/include/nt2/operator/include/functions/simd/logical_and.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_AND_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_AND_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/logical_not.hpp b/inst/include/nt2/operator/include/functions/simd/logical_not.hpp deleted file mode 100644 index 8b33943..0000000 --- a/inst/include/nt2/operator/include/functions/simd/logical_not.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_NOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/logical_or.hpp b/inst/include/nt2/operator/include/functions/simd/logical_or.hpp deleted file mode 100644 index 4e9422e..0000000 --- a/inst/include/nt2/operator/include/functions/simd/logical_or.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_OR_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_LOGICAL_OR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/map.hpp b/inst/include/nt2/operator/include/functions/simd/map.hpp deleted file mode 100644 index 6619542..0000000 --- a/inst/include/nt2/operator/include/functions/simd/map.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MAP_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MAP_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/minus.hpp b/inst/include/nt2/operator/include/functions/simd/minus.hpp deleted file mode 100644 index 15eaea5..0000000 --- a/inst/include/nt2/operator/include/functions/simd/minus.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MINUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/modulo.hpp b/inst/include/nt2/operator/include/functions/simd/modulo.hpp deleted file mode 100644 index d73c789..0000000 --- a/inst/include/nt2/operator/include/functions/simd/modulo.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MODULO_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MODULO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/multiplies.hpp b/inst/include/nt2/operator/include/functions/simd/multiplies.hpp deleted file mode 100644 index 2cbd39c..0000000 --- a/inst/include/nt2/operator/include/functions/simd/multiplies.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MULTIPLIES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_MULTIPLIES_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/plus.hpp b/inst/include/nt2/operator/include/functions/simd/plus.hpp deleted file mode 100644 index fd49863..0000000 --- a/inst/include/nt2/operator/include/functions/simd/plus.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_PLUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_PLUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/shift_left.hpp b/inst/include/nt2/operator/include/functions/simd/shift_left.hpp deleted file mode 100644 index 15d00cc..0000000 --- a/inst/include/nt2/operator/include/functions/simd/shift_left.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_SHIFT_LEFT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_SHIFT_LEFT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/shift_right.hpp b/inst/include/nt2/operator/include/functions/simd/shift_right.hpp deleted file mode 100644 index 55e84d0..0000000 --- a/inst/include/nt2/operator/include/functions/simd/shift_right.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_SHIFT_RIGHT_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_SHIFT_RIGHT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/unary_minus.hpp b/inst/include/nt2/operator/include/functions/simd/unary_minus.hpp deleted file mode 100644 index 0064c81..0000000 --- a/inst/include/nt2/operator/include/functions/simd/unary_minus.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_UNARY_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_UNARY_MINUS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/simd/unary_plus.hpp b/inst/include/nt2/operator/include/functions/simd/unary_plus.hpp deleted file mode 100644 index 15fe75c..0000000 --- a/inst/include/nt2/operator/include/functions/simd/unary_plus.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_UNARY_PLUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_SIMD_UNARY_PLUS_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/times.hpp b/inst/include/nt2/operator/include/functions/times.hpp deleted file mode 100644 index 64e0d4e..0000000 --- a/inst/include/nt2/operator/include/functions/times.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_TIMES_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_TIMES_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/operator/include/functions/uminus.hpp b/inst/include/nt2/operator/include/functions/uminus.hpp deleted file mode 100644 index 9228773..0000000 --- a/inst/include/nt2/operator/include/functions/uminus.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_UMINUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_UMINUS_HPP_INCLUDED -#include - -namespace nt2 { namespace tag -{ - typedef unary_minus_ uminus_; -} } - -namespace nt2 -{ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::uminus_, uminus, 1) -} -#endif diff --git a/inst/include/nt2/operator/include/functions/unary_minus.hpp b/inst/include/nt2/operator/include/functions/unary_minus.hpp deleted file mode 100644 index 4443150..0000000 --- a/inst/include/nt2/operator/include/functions/unary_minus.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_UNARY_MINUS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/unary_plus.hpp b/inst/include/nt2/operator/include/functions/unary_plus.hpp deleted file mode 100644 index b2fe52c..0000000 --- a/inst/include/nt2/operator/include/functions/unary_plus.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_UNARY_PLUS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/operator/include/functions/uplus.hpp b/inst/include/nt2/operator/include/functions/uplus.hpp deleted file mode 100644 index 6557ef7..0000000 --- a/inst/include/nt2/operator/include/functions/uplus.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPERATOR_INCLUDE_FUNCTIONS_UPLUS_HPP_INCLUDED -#define NT2_OPERATOR_INCLUDE_FUNCTIONS_UPLUS_HPP_INCLUDED -#include - -namespace nt2 { namespace tag -{ - typedef unary_plus_ uplus_; -} } - -namespace nt2 -{ - BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(tag::uplus_, uplus, 1) -} -#endif diff --git a/inst/include/nt2/operator/operator.hpp b/inst/include/nt2/operator/operator.hpp deleted file mode 100644 index b1a7e3c..0000000 --- a/inst/include/nt2/operator/operator.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPERATOR_OPERATOR_HPP_INCLUDED -#define NT2_OPERATOR_OPERATOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/optimization/constants.hpp b/inst/include/nt2/optimization/constants.hpp deleted file mode 100644 index 85632b5..0000000 --- a/inst/include/nt2/optimization/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_OPTIMIZATION_CONSTANTS_HPP_INCLUDED -#define NT2_OPTIMIZATION_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/optimization/functions.hpp b/inst/include/nt2/optimization/functions.hpp deleted file mode 100644 index add5a85..0000000 --- a/inst/include/nt2/optimization/functions.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_OPTIMIZATION_FUNCTIONS_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/optimization/functions/brent.hpp b/inst/include/nt2/optimization/functions/brent.hpp deleted file mode 100644 index 6c6c512..0000000 --- a/inst/include/nt2/optimization/functions/brent.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_BRENT_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_BRENT_HPP_INCLUDED -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief brent generic tag - - Represents the brent function in generic contexts. - - @par Models: - Hierarchy - **/ - struct brent_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_brent_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_brent_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_brent_; - } - /*! - * Applies brent algorithm to find local minimum of a function - * - * \param f Function to optimize - * \param x0 Initial value - * \param low Lower bound of search interval - * \param up Upper bound of search interval - * \param opt Options pack related to the minimization handling - * - * \return a tuple containing the result of the minimization, the value of the - * function at minimum, the number of required iteration and a boolean - * notifying success of convergence. - */ - template - BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - brent(F f, X x0, L low, U up, nt2::details::option_expr const& opt) - { - - typename boost::dispatch::make_functor::type callee; - return callee ( f - , static_cast(x0) - , static_cast(low) - , static_cast(up) - , details::optimization_settings(opt) - ); - } - /// @overload - template BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - brent(F f, X x0, L low, U up) - { - typename boost::dispatch::make_functor::type callee; - return callee ( f - , static_cast(x0) - , static_cast(low) - , static_cast(up) - , details::optimization_settings() - ); - } - - -} - -#endif diff --git a/inst/include/nt2/optimization/functions/common/brent.hpp b/inst/include/nt2/optimization/functions/common/brent.hpp deleted file mode 100644 index f600b1b..0000000 --- a/inst/include/nt2/optimization/functions/common/brent.hpp +++ /dev/null @@ -1,144 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_COMMON_BRENT_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_COMMON_BRENT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( brent_, tag::cpu_ - , (F)(T)(O) - , (unspecified_< F >) - (generic_< floating_ >) - (generic_< floating_ >) - (generic_< floating_ >) - (unspecified_) - ) - { - typedef optimization::output result_type; - - result_type operator()(F f, T const& x0, T const& l, T const& uu, O const& o) - { - // Iterations count - std::size_t iter; - - // Local values used to perform Brent's iterations - T ax(l), bx(x0), cx(uu); - T d(Nan()), e(Zero()); - T a = (ax < cx ? ax : cx); - T b = (ax > cx ? ax : cx); - T v(bx),w(bx),x(bx); - T tol = static_cast(o.absolute_tolerance); - T fx, fw, fv; - fw = fv = fx = f(x); - - // Starts iterating ... - for(iter=1;iter<=o.maximum_iterations;++iter) - { - T etemp,fu,p1,q,r,u = Zero(); - - T xm = nt2::average(a, b); - T tol1 = tol * nt2::abs(x) + Sqrteps(); - T tol2 = Two()*tol1; - - if( nt2::abs(x-xm) <= (tol2 - Half()*(b-a)) ) - { - // Successful convergence - result_type that = {x,fx,iter,true,T(1)}; - return that; - } - - if(nt2::abs(e) > tol1) - { - r = (x-w)*(fx-fv); - q = (x-v)*(fx-fw); - p1 = (x-v)*q-(x-w)*r; - q = Two()*(q-r); - - if (q > Zero()) p1 = -p1; - - q = nt2::abs(q); - etemp = e; - e = d; - - if( nt2::abs(p1) >= nt2::abs(Half()*q*etemp) - || (p1 <= q*(a-x)) - || (p1 >= q*(b-x))) - { - d = Cgold()*(e=(x >= xm ? a-x : b-x)); - } - else - { - d=p1/q; - u=x+d; - - if (u-a < tol2 || b-u < tol2) - d=tol1 * nt2::sign(xm-x); - } - } - else - { - d = Cgold() * (e=((x >= xm) ? a-x : b-x)); - } - - // New value to be computed - u = (nt2::abs(d) >= tol1 ? x+d : x + tol1 * nt2::sign(d)); - fu = f(u); - - if (fu <= fx) - { - if(u >= x) a=x; - else b=x; - - shift(v,w,x,u); - shift(fv,fw,fx,fu); - } - else - { - if (u < x) a=u; - else b=u; - - if(fu <= fw || w == x) - { - v=w; - w=u; - fv=fw; - fw=fu; - } - else if (fu <= fv || v == x || v == w) - { - v=u; - fv=fu; - } - } - } - - // We didn't converged -- add message for this - result_type that = {x,fx,iter,false,T(1)}; - return that; - } - - private: - static BOOST_FORCEINLINE void shift(T& a,T& b,T& c,T d) - { - a = b; b = c; c = d; - } - }; -} } -#endif diff --git a/inst/include/nt2/optimization/functions/common/hjmin.hpp b/inst/include/nt2/optimization/functions/common/hjmin.hpp deleted file mode 100644 index c37b3a2..0000000 --- a/inst/include/nt2/optimization/functions/common/hjmin.hpp +++ /dev/null @@ -1,226 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_COMMON_HJMIN_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_COMMON_HJMIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - template < class T, class FLOAT, class FUNC> class fpoint - { - typedef T matrix_t; - typedef FLOAT float_t; - typedef nt2::container::table table_t; - typedef FUNC func_t; - typedef fpoint self_t; - - matrix_t& x; // A point in the function's domain. - float_t fval; // Function value at the point. - const func_t & fproc; // Procedure to compute that value - const bool free_x_on_destructing; // The flag telling if this fpoint - // "owns" x, and has to dispose of - // its dynamic memory on destruction. - - - public: - template < class M > - fpoint(M& b, const func_t & f_) - : x(b), - fproc(f_), - free_x_on_destructing(false) - { - fval = f_(b); - } - - ~fpoint(){ - if( free_x_on_destructing ) delete &x; - }; - - float_t f() const { return fval; } - - fpoint(const fpoint& fp) : - x(*(new matrix_t(fp.x))), - fval(fp.fval), - fproc(fp.fproc), - free_x_on_destructing(true){} - - fpoint& operator = (const fpoint& fp){{ - if (&fp != this){ - x = fp.x; - fval = fp.fval; - } - return *this; - } - }; - - float_t fiddle_around(const matrix_t& h); - // Examine the function in the - // neighborhood of the current point. - // h defines the radius of the region - - // Proceed in the direction the function - // seems to decline - template < class FPOINT > - friend void update_in_direction(FPOINT & from, FPOINT & to); - - // Decide whether the region embracing - // the local min is small enough - bool isstep_relatively_small(const matrix_t& h, const float_t tau) - { - for(ptrdiff_t i=nt2::first_index<1>(nt2::colvect(x)); i <= nt2::last_index<1>(nt2::colvect(x)) ; ++i) - { - if (float_t(h(i)) >= float_t(tau*(One()+nt2::abs(x(i))))) return false; - } - return true; - //TODO nt2::all(h < tau*(One()+nt2::abs(x))); - } - }; - - - /* - * Examine the function f in the vicinity of the current point x - * by making tentative steps fro/back along each coordinate. - * Should the function decrease, x is updated to pinpoint thus - * found new local min. - * The procedure returns the minimal function value found in - * the region. - * - */ - template < class T, class FLOAT, class FUNC > - FLOAT fpoint::fiddle_around(const matrix_t& h) - { - // Perform a step along each coordinate - for(ptrdiff_t i = nt2::first_index<1>(nt2::colvect(x)); i <= nt2::last_index<1>(nt2::colvect(x)); ++i) - { - const float_t hi = h(i); - const float_t xi_old = x(i); // Old value of x[i] - float_t fnew; - x(i) = xi_old + hi; - fnew = fproc(x); - if ( fnew < fval )// Step caused f to decrease, OK - { - fval = fnew; return fval; - } - x(i) = xi_old - hi; - fnew = fproc(x); - if (fnew < fval )// Step caused f to decrease, OK - { - fval = fnew; return fval; - } - x(i) = xi_old; // No function decline has been found along this coord, back up - } - return fval; - } - - // Proceed in the direction the function - // seems to decline - // to_new = (to - from) + to - // from = to (before modification) - template < class FPOINT > - void update_in_direction(FPOINT& from, FPOINT& to) - { - typedef typename FPOINT::float_t float_t_; - for(ptrdiff_t i = nt2::first_index<1>(nt2::colvect(from.x)); i <= nt2::last_index<1>(nt2::colvect(from.x)); ++i) - { - const float_t_ t = to.x(i); - to.x(i) += (t - from.x(i)); - from.x(i) = t; - } - from.fval = to.fval; - to.fval = to.fproc(to.x); - } -} } - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hjmin_, tag::cpu_ - , (F)(A)(H)(O) - , (unspecified_< F >) - ((ast_< A, nt2::container::domain>)) - ((ast_< H, nt2::container::domain>)) - (unspecified_) - ) - { - typedef typename A::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef nt2::container::table tab_t; - typedef nt2::container::table rtab_t; - typedef optimization::output result_type; - - result_type operator()(F crit, A const& aa, H const& hh, O const& o) - { - step_reduce_factor = Oneo_10(); - iterdone = 0; - tab_t a = aa; - tab_t h = hh; - const real_type tau = o.relative_tolerance; // Termination criterion. - const real_type threshold = o.absolute_tolerance; - details::fpoint < tab_t, real_type, F> pmin(a,crit); // Point of min. - details::fpoint < tab_t, real_type, F> pbase(pmin); // Base point. - for(size_t i = 1; i <= o.maximum_iterations ; ++i) // Main iteration loop. - { // pmin is the approximation to min so far. - iterdone = i; - if( pbase.fiddle_around(h) < pmin.f() - threshold ) - { // Function value dropped significantly - do // from pmin to the point pbase - update_in_direction(pmin,pbase); // Keep going in the same direction - while( pbase.fiddle_around(h) < pmin.f() - threshold ); // while it works - pbase = pmin; // Save the best approx found - } - else // Function didn't fall significantly - { // upon wandering around pbas - h = h*step_reduce_factor; - if( pbase.isstep_relatively_small(h,tau) ) - { - valmin = pmin.f(); - result_type that = {a,valmin,iterdone,true,tab_t()}; - return that; - } - } - } - BOOST_ASSERT_MSG(false, "hjmin was not convergent"); - // We didn't converged -- add message for this - result_type that = {a,pmin.f(),iterdone,false,tab_t()}; - return that; - } - - private: - real_type step_reduce_factor; - size_t iterdone; - value_type valmin; - }; - - BOOST_DISPATCH_IMPLEMENT ( hjmin_, tag::cpu_ - , (F)(A)(H)(O) - , (unspecified_< F >) - ((ast_< A, nt2::container::domain>)) - (scalar_ < unspecified_ < H > > ) - (unspecified_) - ) - { - typedef typename nt2::meta::call < nt2::tag::repnum_(size_t, size_t) > ::type T0; - typedef typename nt2::meta::call < nt2::tag::hjmin_(F, A const &, T0, O const&)>::type result_type; - result_type operator()(F f, A const& aa, H const& h0, O const& o) - { - return hjmin(f, aa, nt2::repnum(h0, size_t(1), nt2::numel(aa)), o); - } - }; -} } -#endif diff --git a/inst/include/nt2/optimization/functions/common/levenberg.hpp b/inst/include/nt2/optimization/functions/common/levenberg.hpp deleted file mode 100644 index 5c8f3a6..0000000 --- a/inst/include/nt2/optimization/functions/common/levenberg.hpp +++ /dev/null @@ -1,77 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_COMMON_LEVENBERG_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_COMMON_LEVENBERG_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( levenberg_, tag::cpu_ - , (F)(A)(H)(O) - , (unspecified_< F >) - ((ast_< A, nt2::container::domain>)) - ((ast_< H, nt2::container::domain>)) - (unspecified_) - ) - { - typedef typename A::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename meta::as_logical::type l_type; - typedef nt2::container::table tab_t; - typedef nt2::container::table rtab_t; - typedef nt2::container::table ltab_t; - typedef optimization::output result_type; - - result_type operator()(F crit, A const& init, H const&, O const& o) - { - details::lev_impl lev; - tab_t a = init; - ltab_t w = nt2::ones(a.extent(), meta::as_()); //which; - lev.optimize(crit, a, w, o); - BOOST_ASSERT_MSG(lev.convok(), "levenberg was not convergent"); - // We didn't converged -- add message for this - result_type that = {a,lev.lastchi2(),lev.nbiteration(),lev.convok(), lev.covariance()}; - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( levenberg_, tag::cpu_ - , (F)(A)(H)(O) - , (unspecified_< F >) - ((ast_< A, nt2::container::domain>)) - (scalar_ < unspecified_ < H > > ) - (unspecified_) - ) - { - typedef typename nt2::meta::call < nt2::tag::repnum_(size_t, size_t) > ::type T0; - typedef typename nt2::meta::call < nt2::tag::levenberg_(F, A const &, T0, O const&)>::type result_type; - result_type operator()(F f, A const& init, H const&, O const& o) - { - typedef typename A::value_type value_type; - typedef typename meta::as_logical::type l_type; - return levenberg(f, init, nt2::repnum(True(), size_t(1), nt2::numel(init)), o); - } - }; -} } -#endif diff --git a/inst/include/nt2/optimization/functions/common/neldermead.hpp b/inst/include/nt2/optimization/functions/common/neldermead.hpp deleted file mode 100644 index 2b88ab6..0000000 --- a/inst/include/nt2/optimization/functions/common/neldermead.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_COMMON_NELDERMEAD_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_COMMON_NELDERMEAD_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( neldermead_, tag::cpu_ - , (F)(A)(H)(O) - , (unspecified_< F >) - ((ast_< A, nt2::container::domain>)) - ((ast_< H, nt2::container::domain>)) - (unspecified_) - ) - { - typedef typename A::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename meta::as_logical::type l_type; - typedef nt2::container::table tab_t; - typedef nt2::container::table rtab_t; - typedef nt2::container::table ltab_t; - typedef optimization::output result_type; - - result_type operator()(F crit, A const& init, H const& w, O const& o) - { - details::nelder_impl nelder; - tab_t a = init; - nelder.optimize(crit, a, w, o); -// BOOST_ASSERT_MSG(nelder.convok(), "neldermead was not convergent"); - // We didn't converged -- add message for this - result_type that = {a,nelder.lasteval(),nelder.nbiteration(),nelder.convok(), tab_t()}; - return that; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( neldermead_, tag::cpu_ - , (F)(A)(H)(O) - , (unspecified_< F >) - ((ast_< A, nt2::container::domain>)) - (scalar_ < unspecified_ < H > > ) - (unspecified_) - ) - { - typedef typename nt2::meta::call < nt2::tag::repnum_(size_t, size_t) > ::type T0; - typedef typename nt2::meta::call < nt2::tag::neldermead_(F, A const &, T0, O const&)>::type result_type; - result_type operator()(F f, A const& init, H const& step, O const& o) - { - typedef typename A::value_type value_type; - return neldermead(f, init, nt2::repnum(value_type(step), size_t(1), nt2::numel(init)), o); - } - }; -} } -#endif diff --git a/inst/include/nt2/optimization/functions/common/rosenbrock.hpp b/inst/include/nt2/optimization/functions/common/rosenbrock.hpp deleted file mode 100644 index 4555a75..0000000 --- a/inst/include/nt2/optimization/functions/common/rosenbrock.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_COMMON_ROSENBROCK_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_COMMON_ROSENBROCK_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( rosenbrock_, tag::cpu_ - , (F)(A)(O) - , (unspecified_< F >) - ((ast_< A, nt2::container::domain>)) - (unspecified_) - ) - { - typedef typename A::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename meta::as_logical::type l_type; - typedef nt2::container::table tab_t; - typedef nt2::container::table rtab_t; - typedef nt2::container::table ltab_t; - typedef optimization::output result_type; - - result_type operator()(F crit, A const& init, O const& o) - { - details::ros_impl ros; - tab_t a = init; - ltab_t w = nt2::ones(a.extent(), meta::as_()); //which; - ros.optimize(crit, a, o); - BOOST_ASSERT_MSG(ros.convok(), "rosenbrock was not convergent"); - // We didn't converged -- add message for this - result_type that = {a,ros.lasteval(),ros.nbiteration(),ros.convok(),tab_t()}; - return that; - } - }; - -} } -#endif diff --git a/inst/include/nt2/optimization/functions/details/lev_impl.hpp b/inst/include/nt2/optimization/functions/details/lev_impl.hpp deleted file mode 100644 index 622c9e0..0000000 --- a/inst/include/nt2/optimization/functions/details/lev_impl.hpp +++ /dev/null @@ -1,276 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_DETAILS_LEV_IMPL_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_DETAILS_LEV_IMPL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - template - class lev_impl - { - // sum(fvec^2) is minimized. - public : - - typedef FLOAT float_t; - typedef ptrdiff_t bool_t; - typedef T array_t; - typedef nt2::container::table table_t; - typedef nt2::container::table btable_t; - typedef details::optimization_settings otype; - lev_impl() : iterdone(0), pa(0), pia(0), opt(0){} - ~lev_impl() {} - - template < class FUNC> - void optimize( const FUNC& crit, - array_t& aa, //unkowns init values - const btable_t& ba, //unknows to optimize - const otype & o); //options - - size_t nbiteration() const { return iterdone; } - float_t lastchi2() const { return chisq; } - const table_t& covariance() const { return covar; } - bool convok() const { return res; } - - private : - template < class FUNC > void mrqcoef(const FUNC& crit, array_t& aa,array_t& al,array_t& be); - template < class FUNC > void fdjac (const FUNC& crit, array_t& a); - template < class FUNC > bool mrqmin (const FUNC& crit); - void compcov(); - - float_t chisq, lambda; - bool res; - array_t fvec,covar,df,sig,alpha,atry,da,beta,oneda; - size_t iterdone,iterindex,mfit; - array_t* pa; - const btable_t* pia; - const otype* opt; - }; - - template - template < class FUNC > - void lev_impl::fdjac( const FUNC& crit, T& a ) - { - const float_t eps = Sqrteps(); - const size_t nfvec = numel(fvec); - array_t f( nt2::of_size(nfvec, 1)); - df.resize( nt2::of_size(nfvec, numel(a))); - for(size_t j = 1; j <= numel(a); ++j) - { - if((*pia)(j)) - { - float_t temp = a(j); - float_t h = eps*nt2::abs(temp); - if (h == 0.0) h = eps; - a(j) = temp+h; - h = a(j)-temp; - f = crit(a); - df(_, j) = (f(_)-fvec(_))/h; - a(j) = temp; - } - else - { - df(_, j) = Zero(); - } - } - } - - template - template < class FUNC> - void lev_impl::optimize( const FUNC& crit, T &aa, - const btable_t & ba, - const otype& o) - { - iterindex = 0; - iterdone = 0; - opt = &o; - pa = &aa; - pia = &ba; - lambda = Mone(); - mfit = inbtrue(ba)(1); // TO FIX -// mfit = 0; - -// for(size_t i = 0;i < numel(ba); i++) -// { -// mfit+= ba(i); -// } - - atry = zeros(numel(aa), 1, meta::as_()); - da = zeros(numel(aa), 1, meta::as_()); - beta = zeros(mfit, 1, meta::as_()); - oneda= zeros(mfit, 1, meta::as_()); - chisq = Mone(); - - fvec = crit(aa); - for(size_t i = 1; i <= o.maximum_iterations; ++i) - { - iterdone = i; - if(mrqmin(crit)) - break; - else if(i == o.maximum_iterations) - BOOST_ASSERT_MSG(false, "levenberg was not convergent"); - } - lambda = Zero(); - mrqmin(crit); - fvec = crit(aa); - } - - template - template < class FUNC > - void lev_impl::mrqcoef( const FUNC & crit, T &a,T & alph,T &bet) - { - const btable_t& ia = *pia; - size_t na = numel(a); - alph = nt2::zeros(nt2::of_size(na, na), meta::as_()); - bet = zeros(nt2::of_size(na, 1), meta::as_()); - chisq = Zero(); - fvec = crit(a); - fdjac(crit,a); - - for(size_t i = 1; i <= numel(fvec); ++i) - { - float_t sig2i = nt2::numel(sig) ? nt2::rec(nt2::sqr(sig(i))) : One(); - float_t dy = fvec(i); - for(size_t j = 0, l = 1; l <= na ; l++) - { - if(ia(l)) - { - ++j; - float_t wt = df(i, l)*sig2i; - for(size_t k = 0, m = 1; m <= l; m++) - { - if(ia(m)) - { - ++k; - alph(j, k) += wt*df(i, m); - } - } - bet(j)-= dy*wt; - } - } - chisq += nt2::sqr(dy)*sig2i; - } - - for(size_t j = 2; j <= mfit; ++j) - { - for(size_t k = 1; k < j; ++k) - { - alph(k, j) = alph(j, k); - } - } - } - - template - void lev_impl::compcov() - { - const btable_t & ia = *pia; - size_t ma = nt2::numel(ia); - array_t tmp0 = nt2::expand(covar, ma, ma); - covar = tmp0; //ALIASING - for(size_t j = ma, k = mfit; j ; --j) - { - if (ia(j)) - { - float_t tmp; - for(size_t i = 1; i <= ma; ++i) - { - tmp = covar(i, j) ; - covar(i, j) = covar(i, k); - covar(i, k) = tmp; - // nt2::swap(covar(i, k), covar(i, j)); swapline ? - } - - for(size_t i = 1; i <= ma; ++i) - { - tmp = covar(j, i) ; - covar(j, i) = covar(k, i); - covar(k, i) = tmp; - // nt2::swap(covar(k, i), covar(j, i)); swapcol ? - } - --k; - } - } - - float_t fsig = chisq/(nt2::numel(fvec)-mfit); - covar *= fsig; - } - - template - template < class FUNC > - bool lev_impl::mrqmin( const FUNC & crit ) - { - static float_t ochisq; - table_t & a = *pa; - const btable_t & ia = *pia; - if (lambda < float_t(0.0)) - { - lambda = float_t(0.001); - mrqcoef(crit,a,alpha,beta); - ochisq = chisq; - atry = a; - } - - covar = alpha(_(1, mfit),_(1, mfit)) ; - oneda = beta(_(1, mfit)); - - for(size_t j = 1; j <= mfit; j++ ) covar(j, j) *= nt2::oneplus(lambda); - da = nt2::linsolve(covar, nt2::colvect(oneda)); - if (lambda == float_t(0.0)) - { - if (numel(fvec) > mfit) compcov(); - return true; - } - size_t j = 0; - - for( size_t l = 1; l <= numel(a); l++) - { - if (ia(l)) - { - atry(l) = a(l)+da(++j); - } - } - - mrqcoef(crit,atry, covar, da); - - if (chisq <= ochisq) - { - res = (ochisq-chisq <= nt2::sqr(opt->absolute_tolerance)) || - (ochisq-chisq <= nt2::sqr(opt->relative_tolerance*chisq)); - lambda *= Oneo_10(); - ochisq = chisq; - alpha = covar; - beta = da; - a = atry; - return res; - } - else - { - lambda *= Ten(); - chisq = ochisq; - return false; - } - } -} } - -#endif diff --git a/inst/include/nt2/optimization/functions/details/nelder_impl.hpp b/inst/include/nt2/optimization/functions/details/nelder_impl.hpp deleted file mode 100644 index 4f498d0..0000000 --- a/inst/include/nt2/optimization/functions/details/nelder_impl.hpp +++ /dev/null @@ -1,258 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_DETAILS_NELDER_IMPL_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_DETAILS_NELDER_IMPL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - template - class nelder_impl - { - // sum(fvec^2) is minimized. - public : - - typedef FLOAT float_t; -// typedef typename meta::as_logical::type bool_t; - typedef ptrdiff_t bool_t; - typedef T array_t; - typedef nt2::container::table table_t; - typedef nt2::container::table btable_t; - typedef details::optimization_settings otype; - nelder_impl() : reqmin(Eps()), - ynewlo(Nan()), - konvge(10), - icount(0), - numres(0), - ifault(-1) {} - ~nelder_impl() {} - - template < class FUNC, class S> - void optimize( const FUNC& crit, - T &start, //unkowns init values - const S & steps, //unkowns initial step values - const otype & o); //options - - size_t nbiteration() const { return icount; } - float_t lasteval() const { return ynewlo; } - bool convok() const { return ifault == 0; } - - private : - float_t reqmin; - float_t ynewlo; - size_t konvge, icount, numres; - ptrdiff_t ifault; - }; - - template - template < class FUNC, class S> - void nelder_impl::optimize( const FUNC& fn, - T &start, - const S & step, - const otype& o) - { - float_t ccoeff, ecoeff, eps, rcoeff; - size_t n = numel(start); - icount = 0; - numres = 0; - ifault = 0; - ccoeff = Half(); - ecoeff = Two (); - eps = float_t(0.001); - rcoeff = One(); - reqmin = o.absolute_tolerance; - size_t kcount = o.maximum_iterations; - ptrdiff_t jcount = konvge; - float_t dn = n; - size_t nn = n + 1; - float_t del = One(); - float_t rq = reqmin * dn; - table_t p(nt2::of_size(n, nn)); - table_t xmin = start; - table_t y(nt2::of_size(1, nn)); - - for(;;) - { - p(nt2::_, nn) = start; - y(nn) = fn ( start ); - ++icount; - for(size_t j = 1; j <= n; ++j) - { - float_t x = start(j); - start(j) += step(j) * del; - p(_, j) = nt2::colvect(start); - y(j) = fn ( start ); - ++icount; - start(j) = x; - } - -// The simplex construction is complete. -// Find highest and lowest y values. ynewlo = y(ihi) indicates -// the vertex of the simplex to be replaced. - - size_t ilo; - float_t ylo = globalmin(y, ilo); - for(;;)// Inner loop. - { - if ( kcount <= icount ) break; - size_t ihi = 1; - ynewlo = globalmax(y, ihi); - -// calculate pbar, the centroid of the simplex vertices -// excepting the vertex with y value ynewlo. - - table_t pbar = (sum(p, 2) - p(_,ihi))/dn; - -// Reflection through the centroid. - - table_t pstar = pbar + rcoeff*(pbar-p(_, ihi)); - float_t ystar = fn ( pstar ); - ++icount; -// Successful reflection, so extension. - if ( ystar < ylo ) - { - table_t p2star = pbar + ecoeff * ( pstar - pbar ); - float_t y2star = fn ( p2star ); - ++icount; - if ( ystar < y2star )// Check extension. - { - p(_, ihi) = pstar; - y(ihi) = ystar; - } // Retain extension or contraction. - else - { - p(_, ihi) = p2star; - y(ihi) = y2star; - } - } - else // No extension. - { - size_t l = inbtrue(lt(ystar, y)); - if ( l > 1 ) - { - p(_, ihi) = pstar; - y(ihi) = ystar; - } - else if ( l == 0 ) //% Contraction on the Y(IHI) side of the centroid. - { - table_t p2star = pbar + ccoeff * ( p(_,ihi) - pbar ); - float_t y2star = fn ( p2star ); - ++icount; - if ( y(ihi) < y2star ) // Contract the whole simplex. - { - for(size_t j = 1; j <= nn; ++j) - { - for(size_t i = 1; i <= n; ++i) - { - p(i,j) = ( p(i,j) + p(i,ilo) ) * Half(); - xmin(i) = p(i,j); - } - y(j) = fn ( xmin ); - ++icount; - } - ylo = globalmin(y, ilo); - continue; - } - else // Retain contraction. - { - p(_, ihi) = p2star; - y(ihi) = y2star; - } - } - else if ( l == 1 ) //% Contraction on the reflection side of the centroid. - { - table_t p2star = pbar + ccoeff * ( pstar - pbar ); - float_t y2star = fn ( p2star ); - ++icount; - if ( y2star <= ystar ) //% Retain reflection? - { - p(_,ihi) = p2star; - y(ihi) = y2star; - } - else - { - p(_,ihi) = pstar; - y(ihi) = ystar; - } - } - } - if ( y(ihi) < ylo ) // Check if YLO improved. - { - ylo = y(ihi); - ilo = ihi; - } - --jcount; - if (jcount > 0) continue; - if ( icount <= kcount ) //% Check to see if minimum reached. - { - jcount = konvge; - float_t z = nt2::global(nt2::functor(), nt2::center(y)); - if ( z <= rq ) break; - } - } -// Factorial tests to check that YNEWLO is a local minimum. - xmin = p(_, ilo); - ynewlo = y(ilo); - if ( kcount < icount ) - { - ifault = 2; - break; - } - ifault = 0; - for(size_t i = 1; i <= n; ++i) - { - del = step(i) * eps; - xmin(i) = xmin(i) + del; - float_t z = fn ( xmin ); - ++icount; - if ( z < ynewlo ) - { - ifault = 2; - break; - } - xmin(i) -= del + del; - z = fn ( xmin ); - ++icount; - if ( z < ynewlo ) - { - ifault = 2; - break; - } - xmin(i) += del; - } - if ( ifault == 0 ) break; - -//% Restart the procedure. - start = nt2::rowvect(xmin); - del = eps; - ++numres; - } - - return; - } -} } - -#endif diff --git a/inst/include/nt2/optimization/functions/details/ros_impl.hpp b/inst/include/nt2/optimization/functions/details/ros_impl.hpp deleted file mode 100644 index 9404915..0000000 --- a/inst/include/nt2/optimization/functions/details/ros_impl.hpp +++ /dev/null @@ -1,155 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_DETAILS_ROS_IMPL_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_DETAILS_ROS_IMPL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - template - class ros_impl - { - // f(vec) is minimized. - public : - - typedef FLOAT float_t; - typedef ptrdiff_t bool_t; - typedef T array_t; - typedef nt2::container::table table_t; - typedef details::optimization_settings otype; - - ros_impl() : - nbeval(0), - ok(false) - {} - ~ros_impl() {} - - template < class FUNC> - void optimize( const FUNC& crit, - array_t& x, //unkowns init values - const otype & o); //options - - size_t nbiteration() const { return nbeval; } - bool convok() const { return ok; } - float_t lasteval() const { return last_eval; } - private : - - size_t nbeval; - float_t last_eval; - bool ok; - }; - - - template - template < class FUNC> - void ros_impl::optimize( const FUNC& crit, - T &x, - const otype& o) - { - size_t maxiter = o.maximum_iterations; - float_t epsi = o.absolute_tolerance; - ok = false; - int n = nt2::numel(x); - bool restart = true; - array_t xi = nt2::eye(n, n, meta::as_()); - array_t xk = x(nt2::_); - array_t d = nt2::oneo_10(n, 1, meta::as_()); - array_t lambda = nt2::zeros(nt2::of_size(n, 1), meta::as_()); - nbeval = 1; - float_t yprev = nt2::Inf(); - float_t yfirstfirst = crit(x); - float_t ycurrent = yfirstfirst; - do - { - float_t ybest=yfirstfirst; - float_t yfirst; - do - { - yfirst = ybest; - for (int i=1; i<= n; ++i) - { - //array_t xcurrent = xk+d(i)*x(i, nt2::_); - array_t xcurrent = xk; - for (int j=1; j<= n; ++j) xcurrent(j) += d(i)*xi(i, j); - yprev = ycurrent; - ycurrent = crit(xcurrent); ++nbeval; - if (ycurrent(); - ybest=ycurrent; - xk = xcurrent; - } - else - { - d(i)*= Mhalf(); // failure - } - } - } while (ybestepsi); - if (ybestepsi); - if (restart) - { - // nous avons: - // xk[j]-x[j]=(somme sur i de) lambda[i]*xi[i][j]; - array_t A = nt2::flipud(nt2::cumsum(nt2::flipud(nt2::expand_to(lambda, n, n)*xi))); - array_t t = nt2::flipud(nt2::cumsum(nt2::flipud(nt2::sqr(lambda)))); - array_t fact = nt2::rsqrt(nt2::adjfun(functor(), t)); - for (int i=n; i>1; --i) - { - if (nt2::is_finite(fact(i-1))) - { - xi(i, nt2::_)=(lambda(i-1)*A(i, nt2::_)-xi(i-1, nt2::_)*t(i))*fact(i-1); - } - } - xi(1, nt2::_)=A(1, nt2::_)*nt2::rsqrt(t(1)); - x = xk; - lambda = zeros(n, 1, meta::as_()); - d = repnum(nt2::Oneo_10(), n, 1); - yfirstfirst=ybest; - } - } - } while ((restart)&&(nbeval -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief hjmin generic tag - - Represents the hjmin function in generic contexts. - - @par Models: - Hierarchy - **/ - struct hjmin_ : ext::unspecified_ - { - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_hjmin_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_hjmin_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_hjmin_; - } - /*! - * Apply hjmin (Hooke-Jeeves) algorithm to find local minimum of a function - * - * \param f Function to optimize - * \param init Initial value - * \param stps Initial step(s) in every (each) direction - * \param opt Options pack related to the minimization handling - * - * \return a tuple containing the result of the minimization, the value of the - * function at minimum, the number of required iteration and a boolean - * notifying success of convergence. - * - * Hooke-Jeeves Pattern Moves is in a sense the simplest of all optimization - * algorithms. At each iteration, this method first defines a pattern of - * points by moving each parameter one by one, so as to optimize the - * current loss function. The entire pattern of points is then shifted or - * moved to a new location; this new location is determined by - * extrapolating the line from the old base point in the m dimensional - * parameter space to the new base point. The step sizes in this process - * are constantly adjusted to "zero in" on the respective optimum. This - * method is usually quite effective, and should be tried if both the - * quasi-Newton and Simplex methods fail to produce reasonable estimates. - */ - - - template - BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - hjmin(F f, A init, H stps, nt2::details::option_expr const& opt) - { - typename boost::dispatch::make_functor::type callee; - return callee ( f - , init - , stps - , details::optimization_settings(opt) - ); - } - /// @overload - template BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - hjmin(F f, A init, H stps) - { - typename boost::dispatch::make_functor::type callee; - return callee ( f - , init - , stps - , details::optimization_settings() - ); - } -} - - - -#endif diff --git a/inst/include/nt2/optimization/functions/levenberg.hpp b/inst/include/nt2/optimization/functions/levenberg.hpp deleted file mode 100644 index 7c6d067..0000000 --- a/inst/include/nt2/optimization/functions/levenberg.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_LEVENBERG_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_LEVENBERG_HPP_INCLUDED -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief levenberg generic tag - - Represents the levenberg function in generic contexts. - - @par Models: - Hierarchy - **/ - struct levenberg_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_levenberg_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_levenberg_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_levenberg_; - } - /*! - * Apply levenberg algorithm to find local minimum of a function - * - * \param f Function to optimize - * \param init Initial value - * \param which Which are the unknowns we want to optimize - * \param opt Options pack related to the minimization handling - * - * \return a tuple containing the result of the minimization, the value of the - * function at minimum, the number of required iteration and a boolean - * notifying success of convergence. - */ - - template - BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - levenberg(F f, A init, H which, nt2::details::option_expr const& opt) - { - typename boost::dispatch::make_functor::type callee; - return callee ( f - , init - , which - , details::optimization_settings(opt) - ); - } - /// @overload - template BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - levenberg(F f, A init, H which) - { - typename boost::dispatch::make_functor::type callee; - return callee ( f - , init - , which - , details::optimization_settings() - ); - } -} - - - -#endif diff --git a/inst/include/nt2/optimization/functions/neldermead.hpp b/inst/include/nt2/optimization/functions/neldermead.hpp deleted file mode 100644 index 83a9ceb..0000000 --- a/inst/include/nt2/optimization/functions/neldermead.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_NELDERMEAD_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_NELDERMEAD_HPP_INCLUDED -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief neldermead generic tag - - Represents the neldermead function in generic contexts. - - @par Models: - Hierarchy - **/ - struct neldermead_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_neldermead_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_neldermead_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_neldermead_; - } - /*! - Apply neldermead algorithm to find local minimum of a function - - \param f Function to optimize - \param init Initial value - \param steps Which are the unknowns we want to optimize - \param opt Options pack related to the minimization handling - - \return a tuple containing the result of the minimization, the value of the - function at minimum, the number of required iteration and a boolean - notifying success of convergence. - From original FORTRAN77 version by R ONeill. - - Reference: - - John Nelder, Roger Mead, - A simplex method for function minimization, - Computer Journal, - Volume 7, 1965, pages 308-313. - - R ONeill, - Algorithm AS 47: - Function Minimization Using a Simplex Procedure, - Applied Statistics, - Volume 20, Number 3, 1971, pages 338-345. - */ - - template - BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - neldermead(F f, A init, H steps, nt2::details::option_expr const& opt) - { - typename boost::dispatch::make_functor::type callee; - return callee ( f - , init - , steps - , details::optimization_settings(opt) - ); - } - /// @overload - template BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - neldermead(F f, A init, H steps) - { - typename boost::dispatch::make_functor::type callee; - return callee ( f - , init - , steps - , details::optimization_settings() - ); - } -} - - - -#endif diff --git a/inst/include/nt2/optimization/functions/rosenbrock.hpp b/inst/include/nt2/optimization/functions/rosenbrock.hpp deleted file mode 100644 index 7eaaf18..0000000 --- a/inst/include/nt2/optimization/functions/rosenbrock.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_FUNCTIONS_ROSENBROCK_HPP_INCLUDED -#define NT2_OPTIMIZATION_FUNCTIONS_ROSENBROCK_HPP_INCLUDED -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief rosenbrock generic tag - - Represents the rosenbrock function in generic contexts. - - @par Models: - Hierarchy - **/ - struct rosenbrock_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_rosenbrock_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_rosenbrock_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_rosenbrock_; - } - /*! - * Apply rosenbrock algorithm to find local minimum of a function - * - * \param f Function to optimize - * \param init Initial value - * \param opt Options pack related to the minimization handling - * - * \return a tuple containing the result of the minimization, the value of the - * function at minimum, the number of required iteration and a boolean - * notifying success of convergence. - */ - - template - BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - rosenbrock(F f, A init, nt2::details::option_expr const& opt) - { - typename boost::dispatch::make_functor::type callee; - return callee ( f - , init - , details::optimization_settings(opt) - ); - } - /// @overload - template BOOST_FORCEINLINE - typename boost::dispatch::meta - ::call const& - ) - >::type - rosenbrock(F f, A init) - { - typename boost::dispatch::make_functor::type callee; - return callee ( f - , init - , details::optimization_settings() - ); - } -} - - - -#endif diff --git a/inst/include/nt2/optimization/include/functions/brent.hpp b/inst/include/nt2/optimization/include/functions/brent.hpp deleted file mode 100644 index 406d918..0000000 --- a/inst/include/nt2/optimization/include/functions/brent.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_BRENT_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_BRENT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/hjmin.hpp b/inst/include/nt2/optimization/include/functions/hjmin.hpp deleted file mode 100644 index 87be552..0000000 --- a/inst/include/nt2/optimization/include/functions/hjmin.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_HJMIN_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_HJMIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/levenberg.hpp b/inst/include/nt2/optimization/include/functions/levenberg.hpp deleted file mode 100644 index bc54fd4..0000000 --- a/inst/include/nt2/optimization/include/functions/levenberg.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_LEVENBERG_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_LEVENBERG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/neldermead.hpp b/inst/include/nt2/optimization/include/functions/neldermead.hpp deleted file mode 100644 index d99fc10..0000000 --- a/inst/include/nt2/optimization/include/functions/neldermead.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_NELDERMEAD_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_NELDERMEAD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/rosenbrock.hpp b/inst/include/nt2/optimization/include/functions/rosenbrock.hpp deleted file mode 100644 index d88143d..0000000 --- a/inst/include/nt2/optimization/include/functions/rosenbrock.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_ROSENBROCK_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_ROSENBROCK_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/scalar/brent.hpp b/inst/include/nt2/optimization/include/functions/scalar/brent.hpp deleted file mode 100644 index 0823e52..0000000 --- a/inst/include/nt2/optimization/include/functions/scalar/brent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_BRENT_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_BRENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/scalar/hjmin.hpp b/inst/include/nt2/optimization/include/functions/scalar/hjmin.hpp deleted file mode 100644 index 7f85ebd..0000000 --- a/inst/include/nt2/optimization/include/functions/scalar/hjmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_HJMIN_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_HJMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/scalar/levenberg.hpp b/inst/include/nt2/optimization/include/functions/scalar/levenberg.hpp deleted file mode 100644 index 2c823f3..0000000 --- a/inst/include/nt2/optimization/include/functions/scalar/levenberg.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_LEVENBERG_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_LEVENBERG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/scalar/neldermead.hpp b/inst/include/nt2/optimization/include/functions/scalar/neldermead.hpp deleted file mode 100644 index 20df86d..0000000 --- a/inst/include/nt2/optimization/include/functions/scalar/neldermead.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_NELDERMEAD_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_NELDERMEAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/scalar/rosenbrock.hpp b/inst/include/nt2/optimization/include/functions/scalar/rosenbrock.hpp deleted file mode 100644 index 0b765e4..0000000 --- a/inst/include/nt2/optimization/include/functions/scalar/rosenbrock.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_ROSENBROCK_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SCALAR_ROSENBROCK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/simd/brent.hpp b/inst/include/nt2/optimization/include/functions/simd/brent.hpp deleted file mode 100644 index 784f92b..0000000 --- a/inst/include/nt2/optimization/include/functions/simd/brent.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_BRENT_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_BRENT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/simd/hjmin.hpp b/inst/include/nt2/optimization/include/functions/simd/hjmin.hpp deleted file mode 100644 index 1f6ee6c..0000000 --- a/inst/include/nt2/optimization/include/functions/simd/hjmin.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_HJMIN_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_HJMIN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/simd/levenberg.hpp b/inst/include/nt2/optimization/include/functions/simd/levenberg.hpp deleted file mode 100644 index d76f66d..0000000 --- a/inst/include/nt2/optimization/include/functions/simd/levenberg.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_LEVENBERG_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_LEVENBERG_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/simd/neldermead.hpp b/inst/include/nt2/optimization/include/functions/simd/neldermead.hpp deleted file mode 100644 index 2c53c96..0000000 --- a/inst/include/nt2/optimization/include/functions/simd/neldermead.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_NELDERMEAD_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_NELDERMEAD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/include/functions/simd/rosenbrock.hpp b/inst/include/nt2/optimization/include/functions/simd/rosenbrock.hpp deleted file mode 100644 index f0fb16a..0000000 --- a/inst/include/nt2/optimization/include/functions/simd/rosenbrock.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_ROSENBROCK_HPP_INCLUDED -#define NT2_OPTIMIZATION_INCLUDE_FUNCTIONS_SIMD_ROSENBROCK_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/optimization/optimization.hpp b/inst/include/nt2/optimization/optimization.hpp deleted file mode 100644 index d455bc9..0000000 --- a/inst/include/nt2/optimization/optimization.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_OPTIMIZATION_OPTIMIZATION_HPP_INCLUDED -#define NT2_OPTIMIZATION_OPTIMIZATION_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/optimization/options.hpp b/inst/include/nt2/optimization/options.hpp deleted file mode 100644 index f4dfbd4..0000000 --- a/inst/include/nt2/optimization/options.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_OPTIONS_HPP_INCLUDED -#define NT2_OPTIMIZATION_OPTIONS_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - /** - * Named parameter for passing number of iterations to iterative algortihms - **/ - NT2_REGISTER_PARAMETERS(iterations_); - - namespace tolerance - { - /** - * Named parameter for passing absolute tolerance to iterative algorithms - **/ - NT2_REGISTER_PARAMETERS(absolute_); - - /** - * Named parameter for passing relative tolerance to iterative algorithms - **/ - NT2_REGISTER_PARAMETERS(relative_); - - /** - * Named parameter for passing residual tolerance to iterative algorithms - **/ - NT2_REGISTER_PARAMETERS(residual_); - } -} - -namespace nt2 { namespace details -{ - // INTERNAL ONLY - // optimization_settings gather the classical set of settings required - // for an optimization process from either the list of values or from an - // options pack expressions - template struct optimization_settings - { - typedef T value_type; - - // required on MSVC for some unknown reason - BOOST_FORCEINLINE static T Sqrteps() { return nt2::Sqrteps(); } - - optimization_settings ( std::size_t it = 100 - , value_type at = Sqrteps() - , value_type rt = Sqrteps() - , value_type rst = Sqrteps() - ) - : maximum_iterations(it), absolute_tolerance(at) - , relative_tolerance(rt), residual_tolerance(rst) - {} - - template - optimization_settings ( nt2::details::option_expr const& x) - : maximum_iterations(x(nt2::iterations_ , 100 )) - , absolute_tolerance(x(nt2::tolerance::absolute_, nt2::Sqrteps() )) - , relative_tolerance(x(nt2::tolerance::relative_, nt2::Sqrteps() )) - , residual_tolerance(x(nt2::tolerance::residual_, nt2::Sqrteps() )) - {} - - std::size_t maximum_iterations; - value_type absolute_tolerance; - value_type relative_tolerance; - value_type residual_tolerance; - }; -} } - -#endif diff --git a/inst/include/nt2/optimization/output.hpp b/inst/include/nt2/optimization/output.hpp deleted file mode 100644 index b1cd45d..0000000 --- a/inst/include/nt2/optimization/output.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_OPTIMIZATION_OUTPUT_HPP_INCLUDED -#define NT2_OPTIMIZATION_OUTPUT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace optimization -{ - template struct output - { - T minimum; - R value; - std::size_t iterations_count; - bool successful; - T covar; - }; -} } - -BOOST_FUSION_ADAPT_TPL_STRUCT -( - (T)(R), - (nt2::optimization::output)(T)(R), - (T , minimum) - (R , value) - (std::size_t, iterations_count) - (bool , successful) - (T , covariance) -); - -#endif diff --git a/inst/include/nt2/options.hpp b/inst/include/nt2/options.hpp deleted file mode 100644 index 75696f2..0000000 --- a/inst/include/nt2/options.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_OPTIONS_HPP_INCLUDED -#define NT2_OPTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/category.hpp b/inst/include/nt2/polynom/category.hpp deleted file mode 100644 index 79b1014..0000000 --- a/inst/include/nt2/polynom/category.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_CATEGORY_HPP_INCLUDED -#define NT2_POLYNOM_CATEGORY_HPP_INCLUDED - - - -namespace nt2 { - -} - - -#endif - -// ///////////////////////////////////////////////////////////////////////////// -// End of category.hpp -// ///////////////////////////////////////////////////////////////////////////// diff --git a/inst/include/nt2/polynom/constants.hpp b/inst/include/nt2/polynom/constants.hpp deleted file mode 100644 index 47437f3..0000000 --- a/inst/include/nt2/polynom/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_POLYNOM_CONSTANTS_HPP_INCLUDED -#define NT2_POLYNOM_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/polynom/functions.hpp b/inst/include/nt2/polynom/functions.hpp deleted file mode 100644 index 4390151..0000000 --- a/inst/include/nt2/polynom/functions.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef NT2_POLYNOM_FUNCTIONS_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/functions/compan.hpp b/inst/include/nt2/polynom/functions/compan.hpp deleted file mode 100644 index 270967a..0000000 --- a/inst/include/nt2/polynom/functions/compan.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_COMPAN_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_COMPAN_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - /*! - @brief compan generic tag - - Represents the compan function in generic contexts. - - @par Models: - Hierarchy - **/ - struct compan_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_compan_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_compan_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_compan_; - } - /*! - returns the companion matrix of the input polynomial. - - @par Semantic: - - For every expression representing a polynomial - - @code - auto r = compan(p); - @endcode - - @par Note: - - The eigenvalues of @c compan(p) are the roots of the polynomial. - - The first row of r is -p(_(2, n))/p(1). - - null polynomial has compan -1 and - non null constant polynomial has compan 0 - - @see @funcref{colon} - - @param a0 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::compan_,compan, 1) -} -#endif diff --git a/inst/include/nt2/polynom/functions/conv.hpp b/inst/include/nt2/polynom/functions/conv.hpp deleted file mode 100644 index b030c85..0000000 --- a/inst/include/nt2/polynom/functions/conv.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_CONV_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_CONV_HPP_INCLUDED - -#include - -namespace nt2 { namespace tag - { - /*! - @brief conv generic tag - - Represents the conv function in generic contexts. - - @par Models: - Hierarchy - **/ - struct conv_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_conv_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_conv_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_conv_; - } - /*! - - Polynomials multiplication and vectors convolution - - @par Semantic: - - For every expressions a, b representing a polynomial: - - @code - auto r = conv(a, b, shape); - @endcode - - convolves vectors a and b. - - - c = conv(a, b, shape) returns a subvector of the convolution with size - specified by shape: - - 'f' (default) returns the 'full' convolution, - - 's' returns the central part of the convolution that is the 'same' size as a. - - 'v' returns only those 'valid' parts of the convolution that are computed without the zero-padded edges. - - If a and b are vectors representing polynomial coefficients, convolving them is almost - equivalent to multiplying the two polynoms. - @see @funcref{numel} - - @param a0 - - @param a1 - - @return returns an expression - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::conv_, conv, 2) - -} - -#endif diff --git a/inst/include/nt2/polynom/functions/deconv.hpp b/inst/include/nt2/polynom/functions/deconv.hpp deleted file mode 100644 index 76bc923..0000000 --- a/inst/include/nt2/polynom/functions/deconv.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_DECONV_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_DECONV_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - @brief deconv generic tag - - Represents the deconv function in generic contexts. - - @par Models: - Hierarchy - **/ - struct deconv_ : ext::tieable_ - { - /// @brief Parent hierarchy - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_deconv_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_deconv_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_deconv_; - } - /*! - Polynominial euclidian division - - @par Semantic: - - For every expressions representing polynomials a and b - - @code - tie(q, r)= deconv(a, b); - @endcode - - Produces 2 polynomials q and r such that (mathematically), - a = bq+r and degree(r) < degree(b) - - @param a0 - - @param a1 - - @return a pair of polynomials - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::deconv_, deconv, 2) -} - -#endif diff --git a/inst/include/nt2/polynom/functions/degree.hpp b/inst/include/nt2/polynom/functions/degree.hpp deleted file mode 100644 index 5843173..0000000 --- a/inst/include/nt2/polynom/functions/degree.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_DEGREE_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_DEGREE_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - /*! - @brief degree generic tag - - Represents the degree function in generic contexts. - - @par Models: - Hierarchy - **/ - struct degree_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_degree_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_degree_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_degree_; - } - /*! - returns the degree of the input polynomial expression. - - @par Semantic: - - For every expression representing a polynomial: - - @code - ptrdiff_t r = degree(p); - @endcode - - The degree is the greatest exponent associated to a non null coefficient. - null polynomial has degree -1 - non null constant polynomial has degree 0 - - - @param a0 - - @return an integral value - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::degree_,degree, 1) -} -#endif diff --git a/inst/include/nt2/polynom/functions/expr/compan.hpp b/inst/include/nt2/polynom/functions/expr/compan.hpp deleted file mode 100644 index 5261e0e..0000000 --- a/inst/include/nt2/polynom/functions/expr/compan.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_COMPAN_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_COMPAN_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compan_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - - typedef typename A0::value_type value_type; - typedef typename nt2::meta::call::type S; - typedef typename nt2::meta::call::type T0; - typedef meta::as_ T1; - typedef typename nt2::meta::call::type T2; - typedef typename nt2::meta::call::type T3; - typedef typename nt2::meta::call::type T4; - typedef typename nt2::meta::call::type T5; - typedef typename nt2::meta::call::type T6; - typedef typename nt2::meta::call::type T7; - typedef typename nt2::meta::call::type result_type; - NT2_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(isvector(a0), "Input argument must be a vector."); - BOOST_AUTO_TPL(p, nt2::reduce(nt2::rowvect(a0))); - size_t np = nt2::numel(p); - value_type f = nt2::One(); - if (np) f = -p(1); - ptrdiff_t nd = np-2 ? -1 :0; - BOOST_AUTO_TPL(d, nt2::from_diag(nt2::ones(nt2::of_size(1, np-2), meta::as_()), nd)); - BOOST_AUTO_TPL(g, p(nt2::_(nt2::Two(), np ))/f); - BOOST_AUTO_TPL(h, d(nt2::_(nt2::Two(), size_t(np-1)), nt2::_)); - return nt2::catv(g, h); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/compan1.hpp b/inst/include/nt2/polynom/functions/expr/compan1.hpp deleted file mode 100644 index 9cd214f..0000000 --- a/inst/include/nt2/polynom/functions/expr/compan1.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_COMPAN1_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_COMPAN1_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compan_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - - typedef typename A0::value_type value_type; - typedef typename nt2::meta::call::type S; - typedef typename nt2::meta::call::type T0; - typedef meta::as_ T1; - typedef typename nt2::meta::call::type T2; - typedef typename nt2::meta::call::type T3; - typedef typename nt2::meta::call::type T4; - typedef typename nt2::meta::call::type T5; - typedef typename nt2::meta::call::type T6; - typedef typename nt2::meta::call::type T7; - typedef typename nt2::meta::call::type T8; - typedef T8 result_type; - NT2_FUNCTOR_CALL(1) - { - BOOST_ASSERT_MSG(isvector(a0), "Input argument must be a vector."); - BOOST_AUTO_TPL(p, nt2::reduce(nt2::rowvect(a0))); - size_t np = nt2::numel(p); - value_type f = nt2::One(); - if (np) f = -p(1); - ptrdiff_t nd = np-2 ? -1 :0; - BOOST_AUTO_TPL(d, nt2::from_diag(nt2::ones(nt2::of_size(1, np-2), meta::as_()), nd)); - BOOST_AUTO_TPL(g, p(nt2::_(nt2::Two(), np ))/f); - BOOST_AUTO_TPL(h, d(nt2::_(nt2::Two(), size_t(np-1)), nt2::_)); - return nt2::catv(g, h); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/conv.hpp b/inst/include/nt2/polynom/functions/expr/conv.hpp deleted file mode 100644 index 7fa1a78..0000000 --- a/inst/include/nt2/polynom/functions/expr/conv.hpp +++ /dev/null @@ -1,133 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_CONV_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_CONV_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2{ namespace ext -{ - - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::type A0; - typedef _2D result_type; - BOOST_FORCEINLINE result_type operator ()(Expr& e) const - { - result_type sizee; - sizee[0] = 1; - size_t na = nt2::numel(boost::proto::child_c<0>(e)); - size_t nb = nt2::numel(boost::proto::child_c<1>(e)); - sizee[1] = std::max(std::max(na+nb ? na+nb-1u : 0u,na),nb); - return sizee; - } - }; - - template - struct value_type - : meta::value_as - {}; - - BOOST_DISPATCH_IMPLEMENT ( conv_, tag::cpu_, - (A0), - (scalar_ >) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A0 const& a1), - ( conv(nt2::repnum(a0, 1, 1), nt2::repnum(a1, 1, 1))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( conv_, tag::cpu_, - (A0)(A1), - (scalar_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - ( conv(nt2::repnum(a0, 1, 1), a1)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( conv_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - ( conv(a0, nt2::repnum(a1, 1, 1))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_ )) - ) - { - typedef typename boost::proto::result_of::child_c::type In0; - typedef typename boost::proto::result_of::child_c::type In1; - typedef typename A1::value_type v_t; - typedef typename nt2::container::table tab_t; - typedef A0& result_type; - result_type operator()(A0& out, const A1& in) const - { - tab_t r; - In0 a = boost::proto::child_c<0>(in); - In1 b = boost::proto::child_c<1>(in); - BOOST_ASSERT_MSG(nt2::isvector(a)&&nt2::isvector(b), "a0 and a1 must be vectors."); - size_t na = nt2::numel(a); - size_t nb = nt2::numel(b); - size_t dim = na+nb ? na+nb-1u : 0u; - out.resize(of_size(1, dim)); - if (nt2::isempty(a) || nt2::isempty(b)) - out = nt2::zeros(extent(out), meta::as_()); - else - { - r = nt2::eye(dim, meta::as_()); - for(size_t i=1; i <= na; ++i) - r(nt2::_(i, (i-1)+nb), i) = nt2::colvect(b); - - BOOST_AUTO_TPL(tmp, nt2::catv(nt2::colvect(a), nt2::zeros(nb ? nb-1u :0u, 1, meta::as_()))); - out = nt2::mtimes(r, tmp); - out.resize(of_size(1, numel(out))); - } - return out; - } - }; -} } - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/deconv.hpp b/inst/include/nt2/polynom/functions/expr/deconv.hpp deleted file mode 100644 index 8f4ebe9..0000000 --- a/inst/include/nt2/polynom/functions/expr/deconv.hpp +++ /dev/null @@ -1,148 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_DECONV_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_DECONV_HPP_INCLUDED -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - { - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - _2D sizee; - sizee[0] = 1; - sizee[1] = nt2::numel(boost::proto::child_c<0>(e)) > nt2::numel(boost::proto::child_c<1>(e)) ? - nt2::numel(boost::proto::child_c<0>(e))-nt2::numel(boost::proto::child_c<1>(e))+1 : 0; - return sizee; - } - }; - - template - struct value_type - : meta::value_as - {}; - - BOOST_DISPATCH_IMPLEMENT ( deconv_, tag::cpu_, - (A0), - (scalar_ >) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A0 const& a1), - ( deconv(nt2::repnum(a0, 1, 1), nt2::repnum(a1, 1, 1))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( deconv_, tag::cpu_, - (A0)(A1), - (scalar_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - ( deconv(nt2::repnum(a0, 1, 1), a1)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( deconv_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - ( deconv(a0, nt2::repnum(a1, 1, 1))) - ) - }; - - //============================================================================ - // This version of balance is called whenever a tie(...) = balance(...) is captured - // before assign is resolved. As a tieable function, balance retrieves rhs/lhs - // pair as inputs - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( deconv_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_)) - ((node_)) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::type q_type; - typedef typename boost::proto::result_of::child_c::type a_type; - typedef typename boost::proto::result_of::child_c::type b_type; - typedef typename A0::value_type v_t; - typedef typename nt2::container::table tab_t; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - compute(a0, a1, N1()); - } - - private: - template < class N > - BOOST_FORCEINLINE void compute(A0& a0, A1& a1,N const & n1) const - { - a_type a = boost::proto::child_c<0>(a0); - b_type b = boost::proto::child_c<1>(a0); - size_t na = nt2::numel(a); - size_t nb = nt2::numel(b); - q_type qr = boost::proto::child_c<0>(a1); - size_t nq; - if(na < nb) - { - nq = 0; - qr = b; - } - else - { - nq = na+1-nb; - tab_t m = nt2::eye(numel(a),meta::as_()); - for(size_t i=1; i <= nq; ++i) - { - m(nt2::_(i, (i-1)+nb), i) = nt2::colvect(b); - } - tab_t bb = nt2::linsolve(m, nt2::colvect(a)); - qr = nt2::rowvect(bb); - } - get_values(a1,qr,nq,n1); - } - - void get_values(A1&, q_type qr, const size_t& nq, boost::mpl::long_<1> const &) const - { - qr.resize(nt2::of_size(1, nq)); - } - void get_values(A1& a1, q_type qr, const size_t& nq, boost::mpl::long_<2> const &) const - { - typedef typename boost::proto::result_of::child_c::type r_type; - r_type r = boost::proto::child_c<1>(a1); - r = qr(nt2::_(nq+1, nt2::end_)); - qr.resize(nt2::of_size(1, nq)); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/degree.hpp b/inst/include/nt2/polynom/functions/expr/degree.hpp deleted file mode 100644 index b8c7ab0..0000000 --- a/inst/include/nt2/polynom/functions/expr/degree.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_DEGREE_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_DEGREE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( degree_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - - typedef ptrdiff_t result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::size(reduce(a0), 2)-1; ; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( degree_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - - typedef ptrdiff_t result_type; - NT2_FUNCTOR_CALL(1) - { - return -real(if_zero_else_one(a0)); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/polyadd.hpp b/inst/include/nt2/polynom/functions/expr/polyadd.hpp deleted file mode 100644 index 1846b74..0000000 --- a/inst/include/nt2/polynom/functions/expr/polyadd.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_POLYADD_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_POLYADD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2{ namespace ext -{ - - BOOST_DISPATCH_IMPLEMENT ( polyadd_, tag::cpu_, - (A0), - (scalar_ >) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A0 const& a1), - ( polyadd(nt2::_(a0, a0), nt2::_(a1, a1))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( polyadd_, tag::cpu_, - (A0)(A1), - (scalar_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A0 const& a1), - ( polyadd(nt2::_(a0, a0), a1)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( polyadd_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A0 const& a1), - ( polyadd(a0, nt2::_(a1, a1))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( polyadd_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef typename A0::value_type value_type; - typedef typename nt2::meta::call::type TA0; - typedef typename nt2::meta::call::type TA1; - typedef typename nt2::meta::call)>::type S; - typedef typename nt2::meta::call::type T0; - typedef typename nt2::meta::call::type T1; - typedef typename nt2::meta::call::type T2; - typedef typename nt2::meta::call::type result_type; - result_type operator()(const A0& a, const A1& b) const - { - BOOST_AUTO_TPL( aa, nt2::reduce(a)); - BOOST_AUTO_TPL( bb, nt2::reduce(b)); - size_t na = nt2::numel(aa); - size_t nb = nt2::numel(bb); - size_t n2 = na > nb ? na-nb : 0; - size_t n1 = nb > na ? nb-na : 0; - BOOST_AUTO_TPL( aaa, nt2::cath(nt2::zeros(nt2::One(), n1, meta::as_()), aa)); - BOOST_AUTO_TPL( bbb, nt2::cath(nt2::zeros(nt2::One(), n2, meta::as_()), bb)); - return nt2::reduce(nt2::plus(aaa, bbb)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/polyder.hpp b/inst/include/nt2/polynom/functions/expr/polyder.hpp deleted file mode 100644 index 22aa3e5..0000000 --- a/inst/include/nt2/polynom/functions/expr/polyder.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_POLYDER_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_POLYDER_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( polyder_, tag::cpu_, - (A0), - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - ( polyder(nt2::_(a0, a0))) - ) - }; - BOOST_DISPATCH_IMPLEMENT ( polyder_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename nt2::meta::call::type T0; - typedef typename nt2::meta::call::type T1; - typedef typename nt2::meta::call::type T2; - typedef typename nt2::meta::call::type result_type; - NT2_FUNCTOR_CALL(1) - { - size_t na0 = nt2::numel(a0); - na0 = na0 ? na0-1u:0u; - return nt2::multiplies(a0(One(), nt2::_(nt2::One(), na0)), - nt2::_(real_type(na0), nt2::Mone(), One())); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( polyder_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - - typedef typename A0::value_type value_type; - typedef typename nt2::meta::call::type T0; - typedef typename nt2::meta::call::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::polyder(nt2::conv(a0, a1)); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/polyfit.hpp b/inst/include/nt2/polynom/functions/expr/polyfit.hpp deleted file mode 100644 index 336a635..0000000 --- a/inst/include/nt2/polynom/functions/expr/polyfit.hpp +++ /dev/null @@ -1,168 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_POLYFIT_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_POLYFIT_HPP_INCLUDED - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { - - template < class T> struct polyfit_infos - { - typedef T value_type; -// polyfit_infos is a structure containing three elements: the triangular factor from a -// qr decomposition of the vandermonde matrix, the degrees of freedom and -// the norm of the residuals. - nt2::container::table r; - size_t df; - value_type normr; - }; - - - namespace ext - { - //============================================================================ - // This version of polyfit is called whenever a tie(...) = balance(...) is captured - // before assign is resolved. As a tieable function, balance retrieves rhs/lhs - // pair as inputs - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( polyfit_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_)) - ((node_)) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::value_type p_type; - typedef typename boost::proto::result_of::child_c::value_type x_type; - typedef typename boost::proto::result_of::child_c::value_type y_type; - typedef typename p_type::value_type value_type; - typedef polyfit_infos s_type; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - // Copy data in output first - x_type x = boost::proto::child_c<0>(a0); - y_type y = boost::proto::child_c<1>(a0); - size_t l = lval(a0, N0()); - polcoefs(a1, x, y, l, N1()); - } - - private: - BOOST_FORCEINLINE size_t lval(A0& a0, boost::mpl::long_<3> const &) const - { - return size_t(boost::proto::child_c<2>(a0))+1; - } - template < class T > BOOST_FORCEINLINE size_t lval(A0& a0, T const &) const - { - return nt2::numel(boost::proto::child_c<0>(a0)); - } - - BOOST_FORCEINLINE - void polcoefs(A1& a1, x_type const & x, y_type const &y, - const size_t & l, boost::mpl::long_<1> const &) const - { - BOOST_AUTO_TPL(p, boost::proto::child_c<0>(a1)); - BOOST_AUTO_TPL(vnd, nt2::vandermonde(nt2::colvect(x), l)); - p = nt2::rowvect(nt2::linsolve(vnd, nt2::colvect(y))); - p.resize(of_size(nt2::width(vnd),1u )); - } - - BOOST_FORCEINLINE - void polcoefs(A1 &a1, x_type const & x, y_type const &y, - const size_t & l, boost::mpl::long_<2> const &) const - { - BOOST_AUTO_TPL(p, boost::proto::child_c<0>(a1)); - BOOST_AUTO_TPL(s, boost::proto::child_c<1>(a1)); - BOOST_AUTO_TPL(vnd, nt2::vandermonde(nt2::colvect(x), l)); - nt2::container::table fact = vnd; - p = nt2::colvect(y); - nt2::gels( boost::proto::value(fact),boost::proto::value(p) ); - s.r = nt2::triu(fact(nt2::_(1, std::min(nt2::height(fact),nt2::width(fact))), nt2::_) ); - p.resize(of_size(nt2::width(vnd),1u )); - s.df = nt2::subs(nt2::length(y), nt2::oneplus(l)); - s.normr = nt2::globalnorm2(colvect(y)-nt2::mtimes(vnd, p)); - } - - BOOST_FORCEINLINE - void polcoefs(A1 &a1, x_type const & x, y_type const &y, - const size_t & l, boost::mpl::long_<4> const &) const - { - typedef typename boost::proto::result_of::child_c::value_type cdf_type; - typedef typename cdf_type::value_type df_type; - BOOST_AUTO_TPL(p, boost::proto::child_c<0>(a1)); - BOOST_AUTO_TPL(r, boost::proto::child_c<1>(a1)); - BOOST_AUTO_TPL(df, boost::proto::child_c<2>(a1)); - BOOST_AUTO_TPL(normr, boost::proto::child_c<3>(a1)); - BOOST_AUTO_TPL(vnd, nt2::vandermonde(nt2::colvect(x), l)); - nt2::container::table fact = vnd; - p = colvect(y); - nt2::gels(boost::proto::value(fact),boost::proto::value(p) ); - r = nt2::triu(fact(nt2::_(1, std::min(nt2::height(fact),nt2::width(fact))), nt2::_) ); - p.resize(of_size(nt2::width(vnd),1u )); - df = df_type(nt2::subs(nt2::numel(y), l)); - normr = nt2::globalnorm2(colvect(y)-nt2::mtimes(vnd, p)); - } - - BOOST_FORCEINLINE - void polcoefs(A1 &a1, x_type const & x, y_type const &y, - const size_t & l, boost::mpl::long_<5> const &) const - { - typedef typename boost::proto::result_of::child_c::value_type cdf_type; - typedef typename cdf_type::value_type df_type; - BOOST_AUTO_TPL(mu, boost::proto::child_c<4>(a1)); - mu.resize(nt2::of_size(1, 2)); - mu(1) = globalmean(x); - mu(2) = globalstdev(x); - BOOST_AUTO_TPL(p, boost::proto::child_c<0>(a1)); - BOOST_AUTO_TPL(r, boost::proto::child_c<1>(a1)); - BOOST_AUTO_TPL(df, boost::proto::child_c<2>(a1)); - BOOST_AUTO_TPL(normr, boost::proto::child_c<3>(a1)); - BOOST_AUTO_TPL(vnd, nt2::vandermonde( (nt2::colvect(x)-mu(1))/mu(2), l)); - nt2::container::table fact = vnd; - p = colvect(y); - nt2::gels(boost::proto::value(fact),boost::proto::value(p) ); - r = nt2::triu(fact(nt2::_(1, std::min(nt2::height(fact),nt2::width(fact))), nt2::_) ); - p.resize(of_size(nt2::width(vnd),1u )); - df = df_type(nt2::subs(nt2::numel(y), l)); - normr = nt2::globalnorm2(colvect(y)-nt2::mtimes(vnd, p)); - } - - - }; - } -} - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/polyint.hpp b/inst/include/nt2/polynom/functions/expr/polyint.hpp deleted file mode 100644 index 2d473a3..0000000 --- a/inst/include/nt2/polynom/functions/expr/polyint.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_POLYINT_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_POLYINT_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( polyint_, tag::cpu_, - (A0), - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - ( polyint(nt2::_(a0, a0))) - ) - }; - BOOST_DISPATCH_IMPLEMENT ( polyint_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type real_type; - typedef typename nt2::meta::call::type T0; - typedef typename nt2::meta::call::type T1; - typedef typename nt2::meta::call::type result_type; - NT2_FUNCTOR_CALL(2) - { - return nt2::cath(a0/nt2::_(real_type(nt2::numel(a0)), Mone(), One()), value_type(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( polyint_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - - typedef typename A0::value_type value_type; - typedef typename nt2::meta::call::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::polyint(a0, Zero()); - } - }; - -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/polysub.hpp b/inst/include/nt2/polynom/functions/expr/polysub.hpp deleted file mode 100644 index 5a14dc2..0000000 --- a/inst/include/nt2/polynom/functions/expr/polysub.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_POLYSUB_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_POLYSUB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2{ namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( polysub_, tag::cpu_, - (A0), - (scalar_ >) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A0 const& a1), - ( polysub(nt2::_(a0, a0), nt2::_(a1, a1))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( polysub_, tag::cpu_, - (A0)(A1), - (scalar_ >) - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A0 const& a1), - ( polysub(nt2::_(a0, a0), a1)) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( polysub_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A0 const& a1), - ( polysub(a0, nt2::_(a1, a1))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( polysub_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef typename A0::value_type value_type; - typedef typename nt2::meta::call::type TA0; - typedef typename nt2::meta::call::type TA1; - typedef typename nt2::meta::call)>::type S; - typedef typename nt2::meta::call::type T0; - typedef typename nt2::meta::call::type T1; - typedef typename nt2::meta::call::type T2; - typedef typename nt2::meta::call::type result_type; - result_type operator()(const A0& a, const A1& b) const - { - BOOST_AUTO_TPL( aa, nt2::reduce(a)); - BOOST_AUTO_TPL( bb, nt2::reduce(b)); - size_t na = nt2::numel(aa); - size_t nb = nt2::numel(bb); - size_t n2 = na > nb ? na-nb : 0; - size_t n1 = nb > na ? nb-na : 0; - BOOST_AUTO_TPL( aaa, cath(zeros(nt2::One(), n1, meta::as_()), aa)); - BOOST_AUTO_TPL( bbb, cath(zeros(nt2::One(), n2, meta::as_()), bb)); - return nt2::reduce(nt2::minus(aaa, bbb)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/polyval.hpp b/inst/include/nt2/polynom/functions/expr/polyval.hpp deleted file mode 100644 index 0f1f5f4..0000000 --- a/inst/include/nt2/polynom/functions/expr/polyval.hpp +++ /dev/null @@ -1,190 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_POLYVAL_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_POLYVAL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( polyval_, tag::cpu_ - , (A0)(A1) - , (scalar_ > )(scalar_ > ) - ) - { - - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - return a0*a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( polyval_, tag::cpu_ - , (A0)(A1) - , (unspecified_)(scalar_ > ) - ) - { - - typedef typename A0::value_type value_type; - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - if (isempty(a0)) return Zero(); - value_type ans = a0(1); - for(size_t i = 2; i <= numel(a0); ++i) - { -// ans = fma(ans, a1, a0(i)); - ans *= a1; - ans += a0(i); - } - return ans; - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( polyval_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_)) - ((node_)) - ) - { - typedef void result_type; - typedef typename boost::proto::result_of::child_c::type v_type; - typedef typename boost::proto::result_of::child_c::type p_type; - typedef typename boost::proto::result_of::child_c::type x_type; - typedef typename A0::value_type value_type; - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - // Copy data in output first - v_type& v = boost::proto::child_c<0>(a1); - v.resize(a0.extent()); - val(a0, a1, N1(), N0()); - } - - private: - template < class S, class T, class U> BOOST_FORCEINLINE - void compute_val(S p, T x, U v)const - { - if (isempty(p)) - { - v = nt2::zeros(extent(x), meta::as_()); - } - else - { - v = repnum(p(1), size(x)); - for(size_t i = 2; i <= numel(p); ++i) - { - // v = fma(v, x, p(i)); - v*= x; - v+= p(i); - } - } - } - - template < class S, class T, class U, class V> BOOST_FORCEINLINE - void compute_delta(const S& x, const T& r, - const U& df, const V& normr, - const size_t & nc, - container::table& delta)const - { - NT2_WARNING(nt2::is_eqz(value_type(df)), "zero degree of freedom implies infinite error bounds."); - BOOST_AUTO_TPL(vnd, nt2::vandermonde(x, nc)); - BOOST_AUTO_TPL(err, nt2::trsolve(nt2::trans(r), nt2::trans(vnd),'L') ); - value_type fact = (normr/nt2::sqrt(value_type(df))); - delta(nt2::_) =nt2::sqrt(oneplus(sum(sqr(err),1)))*fact; - } - - template < class T > BOOST_FORCEINLINE - void val(A0& a0, A1& a1, - boost::mpl::long_<1> const &, const T&) const - { - BOOST_AUTO_TPL(p, boost::proto::child_c<0>(a0)); - BOOST_AUTO_TPL(x, boost::proto::child_c<1>(a0)); - BOOST_AUTO_TPL(v, boost::proto::child_c<0>(a1)); - compute_val(p, x, v); - } - - BOOST_FORCEINLINE - void val(A0& a0, A1& a1, - boost::mpl::long_<1> const &, boost::mpl::long_<3> const &) const - { - BOOST_AUTO_TPL(p, boost::proto::child_c<0>(a0)); - BOOST_AUTO_TPL(x, boost::proto::child_c<1>(a0)); - BOOST_AUTO_TPL(v, boost::proto::child_c<0>(a1)); - BOOST_AUTO_TPL(mu, boost::proto::child_c<2>(a0)); - compute_val(p, (x-mu(1))/mu(2), v); - } - BOOST_FORCEINLINE - void val(A0& a0, A1& a1, - boost::mpl::long_<1> const &, boost::mpl::long_<6> const &) const - { - BOOST_AUTO_TPL(p, boost::proto::child_c<0>(a0)); - BOOST_AUTO_TPL(x, boost::proto::child_c<1>(a0)); - BOOST_AUTO_TPL(v, boost::proto::child_c<0>(a1)); - BOOST_AUTO_TPL(mu, boost::proto::child_c<5>(a0)); - compute_val(p, (x-mu(1))/mu(2), v); - } - BOOST_FORCEINLINE - void val(A0& a0, A1& a1, - boost::mpl::long_<2> const &, boost::mpl::long_<5> const &) const - { - BOOST_AUTO_TPL(p, boost::proto::child_c<0>(a0)); - BOOST_AUTO_TPL(x, boost::proto::child_c<1>(a0)); - BOOST_AUTO_TPL(r, boost::proto::child_c<2>(a0)); - BOOST_AUTO_TPL(df, boost::proto::child_c<3>(a0)); - BOOST_AUTO_TPL(nr, boost::proto::child_c<4>(a0)); - BOOST_AUTO_TPL(v, boost::proto::child_c<0>(a1)); - compute_val(p, x, v); - container::table delta(extent(x)); - compute_delta(x, r, df, nr, nt2::numel(p), delta); - boost::proto::child_c<1>(a1) = delta; - } - BOOST_FORCEINLINE - void val(A0& a0, A1& a1, - boost::mpl::long_<2> const &, boost::mpl::long_<6> const &) const - { - BOOST_AUTO_TPL(p, boost::proto::child_c<0>(a0)); - BOOST_AUTO_TPL(x, boost::proto::child_c<1>(a0)); - BOOST_AUTO_TPL(r, boost::proto::child_c<2>(a0)); - BOOST_AUTO_TPL(df, boost::proto::child_c<3>(a0)); - BOOST_AUTO_TPL(nr, boost::proto::child_c<4>(a0)); - BOOST_AUTO_TPL(v, boost::proto::child_c<0>(a1)); - BOOST_AUTO_TPL(mu, boost::proto::child_c<5>(a0)); - BOOST_AUTO_TPL(xred, (x-mu(1))/mu(2)); - compute_val(p, xred, v); - container::table delta(of_size(extent(x))); - delta.resize(extent(x)); - compute_delta(xred, r, df, nr, nt2::numel(p), delta); - boost::proto::child_c<1>(a1) = delta; - } - - }; -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/polyvalm.hpp b/inst/include/nt2/polynom/functions/expr/polyvalm.hpp deleted file mode 100644 index a1e3681..0000000 --- a/inst/include/nt2/polynom/functions/expr/polyvalm.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_POLYVALM_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_POLYVALM_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( polyvalm_, tag::cpu_ - , (A0)(A1) - , (unspecified_)(scalar_ > ) - ) - { - - typedef typename A0::value_type value_type; - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - if (isempty(a0)) return Zero(); - A1 ans = a0(1); - for(size_t i = 2; i <= numel(a0); ++i) - { - ans = fma(ans, a1, a0(i)); - } - return ans; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_ )) - ) - { - typedef typename A0::value_type value_type; - typedef typename boost::proto::result_of::child_c::type poly_t; - typedef typename boost::proto::result_of::child_c::type matr_t; - typedef A0& result_type; - result_type operator()(A0& out, const A1& in) const - { - out = nt2::zeros(in.extent(), meta::as_()); - BOOST_ASSERT_MSG(nt2::issquare(in), "input matrix must be square"); - BOOST_AUTO_TPL(p, nt2::reduce( boost::proto::child_c<0>(in))); - poly_t & m = boost::proto::child_c<1>(in); - size_t n = size(m, 1); - BOOST_AUTO_TPL(pp, nt2::expand_to(p, n, numel(p))); - for(size_t i = 1; i <= nt2::numel(p); ++i) - { - out = nt2::mtimes(out, m) + nt2::from_diag(pp(nt2::_, i)); - } - return out; - } - - }; - -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/ratfracder.hpp b/inst/include/nt2/polynom/functions/expr/ratfracder.hpp deleted file mode 100644 index 98fd3da..0000000 --- a/inst/include/nt2/polynom/functions/expr/ratfracder.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_RATFRACDER_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_RATFRACDER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - //============================================================================ - // This version of ratfracder is called whenever a tie(...) = ratfracder(...) is captured - // before assign is resolved. As a tieable function, balance retrieves rhs/lhs - // pair as inputs - //============================================================================ - BOOST_DISPATCH_IMPLEMENT ( ratfracder_, tag::cpu_ - , (A0)(N0)(A1)(N1) - , ((node_)) - ((node_)) - ) - { - typedef void result_type; - typedef typename A0::value_type value_type; - - BOOST_FORCEINLINE result_type operator()( A0& a0, A1& a1 ) const - { - val(a0, a1, N1(), N0()); - } - - private: - BOOST_FORCEINLINE - void val(A0& a0, A1& a1, - boost::mpl::long_<2> const &, boost::mpl::long_<2> const &) const - { - typedef typename boost::proto::result_of::child_c::type n_type; - typedef typename boost::proto::result_of::child_c::type d_type; - typedef typename boost::proto::result_of::child_c::type a_type; - typedef typename boost::proto::result_of::child_c::type b_type; - a_type a = boost::proto::child_c<0>(a0); - b_type b = boost::proto::child_c<1>(a0); - n_type n = boost::proto::child_c<0>(a1); - d_type d = boost::proto::child_c<1>(a1); - _2D sizee; - n.resize(extent(a0)); - n = nt2::conv(nt2::polyder(a),b)-nt2::conv(nt2::polyder(b),a); - sizee[0] = 1; - sizee[1] = numel(b); - sizee[1] = sizee[1] ? 2*sizee[1]-1:0; - d.resize(sizee); - d = nt2::conv(b, b); - } - BOOST_FORCEINLINE - void val(A0& a0, A1& a1, - boost::mpl::long_<1> const &, boost::mpl::long_<2> const &) const - { - typedef typename boost::proto::result_of::child_c::type n_type; - typedef typename boost::proto::result_of::child_c::type a_type; - typedef typename boost::proto::result_of::child_c::type b_type; - a_type a = boost::proto::child_c<0>(a0); - b_type b = boost::proto::child_c<1>(a0); - n_type n = boost::proto::child_c<0>(a1); - n = nt2::conv(nt2::polyder(a),b)-nt2::conv(nt2::polyder(b),a); - } - BOOST_FORCEINLINE - void val(A0& a0, A1& a1, - boost::mpl::long_<1> const &, boost::mpl::long_<1> const &) const - { - typedef typename boost::proto::result_of::child_c::type n_type; - typedef typename boost::proto::result_of::child_c::type a_type; - a_type a = boost::proto::child_c<0>(a0); - n_type n = boost::proto::child_c<0>(a1); - n = polyder(a); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/reduce.hpp b/inst/include/nt2/polynom/functions/expr/reduce.hpp deleted file mode 100644 index 9b79511..0000000 --- a/inst/include/nt2/polynom/functions/expr/reduce.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_REDUCE_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_REDUCE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( reduce_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - - typedef typename A0::value_type value_type; - typedef typename nt2::meta::call::type T1; - typedef typename nt2::meta::call::type result_type; - NT2_FUNCTOR_CALL(1) - { - size_t na0 = nt2::numel(a0); - size_t idx = na0+1; - for(size_t i=1; i <= na0 ; ++i) - { - if (nt2::is_nez(a0(i))) {idx = i; break;} - } - - return a0(nt2::One(), _(idx,na0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reduce_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ > ) - ) - { - - typedef typename A0::value_type value_type; - typedef typename nt2::meta::call::type T1; - typedef typename nt2::meta::call::type result_type; - NT2_FUNCTOR_CALL(2) - { - size_t na0 = nt2::numel(a0); - size_t idx = na0+1; - A1 thresh = a1*nt2::globalmax(nt2::abs(a0)); - for(size_t i=1; i <= na0 ; ++i) - { - if (nt2::gt(nt2::abs(a0(i)), thresh)) {idx = i; break;} - } - - return a0(nt2::One(), _(idx,na0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( reduce_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (unspecified_ ) - ) - { - - typedef typename A0::value_type value_type; - typedef typename nt2::meta::call::type T1; - typedef typename nt2::meta::call::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0, A1 const&) const - { - size_t na0 = nt2::numel(a0); - size_t idx = na0+1; - for(size_t i=1; i <= na0 ; ++i) - { - if (nt2::is_eqz(a0(i))) continue; - if (globalall(nt2::is_finite(a0(nt2::_(i+1, end_))/a0(i)))) {idx = i; break;} - } - return a0(nt2::One(), nt2::_(idx,na0)); - } - }; - -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/roots.hpp b/inst/include/nt2/polynom/functions/expr/roots.hpp deleted file mode 100644 index f769347..0000000 --- a/inst/include/nt2/polynom/functions/expr/roots.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_ROOTS_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_ROOTS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( roots_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef A0 base_t; - - BOOST_DISPATCH_RETURNS_ARGS ( 1 - , (const A0& a0) - , (const A0&) - , nt2::zeros(1, 0, nt2::meta::as_()) - ); - }; - - BOOST_DISPATCH_IMPLEMENT ( run_assign_, tag::cpu_ - , (A0)(A1)(N) - , ((ast_)) - ((node_ )) - ) - { - typedef typename A0::value_type value_type; - typedef typename boost::proto::result_of::child_c::type poly_t; - typedef A0& result_type; - result_type operator()(A0& out, const A1& in) const - { - BOOST_AUTO_TPL(p, nt2::reduce(nt2::complexify(nt2::rowvect(boost::proto::child_c<0>(in))), nt2::_)); - ptrdiff_t valua = nt2::valuation(p); - BOOST_AUTO_TPL(cpan, nt2::compan(p(1, nt2::_(nt2::begin_,numel(p)-valua)))); - out = nseig(cpan); - return out; - } - }; -} } - -#endif diff --git a/inst/include/nt2/polynom/functions/expr/valuation.hpp b/inst/include/nt2/polynom/functions/expr/valuation.hpp deleted file mode 100644 index 415f78f..0000000 --- a/inst/include/nt2/polynom/functions/expr/valuation.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_EXPR_VALUATION_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_EXPR_VALUATION_HPP_INCLUDED -#include -#include -#include -#include -#include - - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( valuation_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - - typedef ptrdiff_t result_type; - NT2_FUNCTOR_CALL(1) - { - ptrdiff_t na0 = nt2::numel(a0); - for(ptrdiff_t i=na0; i!= 0; --i) - { - if (nt2::is_nez(a0(i))) {return na0-i; } - } - return -1; - } - }; - BOOST_DISPATCH_IMPLEMENT ( valuation_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - - typedef ptrdiff_t result_type; - NT2_FUNCTOR_CALL(1) - { - return -real(if_zero_else_one(a0)); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynom/functions/polyadd.hpp b/inst/include/nt2/polynom/functions/polyadd.hpp deleted file mode 100644 index bcaab50..0000000 --- a/inst/include/nt2/polynom/functions/polyadd.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_POLYADD_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_POLYADD_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - @brief polyadd generic tag - - Represents the polyadd function in generic contexts. - - @par Models: - Hierarchy - **/ - struct polyadd_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_polyadd_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_polyadd_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_polyadd_; - } - /*! - Computes the sum of two polynomials. - The polynomials are supposed to be given by an expression representing a vector - of coefficients in decreasing degrees order - - @par Semantic: - - For every expressions representing polynomials a, b: - - @code - auto r = polyadd(a, b); - @endcode - - is such that if a represents \f$\displaystyle \sum_0^n a_i x^i\f$ and b represents - \f$\displaystyle \sum_0^n b_ix^i\f$ then r represents - \f$\displaystyle \sum_0^n(a_i+b_i)x^i\f$ - - - @param a0 - - @param a1 - - @return an expression - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::polyadd_, polyadd, 2) -} - -#endif diff --git a/inst/include/nt2/polynom/functions/polyder.hpp b/inst/include/nt2/polynom/functions/polyder.hpp deleted file mode 100644 index ba8febd..0000000 --- a/inst/include/nt2/polynom/functions/polyder.hpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_POLYDER_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_POLYDER_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - /*! - @brief polyder generic tag - - Represents the polyder function in generic contexts. - - @par Models: - Hierarchy - **/ - struct polyder_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_polyder_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_polyder_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_polyder_; - } - /*! - Derivative of a polynomial - - @par Semantic: - - For every parameter p representing a polynomial - - @code - auto r = polyder(p); - @endcode - - is such that if p represents \f$\displaystyle \sum_0^n a_i x^i\f$ then r represents - \f$\displaystyle \sum_1^n ia_ix^{i-1}\f$ - - - @param a0 - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::polyder_,polyder, 1) - /*! - Derivative of a polynomial product - - @par Semantic: - - For every parameter p, q representing a polynomial - - @code - auto r = polyder(p, q); - @endcode - - is similar to - - @code - auto r = polyder(conv(p, q)); - @endcode - - without computing the product. - - @param a0 - @param a1 - - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::polyder_,polyder, 2) -} -#endif diff --git a/inst/include/nt2/polynom/functions/polyfit.hpp b/inst/include/nt2/polynom/functions/polyfit.hpp deleted file mode 100644 index 215287b..0000000 --- a/inst/include/nt2/polynom/functions/polyfit.hpp +++ /dev/null @@ -1,145 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_POLYFIT_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_POLYFIT_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - @brief polyfit generic tag - - Represents the polyfit function in generic contexts. - - @par Models: - Hierarchy - **/ - struct polyfit_ : ext::tieable_ - { - /// @brief Parent hierarchy - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_polyfit_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_polyfit_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_polyfit_; - } - /*! - Finds the coefficients of a polynomial p(x) of degree n that of - degree n that best fits the data, p(x(i)) to y(i), in the least - squares sense the data y. p is a row expression of length n+1 - containing the polynomial coefficients in descending powers: - - @code - p(1)*x^n + p(2)*x^(n-1) +...+ p(n)*x + p(n+1). - @endcode - - n default to numel(x)-1, to produce interpolation. - - @par Semantic: - - @code - auto p = polyfit(x,y{,n}); - @endcode - - or - - @code - tie(p,r,df,normr) = polyfit(x,y{,n}) - @endcode - - or - - @code - tie(p,r,df,normr,mu) = polyfit(x,y{,n}) - @endcode - - - returns the polynomial coefficients p and in the second and third options - three other results for use with polyval to obtain error estimates - for predictions. The triangular factor r from a qr decomposition - of the vandermonde matrix of x, the degrees of freedom df, and - the norm of the residuals normr. If the data y are normal random, an - estimate of the covariance matrix of p is (rinv*rinv')*normr^2/df, - where rinv is the inverse of r. - - With the third option, finds the coefficients of a polynomial in - xhat = (x-mu(1))/mu(2) where mu(1) = mean(x) and mu(2) = stdev(x). This - centering and scaling transformation improves the numerical properties - of both the polynomial and the fitting algorithm. - - @see @funcref{mean}, @funcref{stdev} - - @param a0 - - @param a1 - - @param a2 if not present default to the common numel of a0 and a1, minus one - - @return the output(s) depends of the call form - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::polyfit_, polyfit, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(tag::polyfit_, polyfit, 2) -} - - namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - _2D sizee; - sizee[0] = 1; - sizee[1] = size_t(boost::proto::child_c<2>(e))+1; - return sizee; - } - }; - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - _2D sizee; - sizee[0] = 1; - sizee[1] = nt2::numel(boost::proto::child_c<0>(e))+1u; - return sizee; - } - }; - - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; -} } -#endif diff --git a/inst/include/nt2/polynom/functions/polyint.hpp b/inst/include/nt2/polynom/functions/polyint.hpp deleted file mode 100644 index be0b83e..0000000 --- a/inst/include/nt2/polynom/functions/polyint.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_POLYINT_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_POLYINT_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - /*! - @brief polyint generic tag - - Represents the polyint function in generic contexts. - - @par Models: - Hierarchy - **/ - struct polyint_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_polyint_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_polyint_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_polyint_; - } - /*! - returns a polynomial representing the primitive null at zero - of polynomial p - - @par semantic: - - For every expression representing a polynomial - - @code - auto r = polyint(p); - @endcode - - is such that if p represents \f$\displaystyle \sum_0^n a_i x^i\f$ then r represents - \f$\displaystyle \sum_0^n \frac{a_ix^{i+1}}{i+1}\f$ - - @param a0 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::polyint_,polyint, 1) - /*! - returns a polynomial representing the primitive null at zero - of polynomial p, using a scalar constant of integration k. - @par semantic: - - For every expression representing a polynomial - - @code - auto r = polyint(p, k); - @endcode - - is such that if p represents \f$\displaystyle \sum_0^n a_i x^i\f$ then r represents - \f$\displaystyle k+\sum_0^n \frac{a_ix^{i+1}}{i+1}\f$ - - @param a0 - @param a1 - - @return a value of the same type as the parameter - **/ NT2_FUNCTION_IMPLEMENTATION(tag::polyint_,polyint, 2) -} -#endif diff --git a/inst/include/nt2/polynom/functions/polysub.hpp b/inst/include/nt2/polynom/functions/polysub.hpp deleted file mode 100644 index 6b232c3..0000000 --- a/inst/include/nt2/polynom/functions/polysub.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_POLYSUB_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_POLYSUB_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - @brief polysub generic tag - - Represents the polysub function in generic contexts. - - @par Models: - Hierarchy - **/ - struct polysub_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_polysub_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_polysub_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_polysub_; - } - /*! - Computes the difference of two polynomials. - The polynomials are supposed to be given by an expression representing a vector - of coefficients in decreasing degrees order - - @par Semantic: - - For every expressions representing polynomials a, b: - - @code - auto r = polysub(a0,a1); - @endcode - - is such that if a represents \f$\displaystyle \sum_0^n a_i x^i\f$ and b represents - \f$\displaystyle \sum_0^n b_ix^i\f$ then r represents - \f$\displaystyle \sum_0^n(a_i-b_i)x^i\f$ - - @param a0 - - @param a1 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::polysub_, polysub, 2) -} - -#endif diff --git a/inst/include/nt2/polynom/functions/polyval.hpp b/inst/include/nt2/polynom/functions/polyval.hpp deleted file mode 100644 index 9623bc8..0000000 --- a/inst/include/nt2/polynom/functions/polyval.hpp +++ /dev/null @@ -1,107 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_POLYVAL_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_POLYVAL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - @brief polyval generic tag - - Represents the polyval function in generic contexts. - - @par Models: - Hierarchy - **/ - struct polyval_ : ext::tieable_ - { - /// @brief Parent hierarchy - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_polyval_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_polyval_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_polyval_; - } - - /// @overload - NT2_FUNCTION_IMPLEMENTATION(tag::polyval_, polyval, 2) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(tag::polyval_, polyval, 3) - /// @overload - NT2_FUNCTION_IMPLEMENTATION(tag::polyval_, polyval, 5) - /*! - computes the value of a polynomial p at x - the polynomial is supposed to be given by an array coefficients - in decreasing degrees order - - @par Semantic: - - For every polynom p and values x: - - @code - tie(y, delta) = polyval(p, x, {r, df, normr}{, mu}); - @endcode - - - returns the expression evaluating the polynom at all elements of x - - delta is an error estimate available if r, df and normr are provided. These are - datas that can be generated by @funcref{polyfit}. - - if mu is provided p is evaluated at (x-mu(1))/mu(2) instead of x. - - @see @funcref{polyfit} - @param a0 mandatory polynomial - @param a1 mandatory points of evaluations - @param a2 optional, can be mu or r - @param a3 optional, mandatory df if r is given - @param a4 optional, mandatory normr if r is given - @param a5 optional, can be mu if r is given - - @return an expression or a pair of expressions - **/ NT2_FUNCTION_IMPLEMENTATION(tag::polyval_, polyval, 6) -} - - namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type::extent_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return boost::proto::child_c<1>(e).extent(); - } - }; - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; -} } -#endif diff --git a/inst/include/nt2/polynom/functions/polyvalm.hpp b/inst/include/nt2/polynom/functions/polyvalm.hpp deleted file mode 100644 index ddf24b4..0000000 --- a/inst/include/nt2/polynom/functions/polyvalm.hpp +++ /dev/null @@ -1,93 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_POLYVALM_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_POLYVALM_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - @brief polyvalm generic tag - - Represents the polyvalm function in generic contexts. - - @par Models: - Hierarchy - **/ - struct polyvalm_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_polyvalm_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_polyvalm_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_polyvalm_; - } - /*! - computes the value of a polynomial p at a square matrix a using matricial product. - the polynomial is supposed to be given by an array coefficients - in decreasing degrees order - - @par Semantic: - - For every expression p representing and a representing a square matrix - - @code - auto r = polyvalm(p, a); - @endcode - - Computes \f$\displaystyle \sum_0^n p_i \mbox{mpow}(a, i)\f$. - - @see @funcref{mpower} - @param a0 - - @param a1 - - @return an expression - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::polyvalm_, polyvalm, 2) - -} - - namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type::extent_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return boost::proto::child_c<1>(e).extent(); - } - }; - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; -} } -#endif diff --git a/inst/include/nt2/polynom/functions/ratfracder.hpp b/inst/include/nt2/polynom/functions/ratfracder.hpp deleted file mode 100644 index 62edb9a..0000000 --- a/inst/include/nt2/polynom/functions/ratfracder.hpp +++ /dev/null @@ -1,131 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_RATFRACDER_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_RATFRACDER_HPP_INCLUDED -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - @brief ratfracder generic tag - - Represents the ratfracder function in generic contexts. - - @par Models: - Hierarchy - **/ - struct ratfracder_ : ext::tieable_ - { - /// @brief Parent hierarchy - typedef ext::tieable_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ratfracder_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ratfracder_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ratfracder_; - } - /*! - Returns the derivative of the polynomial whose - coefficients are the elements of vector p. - - @par Semantic: - - For every polynomial - - @code - auto r = ratfracder(p); - @endcode - - is similar to - - @code - auto r = polyder(p); - @endcode - - @param a0 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::ratfracder_, ratfracder, 1) - /*! - Returns the derivative of the - polynomial ratio a/b, represented as n/d. - - @par Semantic: - - For every polynomial - - @code - tie(n, d) = ratfracder(a, b); - @endcode - - @param a0 - @param a1 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::ratfracder_, ratfracder, 2) -} - - namespace nt2 { namespace ext -{ - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - _2D sizee; - sizee[0] = 1; - size_t na = nt2::numel(boost::proto::value(boost::proto::child_c<0>(e))); - sizee[1] = na ? na-1u :0; ; - return sizee; - } - }; - /// INTERNAL ONLY - template - struct size_of - { - typedef _2D result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - _2D sizee; - sizee[0] = 1; - size_t na = nt2::numel(boost::proto::value(boost::proto::child_c<0>(e))); - size_t nb = nt2::numel(boost::proto::value(boost::proto::child_c<1>(e))); - sizee[1] = std::max(std::max(na+nb ? na+nb-1u : 0u,na),nb); - sizee[1] = sizee[1] ? sizee[1]-1u : 0; - return sizee; - } - }; - - /// INTERNAL ONLY - template - struct value_type - : meta::value_as - {}; -} } -#endif diff --git a/inst/include/nt2/polynom/functions/reduce.hpp b/inst/include/nt2/polynom/functions/reduce.hpp deleted file mode 100644 index a2c08ca..0000000 --- a/inst/include/nt2/polynom/functions/reduce.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_REDUCE_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_REDUCE_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - /*! - @brief reduce generic tag - - Represents the reduce function in generic contexts. - - @par Models: - Hierarchy - **/ - struct reduce_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_reduce_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_reduce_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_reduce_; - } - /*! - returns the same polynomial as the input insuring - that the first element of the polynomial is non zero (or the - polynomial is empty) - - - @par Semantic: - - For every polynomial p - - @code - auto r = reduce(p); - @endcode - - @param a0 - - @return a polynomial expression - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::reduce_,reduce, 1) - /*! - returns the same polynomial as the input insuring - that the first element of the polynomial is non zero (or the - polynomial is empty) - - @par Semantic: - - For every parameter of floating type T0 - - @code - T0 r = reduce(p, tol); - @endcode - - The second parameter is a relative threshold on what can be considered as zero - (neglectable) or an overflow threshold _ that consider that iteratively from - first index p(i) is neglectable if any p(j)/pi() is infinite. - - @param a0 - @param a1 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::reduce_,reduce, 2) -} -#endif diff --git a/inst/include/nt2/polynom/functions/roots.hpp b/inst/include/nt2/polynom/functions/roots.hpp deleted file mode 100644 index 7868e3b..0000000 --- a/inst/include/nt2/polynom/functions/roots.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_ROOTS_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_ROOTS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag - { - /*! - @brief roots generic tag - - Represents the roots function in generic contexts. - - @par Models: - Hierarchy - **/ - struct roots_ : ext::unspecified_ - { - /// @brief Parent hierarchy - typedef ext::unspecified_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_roots_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_roots_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_roots_; - } - /*! - Computes the roots of a polynomial p - - @par Semantic: - - For every polynomial p - - @code - auto r = roots(p); - @endcode - - @par Note: - The polynomial is supposed to be given by an array of N+1 elements - in decreasing degrees order. The type of returned roots is always - the complexification of the input data type. - - @param a0 - - @return a value of the same type as the parameter - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::roots_, roots, 1) - -} - - namespace nt2 { namespace ext -{ - template - struct size_of - { - typedef typename boost::proto::result_of::child_c::value_type::extent_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - result_type sizee = boost::proto::child_c<0>(e).extent(); - sizee[1] = sizee[1]? sizee[1]-1 : 0; - return sizee; - } - }; - - template - struct value_type - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type intype; - typedef typename meta::as_complex::type type; - }; -} } -#endif diff --git a/inst/include/nt2/polynom/functions/valuation.hpp b/inst/include/nt2/polynom/functions/valuation.hpp deleted file mode 100644 index f0016a4..0000000 --- a/inst/include/nt2/polynom/functions/valuation.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOM_FUNCTIONS_VALUATION_HPP_INCLUDED -#define NT2_POLYNOM_FUNCTIONS_VALUATION_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - /*! - @brief valuation generic tag - - Represents the valuation function in generic contexts. - - @par Models: - Hierarchy - **/ - struct valuation_ : ext::elementwise_ - { - /// @brief Parent hierarchy - typedef ext::elementwise_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_valuation_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_valuation_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_valuation_; - } - /*! - returns the valuation of the input polynomial. - null polynomial has valuation -1. - non null constant polynomial has valuation 0. - - @par Semantic: - - For every polynomial p - - @code - ptrdiff_t r = valuation(p); - @endcode - - The valuation is the least exponent associated to a non null coefficient. - null polynomial has valuation -1. - non null constant polynomial has valuation 0. - - @param a0 - - @return a ptrdiff_t value - **/ - NT2_FUNCTION_IMPLEMENTATION(tag::valuation_,valuation, 1) -} -#endif diff --git a/inst/include/nt2/polynom/include/functions/compan.hpp b/inst/include/nt2/polynom/include/functions/compan.hpp deleted file mode 100644 index b32cf0f..0000000 --- a/inst/include/nt2/polynom/include/functions/compan.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_COMPAN_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_COMPAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/compan1.hpp b/inst/include/nt2/polynom/include/functions/compan1.hpp deleted file mode 100644 index 7ecf9c4..0000000 --- a/inst/include/nt2/polynom/include/functions/compan1.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_COMPAN1_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_COMPAN1_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/conv.hpp b/inst/include/nt2/polynom/include/functions/conv.hpp deleted file mode 100644 index 3c3eb3a..0000000 --- a/inst/include/nt2/polynom/include/functions/conv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_CONV_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_CONV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/deconv.hpp b/inst/include/nt2/polynom/include/functions/deconv.hpp deleted file mode 100644 index a74a08d..0000000 --- a/inst/include/nt2/polynom/include/functions/deconv.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_DECONV_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_DECONV_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/degree.hpp b/inst/include/nt2/polynom/include/functions/degree.hpp deleted file mode 100644 index c769385..0000000 --- a/inst/include/nt2/polynom/include/functions/degree.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_DEGREE_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_DEGREE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/polyadd.hpp b/inst/include/nt2/polynom/include/functions/polyadd.hpp deleted file mode 100644 index 2df3288..0000000 --- a/inst/include/nt2/polynom/include/functions/polyadd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYADD_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYADD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/polyder.hpp b/inst/include/nt2/polynom/include/functions/polyder.hpp deleted file mode 100644 index 0cac18c..0000000 --- a/inst/include/nt2/polynom/include/functions/polyder.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYDER_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYDER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/polyfit.hpp b/inst/include/nt2/polynom/include/functions/polyfit.hpp deleted file mode 100644 index 57758a7..0000000 --- a/inst/include/nt2/polynom/include/functions/polyfit.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYFIT_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYFIT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/polyint.hpp b/inst/include/nt2/polynom/include/functions/polyint.hpp deleted file mode 100644 index 41cf85b..0000000 --- a/inst/include/nt2/polynom/include/functions/polyint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYINT_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/polysub.hpp b/inst/include/nt2/polynom/include/functions/polysub.hpp deleted file mode 100644 index b37fd80..0000000 --- a/inst/include/nt2/polynom/include/functions/polysub.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYSUB_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYSUB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/polyval.hpp b/inst/include/nt2/polynom/include/functions/polyval.hpp deleted file mode 100644 index 88c4d2c..0000000 --- a/inst/include/nt2/polynom/include/functions/polyval.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYVAL_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYVAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/polyvalm.hpp b/inst/include/nt2/polynom/include/functions/polyvalm.hpp deleted file mode 100644 index 5ae7bf0..0000000 --- a/inst/include/nt2/polynom/include/functions/polyvalm.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYVALM_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_POLYVALM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/ratfracder.hpp b/inst/include/nt2/polynom/include/functions/ratfracder.hpp deleted file mode 100644 index b5ceb48..0000000 --- a/inst/include/nt2/polynom/include/functions/ratfracder.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_RATFRACDER_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_RATFRACDER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/reduce.hpp b/inst/include/nt2/polynom/include/functions/reduce.hpp deleted file mode 100644 index 8e2b44d..0000000 --- a/inst/include/nt2/polynom/include/functions/reduce.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_REDUCE_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_REDUCE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/roots.hpp b/inst/include/nt2/polynom/include/functions/roots.hpp deleted file mode 100644 index bf468bd..0000000 --- a/inst/include/nt2/polynom/include/functions/roots.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_ROOTS_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_ROOTS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/compan.hpp b/inst/include/nt2/polynom/include/functions/scalar/compan.hpp deleted file mode 100644 index 19d8a41..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/compan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_COMPAN_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_COMPAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/conv.hpp b/inst/include/nt2/polynom/include/functions/scalar/conv.hpp deleted file mode 100644 index 8250c57..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/conv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_CONV_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_CONV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/deconv.hpp b/inst/include/nt2/polynom/include/functions/scalar/deconv.hpp deleted file mode 100644 index 2340ff7..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/deconv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_DECONV_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_DECONV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/degree.hpp b/inst/include/nt2/polynom/include/functions/scalar/degree.hpp deleted file mode 100644 index 99dd459..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/degree.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_DEGREE_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_DEGREE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/polyadd.hpp b/inst/include/nt2/polynom/include/functions/scalar/polyadd.hpp deleted file mode 100644 index 913c21b..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/polyadd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYADD_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/polyder.hpp b/inst/include/nt2/polynom/include/functions/scalar/polyder.hpp deleted file mode 100644 index 80e0936..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/polyder.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYDER_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYDER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/polyfit.hpp b/inst/include/nt2/polynom/include/functions/scalar/polyfit.hpp deleted file mode 100644 index ec228e4..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/polyfit.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYFIT_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYFIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/polyint.hpp b/inst/include/nt2/polynom/include/functions/scalar/polyint.hpp deleted file mode 100644 index 5fcadc4..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/polyint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYINT_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/polysub.hpp b/inst/include/nt2/polynom/include/functions/scalar/polysub.hpp deleted file mode 100644 index df53b2b..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/polysub.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYSUB_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYSUB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/polyval.hpp b/inst/include/nt2/polynom/include/functions/scalar/polyval.hpp deleted file mode 100644 index d0d348c..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/polyval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYVAL_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/polyvalm.hpp b/inst/include/nt2/polynom/include/functions/scalar/polyvalm.hpp deleted file mode 100644 index 111071e..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/polyvalm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYVALM_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_POLYVALM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/ratfracder.hpp b/inst/include/nt2/polynom/include/functions/scalar/ratfracder.hpp deleted file mode 100644 index 26fb844..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/ratfracder.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_RATFRACDER_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_RATFRACDER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/reduce.hpp b/inst/include/nt2/polynom/include/functions/scalar/reduce.hpp deleted file mode 100644 index 8e513e0..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/reduce.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_REDUCE_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_REDUCE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/roots.hpp b/inst/include/nt2/polynom/include/functions/scalar/roots.hpp deleted file mode 100644 index 46792c9..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/roots.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_ROOTS_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_ROOTS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/scalar/valuation.hpp b/inst/include/nt2/polynom/include/functions/scalar/valuation.hpp deleted file mode 100644 index fd70a43..0000000 --- a/inst/include/nt2/polynom/include/functions/scalar/valuation.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_VALUATION_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SCALAR_VALUATION_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/compan.hpp b/inst/include/nt2/polynom/include/functions/simd/compan.hpp deleted file mode 100644 index de2947e..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/compan.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_COMPAN_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_COMPAN_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/conv.hpp b/inst/include/nt2/polynom/include/functions/simd/conv.hpp deleted file mode 100644 index 7d72af5..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/conv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_CONV_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_CONV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/deconv.hpp b/inst/include/nt2/polynom/include/functions/simd/deconv.hpp deleted file mode 100644 index 92bdfb7..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/deconv.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_DECONV_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_DECONV_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/degree.hpp b/inst/include/nt2/polynom/include/functions/simd/degree.hpp deleted file mode 100644 index 379840f..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/degree.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_DEGREE_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_DEGREE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/polyadd.hpp b/inst/include/nt2/polynom/include/functions/simd/polyadd.hpp deleted file mode 100644 index 7d3b143..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/polyadd.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYADD_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYADD_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/polyder.hpp b/inst/include/nt2/polynom/include/functions/simd/polyder.hpp deleted file mode 100644 index 88720bb..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/polyder.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYDER_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYDER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/polyfit.hpp b/inst/include/nt2/polynom/include/functions/simd/polyfit.hpp deleted file mode 100644 index a0fbaa7..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/polyfit.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYFIT_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYFIT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/polyint.hpp b/inst/include/nt2/polynom/include/functions/simd/polyint.hpp deleted file mode 100644 index 1b25495..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/polyint.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYINT_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYINT_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/polysub.hpp b/inst/include/nt2/polynom/include/functions/simd/polysub.hpp deleted file mode 100644 index e95950e..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/polysub.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYSUB_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYSUB_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/polyval.hpp b/inst/include/nt2/polynom/include/functions/simd/polyval.hpp deleted file mode 100644 index aec8ef6..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/polyval.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYVAL_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYVAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/polyvalm.hpp b/inst/include/nt2/polynom/include/functions/simd/polyvalm.hpp deleted file mode 100644 index 2b39a5d..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/polyvalm.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYVALM_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_POLYVALM_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/ratfracder.hpp b/inst/include/nt2/polynom/include/functions/simd/ratfracder.hpp deleted file mode 100644 index f1d7e49..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/ratfracder.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_RATFRACDER_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_RATFRACDER_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/reduce.hpp b/inst/include/nt2/polynom/include/functions/simd/reduce.hpp deleted file mode 100644 index 2398128..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/reduce.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_REDUCE_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_REDUCE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/roots.hpp b/inst/include/nt2/polynom/include/functions/simd/roots.hpp deleted file mode 100644 index 9c16b68..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/roots.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_ROOTS_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_ROOTS_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/simd/valuation.hpp b/inst/include/nt2/polynom/include/functions/simd/valuation.hpp deleted file mode 100644 index 2234d97..0000000 --- a/inst/include/nt2/polynom/include/functions/simd/valuation.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_VALUATION_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_SIMD_VALUATION_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/polynom/include/functions/valuation.hpp b/inst/include/nt2/polynom/include/functions/valuation.hpp deleted file mode 100644 index e0a554b..0000000 --- a/inst/include/nt2/polynom/include/functions/valuation.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_INCLUDE_FUNCTIONS_VALUATION_HPP_INCLUDED -#define NT2_POLYNOM_INCLUDE_FUNCTIONS_VALUATION_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynom/polynom.hpp b/inst/include/nt2/polynom/polynom.hpp deleted file mode 100644 index d5606fd..0000000 --- a/inst/include/nt2/polynom/polynom.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOM_POLYNOM_HPP_INCLUDED -#define NT2_POLYNOM_POLYNOM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/category.hpp b/inst/include/nt2/polynomials/category.hpp deleted file mode 100644 index 7b17805..0000000 --- a/inst/include/nt2/polynomials/category.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_CATEGORY_HPP_INCLUDED -#define NT2_POLYNOMIALS_CATEGORY_HPP_INCLUDED - - - -namespace nt2 { -// namespace functors -// { -// struct plevl_; -// struct polevl_; -// struct tchebeval_; -// } - -// namespace meta { -// template -// struct categorize -// { -// typedef typename meta::category_of::type::tag type; -// }; - -// templatestruct -// categorize : -// categorize{}; - -// templatestruct -// categorize : -// categorize{}; - -// } -} - - -#endif - -// ///////////////////////////////////////////////////////////////////////////// -// End of category.hpp -// ///////////////////////////////////////////////////////////////////////////// diff --git a/inst/include/nt2/polynomials/constants.hpp b/inst/include/nt2/polynomials/constants.hpp deleted file mode 100644 index b37dae8..0000000 --- a/inst/include/nt2/polynomials/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_POLYNOMIALS_CONSTANTS_HPP_INCLUDED -#define NT2_POLYNOMIALS_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/polynomials/functions.hpp b/inst/include/nt2/polynomials/functions.hpp deleted file mode 100644 index b3f9555..0000000 --- a/inst/include/nt2/polynomials/functions.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_POLYNOMIALS_FUNCTIONS_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/functions/hermite.hpp b/inst/include/nt2/polynomials/functions/hermite.hpp deleted file mode 100644 index 1d0b464..0000000 --- a/inst/include/nt2/polynomials/functions/hermite.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_HERMITE_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_HERMITE_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - struct hermite_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_hermite_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_hermite_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_hermite_; - } - NT2_FUNCTION_IMPLEMENTATION(tag::hermite_, hermite, 2) -} - - -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/polynomials/functions/laguerre.hpp b/inst/include/nt2/polynomials/functions/laguerre.hpp deleted file mode 100644 index 8e79c08..0000000 --- a/inst/include/nt2/polynomials/functions/laguerre.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_LAGUERRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_LAGUERRE_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - struct laguerre_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_laguerre_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_laguerre_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_laguerre_; - } - NT2_FUNCTION_IMPLEMENTATION(tag::laguerre_, laguerre, 2) -} - - -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/polynomials/functions/legendre.hpp b/inst/include/nt2/polynomials/functions/legendre.hpp deleted file mode 100644 index 28e362a..0000000 --- a/inst/include/nt2/polynomials/functions/legendre.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_LEGENDRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_LEGENDRE_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - struct legendre_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_legendre_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_legendre_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_legendre_; - } - NT2_FUNCTION_IMPLEMENTATION(tag::legendre_, legendre, 2) -} - - -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/polynomials/functions/plevl.hpp b/inst/include/nt2/polynomials/functions/plevl.hpp deleted file mode 100644 index 09b243f..0000000 --- a/inst/include/nt2/polynomials/functions/plevl.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_PLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_PLEVL_HPP_INCLUDED -#include -// plevl(x, p) -// This compute the evaluation of a polynomial p of degree N at x -// The polynomial is supposed to be given by an array of N elements -// in decreasing degrees order and the leading coef is supposed to be one -// and not a part of the polynomial -namespace nt2 { namespace tag - { - struct plevl_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_plevl_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_plevl_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_plevl_; - } - NT2_FUNCTION_IMPLEMENTATION(tag::plevl_, plevl, 2) - NT2_FUNCTION_IMPLEMENTATION(tag::plevl_, p1evl, 2) -} - - -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/polynomials/functions/polevl.hpp b/inst/include/nt2/polynomials/functions/polevl.hpp deleted file mode 100644 index 4d34f53..0000000 --- a/inst/include/nt2/polynomials/functions/polevl.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_POLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_POLEVL_HPP_INCLUDED -#include -// polevl(x, p) -// This compute the valuation of a polynomial p of degree N at x -// The polynomial is supposed to be given by an array of N+1 elements -// in decreasing degrees order - -namespace nt2 { namespace tag - { - struct polevl_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_polevl_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_polevl_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_polevl_; - } - NT2_FUNCTION_IMPLEMENTATION(tag::polevl_, polevl, 2) -} - - -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/polynomials/functions/scalar/hermite.hpp b/inst/include/nt2/polynomials/functions/scalar/hermite.hpp deleted file mode 100644 index d1b770f..0000000 --- a/inst/include/nt2/polynomials/functions/scalar/hermite.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SCALAR_HERMITE_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SCALAR_HERMITE_HPP_INCLUDED - -#include -#include -#include -#include - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hermite_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< arithmetic_ >) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return nt2::hermite(a0, result_type(a1)); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A1 is floating_ - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT (hermite_, tag::cpu_, - (A0)(A1), - (scalar_< integer_ > )(scalar_< floating_ > ) - ) - { - typedef A1 result_type; - NT2_FUNCTOR_CALL(2) - { - A1 p0 = One(); - if(a0 == 0) return p0; - A1 p1 = a1+a1; - A0 c = 1; - while(c < a0) - { - std::swap(p0, p1); - p1 = hermite_next(c, a1, p0, p1); - ++c; - } - return p1; - } - private: - template - static inline T - hermite_next(const uint32_t& n, const T& x, const T1& Hn, const T2& Hnm1) - { - return (2 * x * Hn - 2 * n * Hnm1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/polynomials/functions/scalar/impl/horner.hpp b/inst/include/nt2/polynomials/functions/scalar/impl/horner.hpp deleted file mode 100644 index 39c9448..0000000 --- a/inst/include/nt2/polynomials/functions/scalar/impl/horner.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SCALAR_IMPL_HORNER_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SCALAR_IMPL_HORNER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - ////////////////////////////////////////////////////////////////////////////// - // static unrollign of horner scheme - // Coefficients are given in decreasing powers and hexadecimal form - // horner< NT2_HORNER_COEFF(float,5,(a0, a1, a2, a3, a4))>(x) - // means a0*x^4 + a1*x^3 + a2*x^2 + a3*x + a4 - // computed as a4 + x*(a3 + x*(a2 + x*(a1 + x*a0)))) - // aka fma(x, fma(x, fma(x, fma(x, a0, a1), a2), a3), a4) - ////////////////////////////////////////////////////////////////////////////// - - namespace details - { - template - struct horner_unroll - { - template - static BOOST_FORCEINLINE T call(T const& x) - { - return fma(x, Next::call(x), Const()); - } - }; - - template - struct horner_unroll - { - template - static BOOST_FORCEINLINE T call(T const&) - { - return Const(); - } - }; - } - - - ////////////////////////////////////////////////////////////////////////////// - /// @brief Static Horner scheme - ////////////////////////////////////////////////////////////////////////////// - template - static BOOST_FORCEINLINE Type horner( Type const& x ) - { - return Coeff::call(x); - } -} - -#define NT2_COEFF_GEN(z,n,text) \ -nt2::details:: \ -horner_unroll< BOOST_PP_REMOVE_PARENS(BOOST_PP_TUPLE_ELEM(3,0,text)) \ - , BOOST_PP_TUPLE_ELEM( BOOST_PP_TUPLE_ELEM(3,1,text) \ - , n \ - , BOOST_PP_TUPLE_ELEM(3,2,text) \ - ) \ - , \ -/**/ - -#define NT2_COEFF_GEN2(z,n,text) > - -#define NT2_HORNER_COEFF(Type, Size, Seq) \ -BOOST_PP_REPEAT(Size, NT2_COEFF_GEN, ( (nt2::meta::as_integer::type) \ - , Size \ - , BOOST_PP_TUPLE_REVERSE(Size, Seq) \ - ) \ - ) \ -void \ -BOOST_PP_REPEAT(Size, NT2_COEFF_GEN2, ~) \ -/**/ - -#define NT2_HORNER_COEFF_T(Type, Size, Seq) \ -BOOST_PP_REPEAT(Size, NT2_COEFF_GEN, ( (typename nt2::meta::as_integer::type) \ - , Size \ - , BOOST_PP_TUPLE_REVERSE(Size, Seq) \ - ) \ - ) \ -void \ -BOOST_PP_REPEAT(Size, NT2_COEFF_GEN2, ~) \ -/**/ - -//////////////////////////////////////////////////////////////////////////////// -// Computing a rationnal fraction P/Q at value x -// with Horner coefs of type "type" -// where P and Q lists of coefficients have respectively n and m elements -// Coefficients are given in decreasing powers and hexadecimal form as in Horner -//////////////////////////////////////////////////////////////////////////////// - -#define NT2_HORNER_RAT(type, n, m, x, P, Q) \ - horner < NT2_HORNER_COEFF_T(type, n, P) > (x)/ \ - horner < NT2_HORNER_COEFF_T(type, m, Q) > (x) \ -/**/ -#endif diff --git a/inst/include/nt2/polynomials/functions/scalar/impl/poleval.hpp b/inst/include/nt2/polynomials/functions/scalar/impl/poleval.hpp deleted file mode 100644 index a293ed9..0000000 --- a/inst/include/nt2/polynomials/functions/scalar/impl/poleval.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SCALAR_IMPL_POLEVAL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SCALAR_IMPL_POLEVAL_HPP_INCLUDED - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// unrolled polynomial evaluation -// coeff are stored in an array that can be any direct 0 based access -// eval_poly suppose that the coefs are in ascending powers -// reval_poly suppose that the coefs are in descending powers -// the implementation also works for simd evaluation -/////////////////////////////////////////////////////////////////////////////// - -namespace nt2 -{ - struct ascending_ :boost::mpl::true_{}; // TO DO conflict with sort do a common define somewhere - struct descending_:boost::mpl::false_{}; - - namespace details - { - template - struct evaluate - { - static inline V eval(const T& a, const V& x) - { - return evaluate::eval(a, x)*x+splat(a[M-1]); - } - }; - - template struct evaluate < T, V, N, N, ascending_> - { - static inline V eval(const T& a, const V& /*x*/) - { - return splat(a[N-1]); - } - }; - - - template struct evaluate< T, V, N, M, descending_> - { - static inline V eval(const T& a, const V& x) - { - return evaluate::eval(a, x)*x+splat(a[N-M]); - } - }; - - template struct evaluate < T, V, N, N, descending_> - { - static inline V eval(const T& a, const V&) - { - return splat(a[0]); - } - }; - - } - - template inline V eval_poly(const V& x, const T& a) - { - return details::evaluate::eval(a, x); - } - template inline V reval_poly(const V& x, const T& a) - { - return details::evaluate::eval(a, x); - } - template inline V deval_poly(const V& x, const T& a, const D&) - { - return details::evaluate::eval(a, x); - } - -} - -#endif diff --git a/inst/include/nt2/polynomials/functions/scalar/laguerre.hpp b/inst/include/nt2/polynomials/functions/scalar/laguerre.hpp deleted file mode 100644 index e73616d..0000000 --- a/inst/include/nt2/polynomials/functions/scalar/laguerre.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SCALAR_LAGUERRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SCALAR_LAGUERRE_HPP_INCLUDED - -#include -#include -#include -#include - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( laguerre_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< arithmetic_ >) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return nt2::laguerre(a0, result_type(a1)); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A1 is floating_ - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT (laguerre_, tag::cpu_, - (A0)(A1), - ((scalar_ >))((scalar_ > )) - ) - { - typedef typename boost::dispatch::meta::as_floating::type result_type; - NT2_FUNCTOR_CALL(2) - { - A1 p0 = One(); - if(a0 == 0) return p0; - A1 p1 = p0-a1; - A0 c = 1; - while(c < a0) - { - std::swap(p0, p1); - p1 = laguerre_next(c, a1, p0, p1); - ++c; - } - return p1; - } - private: - template - static inline T - laguerre_next(const uint32_t& n, const T& x, const T1 &Ln, const T2& Lnm1) - { - const T np1 = T(oneplus(n)); - return ((T(n) + np1 - x) * Ln - n *Lnm1) / np1; - } - }; -} } - -#endif diff --git a/inst/include/nt2/polynomials/functions/scalar/legendre.hpp b/inst/include/nt2/polynomials/functions/scalar/legendre.hpp deleted file mode 100644 index 5d1a24a..0000000 --- a/inst/include/nt2/polynomials/functions/scalar/legendre.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SCALAR_LEGENDRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SCALAR_LEGENDRE_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( legendre_, tag::cpu_ - , (A0)(A1) - , (scalar_< integer_ >)(scalar_< arithmetic_ >) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return legendre(a0, result_type(a1)); - } - }; - - ///////////////////////////////////////////////////////////////////////////// - // Implementation when type A1 is floating_ - ///////////////////////////////////////////////////////////////////////////// - BOOST_DISPATCH_IMPLEMENT (legendre_, tag::cpu_, - (A0)(A1), - (scalar_ >)(scalar_ >) - ) - { - typedef A1 result_type; - typedef typename meta::as_unsigned::type utype; - NT2_FUNCTOR_CALL(2) - { - if(nt2::abs(a1) > 1) return Nan(); - A1 p0 = One(); - if(a0 == 0) return p0; - A1 p1 = a1; - utype n = 1; - const utype l = utype(a0); - while(n < l) - { - std::swap(p0, p1); - p1 = legendre_next(n, a1, p0, p1); - ++n; - } - return p1; - } - private : - template - static inline T1 - legendre_next(const utype& l,const T1& x, const T2& Pl, const T3& Plm1) - { - return ((2*l+1)*x*Pl-l*Plm1)/(l+1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/polynomials/functions/scalar/plevl.hpp b/inst/include/nt2/polynomials/functions/scalar/plevl.hpp deleted file mode 100644 index 0b4a9ee..0000000 --- a/inst/include/nt2/polynomials/functions/scalar/plevl.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SCALAR_PLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SCALAR_PLEVL_HPP_INCLUDED -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plevl_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >)(fusion_sequence_) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return plevl(result_type(a0), a1); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plevl_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >)(fusion_sequence_) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - typename A1::const_iterator p = a1.begin(); - A0 ans = a0+*p++; - do - ans = fma(ans, a0, *p); - while( ++p != a1.end()); - return ans; - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynomials/functions/scalar/polevl.hpp b/inst/include/nt2/polynomials/functions/scalar/polevl.hpp deleted file mode 100644 index 1c52d9c..0000000 --- a/inst/include/nt2/polynomials/functions/scalar/polevl.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SCALAR_POLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SCALAR_POLEVL_HPP_INCLUDED -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( polevl_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >)(fusion_sequence_) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return polevl(result_type(a0), a1); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( polevl_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >)(fusion_sequence_) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - typename A1::const_iterator p = a1.begin(); - A0 ans = *p++; - do - ans = fma(ans, a0, *p); - while( ++p != a1.end()); - return ans; - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynomials/functions/scalar/tchebeval.hpp b/inst/include/nt2/polynomials/functions/scalar/tchebeval.hpp deleted file mode 100644 index 2dd0714..0000000 --- a/inst/include/nt2/polynomials/functions/scalar/tchebeval.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SCALAR_TCHEBEVAL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SCALAR_TCHEBEVAL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tchebeval_, tag::cpu_ - , (A0)(A1) - , (scalar_< arithmetic_ >)(fusion_sequence_) - ) - { - - typedef typename boost::dispatch::meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return tchebeval(result_type(a0), a1); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tchebeval_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >)(fusion_sequence_) - ) - { - typedef A0 result_type; - NT2_FUNCTOR_CALL(2) - { - typename A1::const_iterator p = a1.begin(); - A0 b0 = *p++; - A0 b1 = Zero(); - A0 b2 = Zero();; - while (p != a1.end()) - { - b2 = -b1; - b1 = b0; - b0 = nt2::fma(a0, b1, b2+*p++); - } - return average(b0, b2); - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynomials/functions/simd/common/hermite.hpp b/inst/include/nt2/polynomials/functions/simd/common/hermite.hpp deleted file mode 100644 index 59f3330..0000000 --- a/inst/include/nt2/polynomials/functions/simd/common/hermite.hpp +++ /dev/null @@ -1,78 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_HERMITE_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_HERMITE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hermite_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< integer_ >)((simd_,X>)) - ) - { - - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return nt2::hermite(a0, tofloat(a1)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( hermite_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< integer_ >)((simd_,X>)) - ) - { - - typedef A1 result_type; - - NT2_FUNCTOR_CALL(2) - { - A1 p0 = One(); - if(a0==0) return p0; - A1 p1 = a1+a1; - A1 p; - A1 vc = One(); - uint32_t c = 1; - while(c < (typename meta::as_unsigned::type)a0) - { - p = p0; - p0 = p1; - p1 = Two()*(a1*p0-vc*p); - vc += One(); - ++c; - } - return p1; - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynomials/functions/simd/common/laguerre.hpp b/inst/include/nt2/polynomials/functions/simd/common/laguerre.hpp deleted file mode 100644 index bc8d18f..0000000 --- a/inst/include/nt2/polynomials/functions/simd/common/laguerre.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_LAGUERRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_LAGUERRE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( laguerre_, tag::cpu_ - , (A0)(A1)(X) - , ((scalar_< integer_ >))((simd_,X>)) - ) - { - - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return nt2::laguerre(a0, tofloat(a1)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( laguerre_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< integer_ >)((simd_,X>)) - ) - { - - typedef A1 result_type; - - NT2_FUNCTOR_CALL(2) - { - A1 p0 = One(); - if(a0 == 0) return p0; - A1 p1 = p0-a1; - A1 p; - A1 vc = One(); - uint32_t c = 1; - while(c < (typename meta::as_unsigned::type)a0) - { - p = p0; - p0 = p1; - A1 vcp1 = oneplus(vc); - p1 = ((vc + vcp1 - a1) * p0 - vc * p) /vcp1; - vc = vcp1; - ++c; - } - return p1; - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynomials/functions/simd/common/legendre.hpp b/inst/include/nt2/polynomials/functions/simd/common/legendre.hpp deleted file mode 100644 index a90c371..0000000 --- a/inst/include/nt2/polynomials/functions/simd/common/legendre.hpp +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_LEGENDRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_LEGENDRE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( legendre_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< integer_ >)((simd_,X>)) - ) - { - - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return legendre(a0, tofloat(a1)); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A1 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( legendre_, tag::cpu_ - , (A0)(A1)(X) - , (scalar_< integer_ >)((simd_,X>)) - ) - { - - typedef A1 result_type; - - NT2_FUNCTOR_CALL(2) - { - A1 p0 = One(); - if(a0 == 0) return p0; - A1 p1 = a1; - A1 p; - A1 vc = One(); - uint32_t c = 1; - while(c < (typename meta::as_unsigned::type)a0) - { - p = p0; - p0 = p1; - A1 vcp1 = oneplus(vc); - p1 = ((vc + vcp1)*a1 * p0 - vc * p) /vcp1; - vc = vcp1; - ++c; - } - return if_nan_else(gt(abs(a1), One()), p1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/polynomials/functions/simd/common/plevl.hpp b/inst/include/nt2/polynomials/functions/simd/common/plevl.hpp deleted file mode 100644 index 763abe1..0000000 --- a/inst/include/nt2/polynomials/functions/simd/common/plevl.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_PLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_PLEVL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plevl_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>))(fusion_sequence_) - ) - { - - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return plevl(tofloat(a0), a1); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( plevl_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>))(fusion_sequence_) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(2) - { - typename A1::const_iterator p = a1.begin(); - A0 ans = a0+nt2::splat(*p++); - do - ans = fma(ans, a0, nt2::splat(*p)); - while( ++p != a1.end()); - return ans; - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynomials/functions/simd/common/polevl.hpp b/inst/include/nt2/polynomials/functions/simd/common/polevl.hpp deleted file mode 100644 index 2e4bf78..0000000 --- a/inst/include/nt2/polynomials/functions/simd/common/polevl.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_POLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_POLEVL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( polevl_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>))(fusion_sequence_) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(2) - { - return polevl(tofloat(a0), a1); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( polevl_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>))(fusion_sequence_) - ) - { - - typedef A0 result_type; - - NT2_FUNCTOR_CALL(2) - { - typename A1::const_iterator p = a1.begin(); - A0 ans = nt2::splat(*p++); - do - ans = fma(ans, a0, nt2::splat(*p)); - while( ++p != a1.end()); - return ans; - } - }; -} } - - -#endif diff --git a/inst/include/nt2/polynomials/functions/simd/common/tchebeval.hpp b/inst/include/nt2/polynomials/functions/simd/common/tchebeval.hpp deleted file mode 100644 index 3a67274..0000000 --- a/inst/include/nt2/polynomials/functions/simd/common/tchebeval.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_TCHEBEVAL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_SIMD_COMMON_TCHEBEVAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is arithmetic_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tchebeval_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>))(fusion_sequence_) - ) - { - - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - return nt2::tchebeval(tofloat(a0), a1); - } - }; -} } - - -///////////////////////////////////////////////////////////////////////////// -// Implementation when type A0 is floating_ -///////////////////////////////////////////////////////////////////////////// -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( tchebeval_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_,X>))(fusion_sequence_) - ) - { - - typedef typename meta::as_floating::type result_type; - - NT2_FUNCTOR_CALL(2) - { - - typename A1::const_iterator p = a1.begin(); - A0 b0 = splat(*p++); - A0 b1 = Zero(); - A0 b2 = Zero(); - while (p != a1.end()) - { - b2 = -b1; - b1 = b0; - b0 = fma(a0, b1, b2) + splat(*p++); - } - return average(b0, b2); - - } - }; -} } - -#endif diff --git a/inst/include/nt2/polynomials/functions/tchebeval.hpp b/inst/include/nt2/polynomials/functions/tchebeval.hpp deleted file mode 100644 index f4ec515..0000000 --- a/inst/include/nt2/polynomials/functions/tchebeval.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_POLYNOMIALS_FUNCTIONS_TCHEBEVAL_HPP_INCLUDED -#define NT2_POLYNOMIALS_FUNCTIONS_TCHEBEVAL_HPP_INCLUDED -#include - -namespace nt2 { namespace tag - { - struct tchebeval_ : ext::elementwise_ { typedef ext::elementwise_ parent; template static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) BOOST_AUTO_DECLTYPE_BODY( dispatching_tchebeval_( ext::adl_helper(), static_cast(args)... ) ) }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_tchebeval_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_tchebeval_; - } - NT2_FUNCTION_IMPLEMENTATION(tag::tchebeval_, tchebeval, 2) -} - - -#endif - -// modified by jt the 25/12/2010 diff --git a/inst/include/nt2/polynomials/include/functions/hermite.hpp b/inst/include/nt2/polynomials/include/functions/hermite.hpp deleted file mode 100644 index 9895e43..0000000 --- a/inst/include/nt2/polynomials/include/functions/hermite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_HERMITE_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_HERMITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/laguerre.hpp b/inst/include/nt2/polynomials/include/functions/laguerre.hpp deleted file mode 100644 index 45c1f56..0000000 --- a/inst/include/nt2/polynomials/include/functions/laguerre.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_LAGUERRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_LAGUERRE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/legendre.hpp b/inst/include/nt2/polynomials/include/functions/legendre.hpp deleted file mode 100644 index 8d298b2..0000000 --- a/inst/include/nt2/polynomials/include/functions/legendre.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_LEGENDRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_LEGENDRE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/plevl.hpp b/inst/include/nt2/polynomials/include/functions/plevl.hpp deleted file mode 100644 index 6b3100a..0000000 --- a/inst/include/nt2/polynomials/include/functions/plevl.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_PLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_PLEVL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/polevl.hpp b/inst/include/nt2/polynomials/include/functions/polevl.hpp deleted file mode 100644 index a562b26..0000000 --- a/inst/include/nt2/polynomials/include/functions/polevl.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_POLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_POLEVL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/scalar/hermite.hpp b/inst/include/nt2/polynomials/include/functions/scalar/hermite.hpp deleted file mode 100644 index 06770e1..0000000 --- a/inst/include/nt2/polynomials/include/functions/scalar/hermite.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_HERMITE_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_HERMITE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/scalar/laguerre.hpp b/inst/include/nt2/polynomials/include/functions/scalar/laguerre.hpp deleted file mode 100644 index d22ec53..0000000 --- a/inst/include/nt2/polynomials/include/functions/scalar/laguerre.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_LAGUERRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_LAGUERRE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/scalar/legendre.hpp b/inst/include/nt2/polynomials/include/functions/scalar/legendre.hpp deleted file mode 100644 index f5ab34e..0000000 --- a/inst/include/nt2/polynomials/include/functions/scalar/legendre.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_LEGENDRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_LEGENDRE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/scalar/plevl.hpp b/inst/include/nt2/polynomials/include/functions/scalar/plevl.hpp deleted file mode 100644 index 9d9d134..0000000 --- a/inst/include/nt2/polynomials/include/functions/scalar/plevl.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_PLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_PLEVL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/scalar/polevl.hpp b/inst/include/nt2/polynomials/include/functions/scalar/polevl.hpp deleted file mode 100644 index b4b362c..0000000 --- a/inst/include/nt2/polynomials/include/functions/scalar/polevl.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_POLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_POLEVL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/scalar/tchebeval.hpp b/inst/include/nt2/polynomials/include/functions/scalar/tchebeval.hpp deleted file mode 100644 index 4cd6412..0000000 --- a/inst/include/nt2/polynomials/include/functions/scalar/tchebeval.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_TCHEBEVAL_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SCALAR_TCHEBEVAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/simd/hermite.hpp b/inst/include/nt2/polynomials/include/functions/simd/hermite.hpp deleted file mode 100644 index af5c5ad..0000000 --- a/inst/include/nt2/polynomials/include/functions/simd/hermite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_HERMITE_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_HERMITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/simd/laguerre.hpp b/inst/include/nt2/polynomials/include/functions/simd/laguerre.hpp deleted file mode 100644 index 6640725..0000000 --- a/inst/include/nt2/polynomials/include/functions/simd/laguerre.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_LAGUERRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_LAGUERRE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/simd/legendre.hpp b/inst/include/nt2/polynomials/include/functions/simd/legendre.hpp deleted file mode 100644 index 4bd0503..0000000 --- a/inst/include/nt2/polynomials/include/functions/simd/legendre.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_LEGENDRE_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_LEGENDRE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/simd/plevl.hpp b/inst/include/nt2/polynomials/include/functions/simd/plevl.hpp deleted file mode 100644 index 913b5c0..0000000 --- a/inst/include/nt2/polynomials/include/functions/simd/plevl.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_PLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_PLEVL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/simd/polevl.hpp b/inst/include/nt2/polynomials/include/functions/simd/polevl.hpp deleted file mode 100644 index 655b4b5..0000000 --- a/inst/include/nt2/polynomials/include/functions/simd/polevl.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_POLEVL_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_POLEVL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/simd/tchebeval.hpp b/inst/include/nt2/polynomials/include/functions/simd/tchebeval.hpp deleted file mode 100644 index 6c97c7b..0000000 --- a/inst/include/nt2/polynomials/include/functions/simd/tchebeval.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_TCHEBEVAL_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_SIMD_TCHEBEVAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/include/functions/tchebeval.hpp b/inst/include/nt2/polynomials/include/functions/tchebeval.hpp deleted file mode 100644 index 7e70457..0000000 --- a/inst/include/nt2/polynomials/include/functions/tchebeval.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_TCHEBEVAL_HPP_INCLUDED -#define NT2_POLYNOMIALS_INCLUDE_FUNCTIONS_TCHEBEVAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/polynomials/polynomials.hpp b/inst/include/nt2/polynomials/polynomials.hpp deleted file mode 100644 index 7676ff9..0000000 --- a/inst/include/nt2/polynomials/polynomials.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_POLYNOMIALS_POLYNOMIALS_HPP_INCLUDED -#define NT2_POLYNOMIALS_POLYNOMIALS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/constants.hpp b/inst/include/nt2/predicates/constants.hpp deleted file mode 100644 index 30851cc..0000000 --- a/inst/include/nt2/predicates/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_PREDICATES_CONSTANTS_HPP_INCLUDED -#define NT2_PREDICATES_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/predicates/functions.hpp b/inst/include/nt2/predicates/functions.hpp deleted file mode 100644 index 95ed6d8..0000000 --- a/inst/include/nt2/predicates/functions.hpp +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef NT2_PREDICATES_FUNCTIONS_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/functions/arecatcompatible.hpp b/inst/include/nt2/predicates/functions/arecatcompatible.hpp deleted file mode 100644 index 6cadf17..0000000 --- a/inst/include/nt2/predicates/functions/arecatcompatible.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ARECATCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ARECATCOMPATIBLE_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for arecatcompatible functor - **/ - struct arecatcompatible_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_arecatcompatible_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_arecatcompatible_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_arecatcompatible_; - } - - /*! - @brief Check for concatenation compatibility - - For two given expressions and a given dimension, arecatcompatible verifies - that the concatenation of both table along the chosen dimension is valid. - - @param a0 First expression to concatenate - @param a1 Second expression to concatenate - @param dim Dimension along which the concatenation is tested - - @return a boolean value that evaluates to true if @c a0 and @c a1 can be - concatenated along thier @c dim dimension. - **/ - template< class A0, class A1,class D> - BOOST_FORCEINLINE - typename meta::call::type - arecatcompatible(A0 const& a0, A1 const& a1, D const& dim) - { - return typename make_functor::type()(a0,a1,dim); - } -} - -#endif diff --git a/inst/include/nt2/predicates/functions/arecrosscompatible.hpp b/inst/include/nt2/predicates/functions/arecrosscompatible.hpp deleted file mode 100644 index bbf66d8..0000000 --- a/inst/include/nt2/predicates/functions/arecrosscompatible.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ARECROSSCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ARECROSSCOMPATIBLE_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for arecrosscompatible functor - **/ - struct arecrosscompatible_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_arecrosscompatible_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_arecrosscompatible_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_arecrosscompatible_; - } - - /*! - @brief Check for cross product compatibility - - For two given expressions and a given dimension, arecrosscompatible verifies - that both table can be used in a cross product along the chosen dimension. - - @param a0 First expression to cross product - @param a1 Second expression to cross product - @param dim Dimension along which the cross product is tested - - @return a boolean value that evaluates to true if @c a0 and @c a1 can be - used in a cross product along thier @c dim dimension. - **/ - template< class A0, class A1,class D> - BOOST_FORCEINLINE - typename meta::call < tag::arecrosscompatible_( A0 const&, A1 const& - , D const& - ) - >::type - arecrosscompatible(A0 const& a0, A1 const& a1, D const& dim) - { - return typename make_functor::type()(a0,a1,dim); - } -} - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_equal_with_equal_nans.hpp deleted file mode 100644 index 6d9b171..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal_with_equal_nans(nt2::real(a0),nt2::real(a1)), is_equal_with_equal_nans(nt2::imag(a0),nt2::imag(a1))); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_equal_with_equal_nans(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal_with_equal_nans(nt2::real(a0), a1), is_real(a0)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal_with_equal_nans(nt2::real(a0), nt2::real(a1)), is_real(a0)); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal_with_equal_nans(nt2::real(a1),a0), is_real(a1)); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_equal_with_equal_nans_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_and(is_equal_with_equal_nans(nt2::real(a1),nt2::real(a0)), is_real(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_eqz.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_eqz.hpp deleted file mode 100644 index d0bc10e..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_eqz.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_EQZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_EQZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_eqz_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return logical_and(is_eqz(nt2::imag(a0)),is_eqz(nt2::real(a0))); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_eqz_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_eqz(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_finite.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_finite.hpp deleted file mode 100644 index 2816575..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_finite.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_FINITE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_finite_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return logical_and(is_finite(nt2::imag(a0)),is_finite(nt2::real(a0))); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_finite_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_finite(nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_gez.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_gez.hpp deleted file mode 100644 index 030090d..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_gez.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_GEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_GEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_gez_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_gez(nt2::real(a0)); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_gez_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_gez(nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_gtz.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_gtz.hpp deleted file mode 100644 index 96aefc1..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_gtz.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_GTZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_GTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_gtz_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_gtz(nt2::real(a0)); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_gtz_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - inline result_type operator()(const A0& a0) const - { - return is_gtz(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_imag.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_imag.hpp deleted file mode 100644 index e2df4d7..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_imag.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_IMAG_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_imag_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_eqz(nt2::real(a0)); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_imag_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_eqz(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_inf.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_inf.hpp deleted file mode 100644 index 5943bfb..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_inf.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_INF_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_INF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_inf_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - //C99 standard:A complex value with at least one infinite part - //is regarded as an infinity (even if its other part is a NaN). - return logical_or(is_inf(nt2::imag(a0)),is_inf(nt2::real(a0))); - } - }; - // dry - BOOST_DISPATCH_IMPLEMENT ( is_inf_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_inf(nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_invalid.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_invalid.hpp deleted file mode 100644 index 0a1005a..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_invalid.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_INVALID_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_INVALID_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_invalid_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return logical_or(is_invalid(nt2::imag(a0)),is_invalid(nt2::real(a0))); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_invalid_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_invalid(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_lez.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_lez.hpp deleted file mode 100644 index aca404c..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_lez.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_LEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_LEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_lez_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_lez(nt2::real(a0)); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_lez_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_lez(nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_ltz.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_ltz.hpp deleted file mode 100644 index 9e4e95c..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_ltz.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_LTZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_LTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_ltz_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_ltz(nt2::real(a0)); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_ltz_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_ltz(nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_nan.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_nan.hpp deleted file mode 100644 index 172833e..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_nan.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NAN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NAN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_nan_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return logical_or(is_nan(nt2::imag(a0)),is_nan(nt2::real(a0))); - } - }; - - - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_nan_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_nan(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_nez.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_nez.hpp deleted file mode 100644 index 59b720f..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_nez.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_nez_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return logical_or(is_nez(nt2::imag(a0)),is_nez(nt2::real(a0))); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_nez_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_nez(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_ngez.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_ngez.hpp deleted file mode 100644 index 6b362cb..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_ngez.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NGEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NGEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_ngez_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_ngez(nt2::real(a0)); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_ngez_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_ngez(nt2::real(a0)); - } - }; - - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_ngtz.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_ngtz.hpp deleted file mode 100644 index d9a451a..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_ngtz.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NGTZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NGTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_ngtz_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_ngtz(nt2::real(a0)); - } - }; - - // complex - BOOST_DISPATCH_IMPLEMENT ( is_ngtz_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_ngtz(nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_nlez.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_nlez.hpp deleted file mode 100644 index c743f61..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_nlez.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NLEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NLEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_nlez_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_nlez(nt2::real(a0)); - } - }; - - // complex - BOOST_DISPATCH_IMPLEMENT ( is_nlez_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_nlez(nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_nltz.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_nltz.hpp deleted file mode 100644 index 1bb1297..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_nltz.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NLTZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NLTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_nltz_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_nltz(nt2::real(a0)); - } - }; - - // complex - BOOST_DISPATCH_IMPLEMENT ( is_nltz_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_nltz(nt2::real(a0)); - } - }; - - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 628fe13..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal_with_equal_nans(nt2::real(a0),nt2::real(a1)), is_not_equal_with_equal_nans(nt2::imag(a0),nt2::imag(a1))); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, tag::cpu_, (A0)(A1) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_equal_with_equal_nans(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal_with_equal_nans(nt2::real(a0), a1), is_nez(nt2::imag(a0))); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal_with_equal_nans(nt2::real(a0), nt2::real(a1)), is_nez(nt2::imag(a0))); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal_with_equal_nans(nt2::real(a1),a0), is_nez(nt2::imag(a1))); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_equal_with_equal_nans_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return logical_or(is_not_equal_with_equal_nans(nt2::real(a1),nt2::real(a0)), is_nez(nt2::imag(a1))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_finite.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_finite.hpp deleted file mode 100644 index 318092d..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_finite.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_not_finite_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return logical_or(is_not_finite(nt2::real(a0)), is_not_finite(nt2::imag(a0))); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_not_finite_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_not_finite(nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_greater.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_greater.hpp deleted file mode 100644 index 77e06dc..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_greater.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_GREATER_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_GREATER_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_not_greater(nt2::real(a0),nt2::real(a1)); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_not_greater(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_greater(nt2::real(a0), a1); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_greater(nt2::real(a0), nt2::real(a1)); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_greater(nt2::real(a1),a0); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_greater(nt2::real(a1),nt2::real(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_greater_equal.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_greater_equal.hpp deleted file mode 100644 index c906fbe..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_greater_equal.hpp +++ /dev/null @@ -1,108 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_not_greater_equal(nt2::real(a0),nt2::real(a1)); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_not_greater_equal(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_greater_equal(nt2::real(a0), a1); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_greater_equal(nt2::real(a0), nt2::real(a1)); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_greater_equal(nt2::real(a1),a0); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_greater_equal_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_greater_equal(nt2::real(a1),nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_imag.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_imag.hpp deleted file mode 100644 index a7b79f5..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_imag.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_IMAG_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_not_imag_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_nez(nt2::real(a0)); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_not_imag_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_nez(nt2::real(a0)); - } - }; - - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_infinite.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_infinite.hpp deleted file mode 100644 index dc49ee1..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_infinite.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_INFINITE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_not_infinite_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - - NT2_FUNCTOR_CALL(1) - { - return logical_and(is_not_infinite(nt2::imag(a0)),is_not_infinite(nt2::real(a0))); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_not_infinite_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_not_infinite(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_less.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_less.hpp deleted file mode 100644 index a225f8e..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_less.hpp +++ /dev/null @@ -1,110 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_LESS_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_LESS_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_not_less(nt2::real(a0),nt2::real(a1)); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_not_less(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_less(nt2::real(a0), a1); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_less(nt2::real(a0), nt2::real(a1)); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_less(nt2::real(a0),a1); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_less_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_less(nt2::real(a0),nt2::real(a1)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_less_equal.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_less_equal.hpp deleted file mode 100644 index 975fc15..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_less_equal.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_not_less_equal(nt2::real(a0),nt2::real(a1)); - } - }; - // dry/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return is_not_less_equal(nt2::real(a0),nt2::real(a1)); - } - }; - // complex/arithmetic - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< arithmetic_ >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_less_equal(nt2::real(a0), a1); - } - }; - // complex/dry - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (generic_< dry_ < arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_less_equal(nt2::real(a0), nt2::real(a1)); - } - }; - // arithmetic/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, tag::cpu_, (A0)(A1), - (generic_< arithmetic_ >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_less_equal(nt2::real(a1),a0); - } - }; - // dry/complex - BOOST_DISPATCH_IMPLEMENT ( is_not_less_equal_, tag::cpu_, (A0)(A1), - (generic_< dry_ < arithmetic_ > >) - (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(2) - { - return is_not_less_equal(nt2::real(a1),nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_nan.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_nan.hpp deleted file mode 100644 index 30550e4..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_nan.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_NAN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_NAN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_not_nan_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return logical_and(is_not_nan(nt2::imag(a0)),is_not_nan(nt2::real(a0))); - } - }; - - // dry - BOOST_DISPATCH_IMPLEMENT ( is_not_nan_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_not_nan(nt2::real(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_not_real.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_not_real.hpp deleted file mode 100644 index ad4a655..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_not_real.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_REAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_NOT_REAL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_not_real_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_nez(nt2::imag(a0)); - } - }; - // dry - BOOST_DISPATCH_IMPLEMENT ( is_not_real_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return False(); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/complex/generic/is_real.hpp b/inst/include/nt2/predicates/functions/complex/generic/is_real.hpp deleted file mode 100644 index 584a5d2..0000000 --- a/inst/include/nt2/predicates/functions/complex/generic/is_real.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_REAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_COMPLEX_GENERIC_IS_REAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - // complex - BOOST_DISPATCH_IMPLEMENT ( is_real_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return is_eqz(nt2::imag(a0)); - } - }; - // dry - BOOST_DISPATCH_IMPLEMENT ( is_real_, tag::cpu_, (A0), - (generic_< dry_< arithmetic_ > > ) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::as_logical::type result_type; - - BOOST_FORCEINLINE result_type operator()(A0 const&) const - { - return True(); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/predicates/functions/havesamesize.hpp b/inst/include/nt2/predicates/functions/havesamesize.hpp deleted file mode 100644 index aa695a4..0000000 --- a/inst/include/nt2/predicates/functions/havesamesize.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_HAVESAMESIZE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_HAVESAMESIZE_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the havesamesize functor - **/ - struct havesamesize_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_havesamesize_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_havesamesize_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_havesamesize_; - } - - /*! - @brief Check if two expression have the same size - - For two expression a0 and a1, checks is they have the same size. - - @param a0 First expression to compare - @param a1 Second expression to compare - - @return Boolean value evaluating to the result of the test - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::havesamesize_, havesamesize, 2) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_denormal.hpp b/inst/include/nt2/predicates/functions/is_denormal.hpp deleted file mode 100644 index 2601d23..0000000 --- a/inst/include/nt2/predicates/functions/is_denormal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_denormal_} **/ - struct is_denormal_ {}; - #endif - using boost::simd::tag::is_denormal_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_denormal} **/ - template - details::unspecified is_denormal(Args&&... args); - #endif - using boost::simd::is_denormal; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/functions/is_equal_with_equal_nans.hpp deleted file mode 100644 index a05fba8..0000000 --- a/inst/include/nt2/predicates/functions/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_equal_with_equal_nans_} **/ - struct is_equal_with_equal_nans_ {}; - #endif - using boost::simd::tag::is_equal_with_equal_nans_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_equal_with_equal_nans} **/ - template - details::unspecified is_equal_with_equal_nans(Args&&... args); - #endif - using boost::simd::is_equal_with_equal_nans; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_eqz.hpp b/inst/include/nt2/predicates/functions/is_eqz.hpp deleted file mode 100644 index 331d104..0000000 --- a/inst/include/nt2/predicates/functions/is_eqz.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_EQZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_EQZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_eqz_} **/ - struct is_eqz_ {}; - #endif - using boost::simd::tag::is_eqz_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_eqz} **/ - template - details::unspecified is_eqz(Args&&... args); - #endif - using boost::simd::is_eqz; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_even.hpp b/inst/include/nt2/predicates/functions/is_even.hpp deleted file mode 100644 index d932857..0000000 --- a/inst/include/nt2/predicates/functions/is_even.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_EVEN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_EVEN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_even_} **/ - struct is_even_ {}; - #endif - using boost::simd::tag::is_even_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_even} **/ - template - details::unspecified is_even(Args&&... args); - #endif - using boost::simd::is_even; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_finite.hpp b/inst/include/nt2/predicates/functions/is_finite.hpp deleted file mode 100644 index f4c3627..0000000 --- a/inst/include/nt2/predicates/functions/is_finite.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_FINITE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_finite_} **/ - struct is_finite_ {}; - #endif - using boost::simd::tag::is_finite_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_finite} **/ - template - details::unspecified is_finite(Args&&... args); - #endif - using boost::simd::is_finite; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_flint.hpp b/inst/include/nt2/predicates/functions/is_flint.hpp deleted file mode 100644 index eda64d6..0000000 --- a/inst/include/nt2/predicates/functions/is_flint.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_FLINT_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_FLINT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_flint_} **/ - struct is_flint_ {}; - #endif - using boost::simd::tag::is_flint_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_flint} **/ - template - details::unspecified is_flint(Args&&... args); - #endif - using boost::simd::is_flint; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_gez.hpp b/inst/include/nt2/predicates/functions/is_gez.hpp deleted file mode 100644 index 9f67af5..0000000 --- a/inst/include/nt2/predicates/functions/is_gez.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_GEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_GEZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_gez_} **/ - struct is_gez_ {}; - #endif - using boost::simd::tag::is_gez_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_gez} **/ - template - details::unspecified is_gez(Args&&... args); - #endif - using boost::simd::is_gez; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_gtz.hpp b/inst/include/nt2/predicates/functions/is_gtz.hpp deleted file mode 100644 index 144dc33..0000000 --- a/inst/include/nt2/predicates/functions/is_gtz.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_GTZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_GTZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_gtz_} **/ - struct is_gtz_ {}; - #endif - using boost::simd::tag::is_gtz_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_gtz} **/ - template - details::unspecified is_gtz(Args&&... args); - #endif - using boost::simd::is_gtz; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_imag.hpp b/inst/include/nt2/predicates/functions/is_imag.hpp deleted file mode 100644 index d00e242..0000000 --- a/inst/include/nt2/predicates/functions/is_imag.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_IMAG_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_imag_} **/ - struct is_imag_ {}; - #endif - using boost::simd::tag::is_imag_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_imag} **/ - template - details::unspecified is_imag(Args&&... args); - #endif - using boost::simd::is_imag; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_inf.hpp b/inst/include/nt2/predicates/functions/is_inf.hpp deleted file mode 100644 index d4b62aa..0000000 --- a/inst/include/nt2/predicates/functions/is_inf.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_INF_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_INF_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_inf_} **/ - struct is_inf_ {}; - #endif - using boost::simd::tag::is_inf_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_inf} **/ - template - details::unspecified is_inf(Args&&... args); - #endif - using boost::simd::is_inf; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_invalid.hpp b/inst/include/nt2/predicates/functions/is_invalid.hpp deleted file mode 100644 index 3b1430e..0000000 --- a/inst/include/nt2/predicates/functions/is_invalid.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_INVALID_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_INVALID_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_invalid_} **/ - struct is_invalid_ {}; - #endif - using boost::simd::tag::is_invalid_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_invalid} **/ - template - details::unspecified is_invalid(Args&&... args); - #endif - using boost::simd::is_invalid; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_lez.hpp b/inst/include/nt2/predicates/functions/is_lez.hpp deleted file mode 100644 index cdecd52..0000000 --- a/inst/include/nt2/predicates/functions/is_lez.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_LEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_LEZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_lez_} **/ - struct is_lez_ {}; - #endif - using boost::simd::tag::is_lez_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_lez} **/ - template - details::unspecified is_lez(Args&&... args); - #endif - using boost::simd::is_lez; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_ltz.hpp b/inst/include/nt2/predicates/functions/is_ltz.hpp deleted file mode 100644 index 6388609..0000000 --- a/inst/include/nt2/predicates/functions/is_ltz.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_LTZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_LTZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_ltz_} **/ - struct is_ltz_ {}; - #endif - using boost::simd::tag::is_ltz_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_ltz} **/ - template - details::unspecified is_ltz(Args&&... args); - #endif - using boost::simd::is_ltz; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_nan.hpp b/inst/include/nt2/predicates/functions/is_nan.hpp deleted file mode 100644 index d3f9e8f..0000000 --- a/inst/include/nt2/predicates/functions/is_nan.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NAN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NAN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_nan_} **/ - struct is_nan_ {}; - #endif - using boost::simd::tag::is_nan_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_nan} **/ - template - details::unspecified is_nan(Args&&... args); - #endif - using boost::simd::is_nan; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_negative.hpp b/inst/include/nt2/predicates/functions/is_negative.hpp deleted file mode 100644 index 3d5c69d..0000000 --- a/inst/include/nt2/predicates/functions/is_negative.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_negative_} **/ - struct is_negative_ {}; - #endif - using boost::simd::tag::is_negative_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_negative} **/ - template - details::unspecified is_negative(Args&&... args); - #endif - using boost::simd::is_negative; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_nez.hpp b/inst/include/nt2/predicates/functions/is_nez.hpp deleted file mode 100644 index 68ddb7d..0000000 --- a/inst/include/nt2/predicates/functions/is_nez.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NEZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_nez_} **/ - struct is_nez_ {}; - #endif - using boost::simd::tag::is_nez_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_nez} **/ - template - details::unspecified is_nez(Args&&... args); - #endif - using boost::simd::is_nez; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_ngez.hpp b/inst/include/nt2/predicates/functions/is_ngez.hpp deleted file mode 100644 index e5ac96a..0000000 --- a/inst/include/nt2/predicates/functions/is_ngez.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NGEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NGEZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_ngez_} **/ - struct is_ngez_ {}; - #endif - using boost::simd::tag::is_ngez_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_ngez} **/ - template - details::unspecified is_ngez(Args&&... args); - #endif - using boost::simd::is_ngez; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_ngtz.hpp b/inst/include/nt2/predicates/functions/is_ngtz.hpp deleted file mode 100644 index 96e624d..0000000 --- a/inst/include/nt2/predicates/functions/is_ngtz.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NGTZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NGTZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_ngtz_} **/ - struct is_ngtz_ {}; - #endif - using boost::simd::tag::is_ngtz_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_ngtz} **/ - template - details::unspecified is_ngtz(Args&&... args); - #endif - using boost::simd::is_ngtz; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_nlez.hpp b/inst/include/nt2/predicates/functions/is_nlez.hpp deleted file mode 100644 index 4ffecac..0000000 --- a/inst/include/nt2/predicates/functions/is_nlez.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NLEZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NLEZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_nlez_} **/ - struct is_nlez_ {}; - #endif - using boost::simd::tag::is_nlez_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_nlez} **/ - template - details::unspecified is_nlez(Args&&... args); - #endif - using boost::simd::is_nlez; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_nltz.hpp b/inst/include/nt2/predicates/functions/is_nltz.hpp deleted file mode 100644 index c463e52..0000000 --- a/inst/include/nt2/predicates/functions/is_nltz.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NLTZ_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NLTZ_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_nltz_} **/ - struct is_nltz_ {}; - #endif - using boost::simd::tag::is_nltz_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_nltz} **/ - template - details::unspecified is_nltz(Args&&... args); - #endif - using boost::simd::is_nltz; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_denormal.hpp b/inst/include/nt2/predicates/functions/is_not_denormal.hpp deleted file mode 100644 index 4f5fd5c..0000000 --- a/inst/include/nt2/predicates/functions/is_not_denormal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_denormal_} **/ - struct is_not_denormal_ {}; - #endif - using boost::simd::tag::is_not_denormal_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_denormal} **/ - template - details::unspecified is_not_denormal(Args&&... args); - #endif - using boost::simd::is_not_denormal; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/functions/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index bbbced4..0000000 --- a/inst/include/nt2/predicates/functions/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_equal_with_equal_nans_} **/ - struct is_not_equal_with_equal_nans_ {}; - #endif - using boost::simd::tag::is_not_equal_with_equal_nans_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_equal_with_equal_nans} **/ - template - details::unspecified is_not_equal_with_equal_nans(Args&&... args); - #endif - using boost::simd::is_not_equal_with_equal_nans; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_finite.hpp b/inst/include/nt2/predicates/functions/is_not_finite.hpp deleted file mode 100644 index 4123d5a..0000000 --- a/inst/include/nt2/predicates/functions/is_not_finite.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_finite_} **/ - struct is_not_finite_ {}; - #endif - using boost::simd::tag::is_not_finite_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_finite} **/ - template - details::unspecified is_not_finite(Args&&... args); - #endif - using boost::simd::is_not_finite; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_greater.hpp b/inst/include/nt2/predicates/functions/is_not_greater.hpp deleted file mode 100644 index 44e79cb..0000000 --- a/inst/include/nt2/predicates/functions/is_not_greater.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_greater_} **/ - struct is_not_greater_ {}; - #endif - using boost::simd::tag::is_not_greater_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_greater} **/ - template - details::unspecified is_not_greater(Args&&... args); - #endif - using boost::simd::is_not_greater; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_greater_equal.hpp b/inst/include/nt2/predicates/functions/is_not_greater_equal.hpp deleted file mode 100644 index e043fce..0000000 --- a/inst/include/nt2/predicates/functions/is_not_greater_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_greater_equal_} **/ - struct is_not_greater_equal_ {}; - #endif - using boost::simd::tag::is_not_greater_equal_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_greater_equal} **/ - template - details::unspecified is_not_greater_equal(Args&&... args); - #endif - using boost::simd::is_not_greater_equal; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_imag.hpp b/inst/include/nt2/predicates/functions/is_not_imag.hpp deleted file mode 100644 index 985b168..0000000 --- a/inst/include/nt2/predicates/functions/is_not_imag.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_imag_} **/ - struct is_not_imag_ {}; - #endif - using boost::simd::tag::is_not_imag_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_imag} **/ - template - details::unspecified is_not_imag(Args&&... args); - #endif - using boost::simd::is_not_imag; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_infinite.hpp b/inst/include/nt2/predicates/functions/is_not_infinite.hpp deleted file mode 100644 index c1aba77..0000000 --- a/inst/include/nt2/predicates/functions/is_not_infinite.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_infinite_} **/ - struct is_not_infinite_ {}; - #endif - using boost::simd::tag::is_not_infinite_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_infinite} **/ - template - details::unspecified is_not_infinite(Args&&... args); - #endif - using boost::simd::is_not_infinite; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_less.hpp b/inst/include/nt2/predicates/functions/is_not_less.hpp deleted file mode 100644 index 0902829..0000000 --- a/inst/include/nt2/predicates/functions/is_not_less.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace tag - { - using boost::simd::tag::is_not_less_; - } - - using boost::simd::is_not_less; - using boost::simd::is_nlt; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_less_equal.hpp b/inst/include/nt2/predicates/functions/is_not_less_equal.hpp deleted file mode 100644 index 5dde601..0000000 --- a/inst/include/nt2/predicates/functions/is_not_less_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_less_equal_} **/ - struct is_not_less_equal_ {}; - #endif - using boost::simd::tag::is_not_less_equal_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_less_equal} **/ - template - details::unspecified is_not_less_equal(Args&&... args); - #endif - using boost::simd::is_not_less_equal; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_nan.hpp b/inst/include/nt2/predicates/functions/is_not_nan.hpp deleted file mode 100644 index be7cfe8..0000000 --- a/inst/include/nt2/predicates/functions/is_not_nan.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_nan_} **/ - struct is_not_nan_ {}; - #endif - using boost::simd::tag::is_not_nan_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_nan} **/ - template - details::unspecified is_not_nan(Args&&... args); - #endif - using boost::simd::is_not_nan; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_not_real.hpp b/inst/include/nt2/predicates/functions/is_not_real.hpp deleted file mode 100644 index 42cae5d..0000000 --- a/inst/include/nt2/predicates/functions/is_not_real.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_not_real_} **/ - struct is_not_real_ {}; - #endif - using boost::simd::tag::is_not_real_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_not_real} **/ - template - details::unspecified is_not_real(Args&&... args); - #endif - using boost::simd::is_not_real; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_odd.hpp b/inst/include/nt2/predicates/functions/is_odd.hpp deleted file mode 100644 index c7e135a..0000000 --- a/inst/include/nt2/predicates/functions/is_odd.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_ODD_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_ODD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_odd_} **/ - struct is_odd_ {}; - #endif - using boost::simd::tag::is_odd_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_odd} **/ - template - details::unspecified is_odd(Args&&... args); - #endif - using boost::simd::is_odd; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_ord.hpp b/inst/include/nt2/predicates/functions/is_ord.hpp deleted file mode 100644 index 4f57ef7..0000000 --- a/inst/include/nt2/predicates/functions/is_ord.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_ORD_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_ORD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_ord_} **/ - struct is_ord_ {}; - #endif - using boost::simd::tag::is_ord_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_ord} **/ - template - details::unspecified is_ord(Args&&... args); - #endif - using boost::simd::is_ord; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_positive.hpp b/inst/include/nt2/predicates/functions/is_positive.hpp deleted file mode 100644 index 5afe214..0000000 --- a/inst/include/nt2/predicates/functions/is_positive.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_positive_} **/ - struct is_positive_ {}; - #endif - using boost::simd::tag::is_positive_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_positive} **/ - template - details::unspecified is_positive(Args&&... args); - #endif - using boost::simd::is_positive; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_real.hpp b/inst/include/nt2/predicates/functions/is_real.hpp deleted file mode 100644 index 2232b00..0000000 --- a/inst/include/nt2/predicates/functions/is_real.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_REAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_REAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_real_} **/ - struct is_real_ {}; - #endif - using boost::simd::tag::is_real_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_real} **/ - template - details::unspecified is_real(Args&&... args); - #endif - using boost::simd::is_real; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/is_unord.hpp b/inst/include/nt2/predicates/functions/is_unord.hpp deleted file mode 100644 index 12c6aeb..0000000 --- a/inst/include/nt2/predicates/functions/is_unord.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_IS_UNORD_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_IS_UNORD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_unord_} **/ - struct is_unord_ {}; - #endif - using boost::simd::tag::is_unord_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_unord} **/ - template - details::unspecified is_unord(Args&&... args); - #endif - using boost::simd::is_unord; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/iscolumn.hpp b/inst/include/nt2/predicates/functions/iscolumn.hpp deleted file mode 100644 index 54455e2..0000000 --- a/inst/include/nt2/predicates/functions/iscolumn.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISCOLUMN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISCOLUMN_HPP_INCLUDED - -/*! - @file - @brief Defines the iscolumn function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for iscolumn functor - **/ - struct iscolumn_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_iscolumn_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_iscolumn_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_iscolumn_; - } - - /*! - @brief Test for "column-like" status - - Returns @c true iff the size of a0 is of the form [N 1] - - @param a0 the first parameter of iscolumn - @return a boolean value indicating the "column-like" status of a0 - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::iscolumn_, iscolumn, 1) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/isdiagonal.hpp b/inst/include/nt2/predicates/functions/isdiagonal.hpp deleted file mode 100644 index 0637b4b..0000000 --- a/inst/include/nt2/predicates/functions/isdiagonal.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISDIAGONAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISDIAGONAL_HPP_INCLUDED - -/*! - @file - @brief Defines the isdiagonal function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - struct isdiagonal_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isdiagonal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isdiagonal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isdiagonal_; - } - - /*! - @brief Test for diagonal status - - Returns @c true iff a0 is a diagonal matrix, which means every elements - outside its diagonal are equal to 0. - - @param a0 The expression to test - @return a boolean value indicating the diagonal status of a0 - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isdiagonal_, isdiagonal, 1) - - /*! - @brief Test for diagonal status with precision - - Returns @c true iff a0 is a diagonal matrix up to a given precision, which - means every elements outside its diagonal are at a distance to 0 of atmost - a1. - - @param a0 The expression to test - @param a1 Precision treshold to satisfy - @return a boolean value indicating the status of a0 - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isdiagonal_, isdiagonal, 2) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/isempty.hpp b/inst/include/nt2/predicates/functions/isempty.hpp deleted file mode 100644 index 27ee3bb..0000000 --- a/inst/include/nt2/predicates/functions/isempty.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISEMPTY_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISEMPTY_HPP_INCLUDED - -/*! - @file - @brief Defines the isempty function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isempty functor - **/ - struct isempty_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isempty_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isempty_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isempty_; - } - - /*! - @brief Is an expression empty ? - - Checks if an expression has a number of elements equal to 0. - - @param a0 Expression to inspect - - @return Boolean value evaluating to the result of the test - - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isempty_, isempty, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/isequal.hpp b/inst/include/nt2/predicates/functions/isequal.hpp deleted file mode 100644 index 059b4ba..0000000 --- a/inst/include/nt2/predicates/functions/isequal.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISEQUAL_HPP_INCLUDED - -/*! - @file - @brief Defines the isequal function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isequal functor - **/ - struct isequal_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isequal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isequal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isequal_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isequal_, isequal, 2) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/isequaln.hpp b/inst/include/nt2/predicates/functions/isequaln.hpp deleted file mode 100644 index 957aa9e..0000000 --- a/inst/include/nt2/predicates/functions/isequaln.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISEQUALN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISEQUALN_HPP_INCLUDED - -/*! - @file - @brief Defines the isequaln function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isequaln functor - **/ - struct isequaln_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isequaln_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isequaln_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isequaln_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isequaln_, isequaln, 2) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/isexpandable_to.hpp b/inst/include/nt2/predicates/functions/isexpandable_to.hpp deleted file mode 100644 index 2d65c3d..0000000 --- a/inst/include/nt2/predicates/functions/isexpandable_to.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISEXPANDABLE_TO_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISEXPANDABLE_TO_HPP_INCLUDED - -/*! - @file - @brief Define the isexpandable_to function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isexpandable_to functor - **/ - struct isexpandable_to_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isexpandable_to_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isexpandable_to_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isexpandable_to_; - } - - /*! - @brief Check for concatenation compatibility - - For a given expression and a given extent, isexpandable_to verifies - that the expression can be so expanded. - - @param a0 expression to test - @param siz size to test - - @return a boolean value that evaluates to true if @c a0 can be - expanded_to the size defined in siz. - **/ - template< class A0, class A1> - BOOST_FORCEINLINE - typename meta::call::type - isexpandable_to(A0 const& a0, A1 const& siz) - { - return typename make_functor::type()(a0,siz); - } -} - -#endif diff --git a/inst/include/nt2/predicates/functions/isfloating.hpp b/inst/include/nt2/predicates/functions/isfloating.hpp deleted file mode 100644 index 83da917..0000000 --- a/inst/include/nt2/predicates/functions/isfloating.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISFLOATING_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISFLOATING_HPP_INCLUDED - -/*! - @file - @brief Defines the isfloating function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isfloating functor - **/ - struct isfloating_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isfloating_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isfloating_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isfloating_; - } - - /*! - @brief Does an expression contains floating point values ? - - Checks if an expression contains floating point values. - - @param a0 Expression to inspect - - @return Boolean value evaluating to the result of the test - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isfloating_, isfloating, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/ishermitian.hpp b/inst/include/nt2/predicates/functions/ishermitian.hpp deleted file mode 100644 index 69bed2d..0000000 --- a/inst/include/nt2/predicates/functions/ishermitian.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISHERMITIAN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISHERMITIAN_HPP_INCLUDED - -/*! - @file - @brief Defines the ishermitian function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for ishermitian functor - **/ - struct ishermitian_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ishermitian_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ishermitian_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ishermitian_; - } - - /*! - @brief Is an expression hermitian ? - - Checks if an expression is an hermitian matrix. - - @param a0 Expression to inspect - - @return Boolean value evaluating to the result of the test - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ishermitian_, ishermitian, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/isinside.hpp b/inst/include/nt2/predicates/functions/isinside.hpp deleted file mode 100644 index 70c8959..0000000 --- a/inst/include/nt2/predicates/functions/isinside.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISINSIDE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISINSIDE_HPP_INCLUDED - -/*! - @file - @brief Defines the isinside function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isinside functor - **/ - struct isinside_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isinside_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isinside_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isinside_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isinside_, isinside, 2) - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isinside_, isinside, 3) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/isinteger.hpp b/inst/include/nt2/predicates/functions/isinteger.hpp deleted file mode 100644 index 03cbdd6..0000000 --- a/inst/include/nt2/predicates/functions/isinteger.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISINTEGER_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISINTEGER_HPP_INCLUDED - -/*! - @file - @brief Defines the isinteger function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isinteger functor - **/ - struct isinteger_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isinteger_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isinteger_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isinteger_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isinteger_, isinteger, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/ismatrix.hpp b/inst/include/nt2/predicates/functions/ismatrix.hpp deleted file mode 100644 index 580f598..0000000 --- a/inst/include/nt2/predicates/functions/ismatrix.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISMATRIX_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISMATRIX_HPP_INCLUDED - -/*! - @file - @brief Defines the ismatrix function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for ismatrix functor - **/ - struct ismatrix_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ismatrix_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ismatrix_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ismatrix_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ismatrix_, ismatrix, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/isreal.hpp b/inst/include/nt2/predicates/functions/isreal.hpp deleted file mode 100644 index 39ec0c4..0000000 --- a/inst/include/nt2/predicates/functions/isreal.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISREAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISREAL_HPP_INCLUDED - -/*! - @file - @brief Defines the isreal function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isreal functor - **/ - struct isreal_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isreal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isreal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isreal_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isreal_, isreal, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/isrow.hpp b/inst/include/nt2/predicates/functions/isrow.hpp deleted file mode 100644 index 9ca92dd..0000000 --- a/inst/include/nt2/predicates/functions/isrow.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISROW_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISROW_HPP_INCLUDED - -/*! - @file - @brief Defines the isrow function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isrow functor - **/ - struct isrow_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isrow_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isrow_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isrow_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isrow_, isrow, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/isscalar.hpp b/inst/include/nt2/predicates/functions/isscalar.hpp deleted file mode 100644 index 067d903..0000000 --- a/inst/include/nt2/predicates/functions/isscalar.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISSCALAR_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISSCALAR_HPP_INCLUDED - -/*! - @file - @brief Defines the isscalar function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isscalar functor - **/ - struct isscalar_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isscalar_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isscalar_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isscalar_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isscalar_, isscalar, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/issorted.hpp b/inst/include/nt2/predicates/functions/issorted.hpp deleted file mode 100644 index 7f9ccd7..0000000 --- a/inst/include/nt2/predicates/functions/issorted.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISSORTED_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISSORTED_HPP_INCLUDED - -/*! - @file - @brief Defines the issorted function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for issorted functor - **/ - struct issorted_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_issorted_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_issorted_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_issorted_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::issorted_, issorted, 1) - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::issorted_, issorted, 2) - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::issorted_, issorted, 3) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/issquare.hpp b/inst/include/nt2/predicates/functions/issquare.hpp deleted file mode 100644 index d48fa4b..0000000 --- a/inst/include/nt2/predicates/functions/issquare.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISSQUARE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISSQUARE_HPP_INCLUDED - -/*! - @file - @brief Define and implements the issquare function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for the issquare functor - **/ - struct issquare_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_issquare_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_issquare_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_issquare_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::issquare_, issquare, 1) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/issymetric.hpp b/inst/include/nt2/predicates/functions/issymetric.hpp deleted file mode 100644 index 85fa6cf..0000000 --- a/inst/include/nt2/predicates/functions/issymetric.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISSYMETRIC_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISSYMETRIC_HPP_INCLUDED - -/*! - @file - @brief Defines the issymetric function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for issymetric functor - **/ - struct issymetric_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_issymetric_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_issymetric_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_issymetric_; - } - - /*! - @brief Is an expression symmetric ? - - Checks if an expression is a symmetric matrix. - - @param a0 Expression to inspect - - @return Boolean value evaluating to the result of the test - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::issymetric_, issymetric, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/istriangular.hpp b/inst/include/nt2/predicates/functions/istriangular.hpp deleted file mode 100644 index 18df60c..0000000 --- a/inst/include/nt2/predicates/functions/istriangular.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISTRIANGULAR_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISTRIANGULAR_HPP_INCLUDED - -/*! - @file - @brief Defines the istriangular function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for istriangular functor - **/ - struct istriangular_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_istriangular_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_istriangular_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_istriangular_; - } - - /*! - @brief Is an expression triangular ? - - Checks if an expression is a triangular matrix. - - @param a0 Expression to inspect - - @return Boolean value evaluating to the result of the test - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::istriangular_, istriangular, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/istril.hpp b/inst/include/nt2/predicates/functions/istril.hpp deleted file mode 100644 index 347b7a7..0000000 --- a/inst/include/nt2/predicates/functions/istril.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISTRIL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISTRIL_HPP_INCLUDED - -/*! - @file - @brief Defines the istril function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for istril functor - **/ - struct istril_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_istril_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_istril_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_istril_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::istril_, istril, 1) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/istriu.hpp b/inst/include/nt2/predicates/functions/istriu.hpp deleted file mode 100644 index ba3cc5e..0000000 --- a/inst/include/nt2/predicates/functions/istriu.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISTRIU_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISTRIU_HPP_INCLUDED - -/*! - @file - @brief Defines the istriu function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for istriu functor - **/ - struct istriu_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_istriu_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_istriu_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_istriu_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::istriu_, istriu, 1) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/isulpequal.hpp b/inst/include/nt2/predicates/functions/isulpequal.hpp deleted file mode 100644 index 4526e5f..0000000 --- a/inst/include/nt2/predicates/functions/isulpequal.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISULPEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISULPEQUAL_HPP_INCLUDED - -/*! - @file - @brief Defines the isulpequal function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isulpequal functor - **/ - struct isulpequal_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isulpequal_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isulpequal_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isulpequal_; - } - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isulpequal_, isulpequal, 2) - - /*! - @brief Is an expression - - @param - - @return - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isulpequal_, isulpequal, 3) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/isvector.hpp b/inst/include/nt2/predicates/functions/isvector.hpp deleted file mode 100644 index d61ab8b..0000000 --- a/inst/include/nt2/predicates/functions/isvector.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISVECTOR_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISVECTOR_HPP_INCLUDED - -/*! - @file - @brief Defines the isvector function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isvector functor - **/ - struct isvector_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isvector_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isvector_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isvector_; - } - - /*! - @brief Is an expression vector shaped ? - - Checks if an expression has a size of the shape [N ... 1] or [1 N ... 1]. - - @param a0 Expression to inspect - - @return Boolean value evaluating to the result of the test - - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isvector_, isvector, 1) -} - -#endif - diff --git a/inst/include/nt2/predicates/functions/isvectoralong.hpp b/inst/include/nt2/predicates/functions/isvectoralong.hpp deleted file mode 100644 index 27cd169..0000000 --- a/inst/include/nt2/predicates/functions/isvectoralong.hpp +++ /dev/null @@ -1,61 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_ISVECTORALONG_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_ISVECTORALONG_HPP_INCLUDED - -/*! - @file - @brief Defines the isvectoralong function -**/ - -#include - -namespace nt2 -{ - namespace tag - { - /*! - @brief Tag for isvectoralong functor - **/ - struct isvectoralong_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_isvectoralong_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_isvectoralong_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_isvectoralong_; - } - - // TODO merge as isvector(x,d) ? - /*! - @brief Is an expression vector shaped along a dimension ? - - Checks if an expression has a size of the shape [1 1 .. N... 1 1] where the - only non-singleton dimension is the kth dimension. - - @param a0 Expression to inspect - @param a1 Dimension along which to check for vector shape - - @return Boolean value evaluatign to the result of the test - **/ - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::isvectoralong_, isvectoralong, 2) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/majority.hpp b/inst/include/nt2/predicates/functions/majority.hpp deleted file mode 100644 index 36ef3c7..0000000 --- a/inst/include/nt2/predicates/functions/majority.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_MAJORITY_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_MAJORITY_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::majority_} **/ - struct majority_ {}; - #endif - using boost::simd::tag::majority_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::majority} **/ - template - details::unspecified majority(Args&&... args); - #endif - using boost::simd::majority; -} - -#endif diff --git a/inst/include/nt2/predicates/functions/ofsameheight.hpp b/inst/include/nt2/predicates/functions/ofsameheight.hpp deleted file mode 100644 index 6084e77..0000000 --- a/inst/include/nt2/predicates/functions/ofsameheight.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_OFSAMEHEIGHT_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_OFSAMEHEIGHT_HPP_INCLUDED - -#include - -/*! - * \ingroup core - * \defgroup core_is_equal is_equal - * - * \par Description - * Returns true or false according a0 and a1 have same height. - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \par Alias - * \arg eq - * - * \synopsis - * - * \code - * namespace boost::simd - * { - * template - * bool ofsameheight(const A0 & a0); - * } - * \endcode - * - * \param a0 the first parameter of ofsameheight - * - * \return a bool value - * -**/ - -namespace nt2 -{ - namespace tag - { - struct ofsameheight_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ofsameheight_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ofsameheight_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ofsameheight_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ofsameheight_, ofsameheight, 2) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/ofsamewidth.hpp b/inst/include/nt2/predicates/functions/ofsamewidth.hpp deleted file mode 100644 index fb7d6d1..0000000 --- a/inst/include/nt2/predicates/functions/ofsamewidth.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_OFSAMEWIDTH_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_OFSAMEWIDTH_HPP_INCLUDED - -#include - -/*! - * \ingroup core - * \defgroup core_is_equal is_equal - * - * \par Description - * Returns true or false according a0 and a1 have same width. - * - * \par Header file - * - * \code - * #include - * \endcode - * - * \par Alias - * \arg eq - * - * \code - * namespace boost::simd - * { - * template - * bool ofsamewidth(const A0 & a0); - * } - * \endcode - * - * \param a0 the first parameter of ofsamewidth - * - * \return a bool value - * -**/ - -namespace nt2 -{ - namespace tag - { - struct ofsamewidth_ : ext::abstract_ - { - typedef ext::abstract_ parent; - template - static BOOST_FORCEINLINE BOOST_AUTO_DECLTYPE dispatch(Args&&... args) - BOOST_AUTO_DECLTYPE_BODY( dispatching_ofsamewidth_( ext::adl_helper(), static_cast(args)... ) ) - }; - } - namespace ext - { - template - BOOST_FORCEINLINE generic_dispatcher dispatching_ofsamewidth_(adl_helper, boost::dispatch::meta::unknown_, boost::dispatch::meta::unknown_...) - { - return generic_dispatcher(); - } - template - struct impl_ofsamewidth_; - } - - NT2_FUNCTION_IMPLEMENTATION(nt2::tag::ofsamewidth_, ofsamewidth, 2) -} - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/arecatcompatible.hpp b/inst/include/nt2/predicates/functions/scalar/arecatcompatible.hpp deleted file mode 100644 index a7eed6d..0000000 --- a/inst/include/nt2/predicates/functions/scalar/arecatcompatible.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ARECATCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ARECATCOMPATIBLE_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( arecatcompatible_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ >) - (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0&, const A1&, A2) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/arecrosscompatible.hpp b/inst/include/nt2/predicates/functions/scalar/arecrosscompatible.hpp deleted file mode 100644 index 9bddd09..0000000 --- a/inst/include/nt2/predicates/functions/scalar/arecrosscompatible.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ARECROSSCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ARECROSSCOMPATIBLE_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( arecrosscompatible_, tag::cpu_ - , (A0)(A1)(A2) - , ((scalar_< unspecified_ >)) - ((scalar_< unspecified_ >)) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&, const A1&, A2) const - { - return false; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/havesamesize.hpp b/inst/include/nt2/predicates/functions/scalar/havesamesize.hpp deleted file mode 100644 index 939bea6..0000000 --- a/inst/include/nt2/predicates/functions/scalar/havesamesize.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_HAVESAMESIZE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_HAVESAMESIZE_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( havesamesize_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& , const A1& ) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/iscolumn.hpp b/inst/include/nt2/predicates/functions/scalar/iscolumn.hpp deleted file mode 100644 index de4e32d..0000000 --- a/inst/include/nt2/predicates/functions/scalar/iscolumn.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISCOLUMN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISCOLUMN_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( iscolumn_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return true; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isdiagonal.hpp b/inst/include/nt2/predicates/functions/scalar/isdiagonal.hpp deleted file mode 100644 index d32d6bf..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isdiagonal.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISDIAGONAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISDIAGONAL_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isdiagonal_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return true; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isdiagonal_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0&, A1) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isempty.hpp b/inst/include/nt2/predicates/functions/scalar/isempty.hpp deleted file mode 100644 index 352e239..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isempty.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISEMPTY_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISEMPTY_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isempty_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const - { - return false; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isequal.hpp b/inst/include/nt2/predicates/functions/scalar/isequal.hpp deleted file mode 100644 index 7a8ee8b..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isequal.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISEQUAL_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isequal_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - return a0 == a1; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isequaln.hpp b/inst/include/nt2/predicates/functions/scalar/isequaln.hpp deleted file mode 100644 index d19c8a0..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isequaln.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISEQUALN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISEQUALN_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isequaln_, tag::cpu_ - , (A0) - , (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A0& a1) const - { - return is_equal_with_equal_nans(a0,a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isequaln_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (unspecified_) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - return a0 == a1; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isequaln_, tag::cpu_ - , (A0)(A1)(X) - , ((simd_< unspecified_, X>)) - ((simd_< unspecified_, X>)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - return boost::simd::all(is_equal_with_equal_nans(a0, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isequaln_, tag::cpu_ - , (A0)(A1)(X)(T0)(N0)(T1)(N1) - , ((expr_< simd_< unspecified_, X>, T0, N0>)) - ((expr_< simd_< unspecified_, X>, T1, N1>)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - return boost::simd::all(is_equal_with_equal_nans(a0, a1))(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isexpandable_to.hpp b/inst/include/nt2/predicates/functions/scalar/isexpandable_to.hpp deleted file mode 100644 index c60578a..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isexpandable_to.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISEXPANDABLE_TO_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISEXPANDABLE_TO_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isexpandable_to_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (fusion_sequence_) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE - result_type operator()(const A0&, const A1& a1) const - { - return nt2::numel(a1) != 0; - } - }; - -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isfloating.hpp b/inst/include/nt2/predicates/functions/scalar/isfloating.hpp deleted file mode 100644 index 2ff73c3..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isfloating.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISFLOATING_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISFLOATING_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isfloating_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const - { - return false; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isfloating_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(A0) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/ishermitian.hpp b/inst/include/nt2/predicates/functions/scalar/ishermitian.hpp deleted file mode 100644 index cef5439..0000000 --- a/inst/include/nt2/predicates/functions/scalar/ishermitian.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISHERMITIAN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISHERMITIAN_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ishermitian_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&a0) const - { - return is_real(a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isinside.hpp b/inst/include/nt2/predicates/functions/scalar/isinside.hpp deleted file mode 100644 index 08592f5..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isinside.hpp +++ /dev/null @@ -1,107 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISINSIDE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISINSIDE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isinside_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - (fusion_sequence_) - ) - { - typedef typename boost::fusion::result_of::at_c::type at_t; - typedef typename meta::strip::type base_t; - typedef typename boost::simd::meta::as_logical::type result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0,const A1& a1) const - { - typedef typename boost::fusion::result_of::size::type sz_t; - return eval(a0,a1,boost::mpl::int_()); - } - - template BOOST_FORCEINLINE result_type - eval(const A0& a0,const A1& a1, N const&) const - { - return l_and( eval(a0,a1, boost::mpl::int_()) - , lt( boost::fusion::at_c(a0) - , splat(boost::fusion::at_c(a1)) - ) - ); - } - - BOOST_FORCEINLINE result_type - eval(const A0& a0,const A1& a1,boost::mpl::int_<0> const&) const - { - return lt ( boost::fusion::at_c<0>(a0) - , splat(boost::fusion::at_c<0>(a1)) - ); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isinside_, tag::cpu_ - , (A0)(A1)(A2) - , (fusion_sequence_) - (fusion_sequence_) - (fusion_sequence_) - ) - { - typedef typename boost::fusion::result_of::at_c::type at_t; - typedef typename meta::strip::type base_t; - typedef typename boost::simd::meta::as_logical::type result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0,const A1& a1,const A2& a2) const - { - typedef typename boost::fusion::result_of::size::type sz_t; - return eval(a0,a1,a2,boost::mpl::int_()); - } - - template BOOST_FORCEINLINE result_type - eval(const A0& a0,const A1& a1,const A2& a2, N const&) const - { - return l_and( eval(a0,a1,a2, boost::mpl::int_()) - , eval_at ( boost::fusion::at_c(a0) - , boost::fusion::at_c(a1) - , boost::fusion::at_c(a2) - ) - ); - } - - BOOST_FORCEINLINE result_type - eval(const A0& a0,const A1& a1,const A2& a2, boost::mpl::int_<0> const&) const - { - return eval_at( boost::fusion::at_c<0>(a0) - , boost::fusion::at_c<0>(a1) - , boost::fusion::at_c<0>(a2) - ); - } - - template BOOST_FORCEINLINE - result_type eval_at(const T0& a0,const T1& a1,const T2& a2) const - { - return l_and( ge( a0, splat(a2)) - , lt( a0, splat(a2+a1)) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isinteger.hpp b/inst/include/nt2/predicates/functions/scalar/isinteger.hpp deleted file mode 100644 index 387b055..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isinteger.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISINTEGER_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISINTEGER_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isinteger_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const - { - return false; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isinteger_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/ismatrix.hpp b/inst/include/nt2/predicates/functions/scalar/ismatrix.hpp deleted file mode 100644 index d1ac30b..0000000 --- a/inst/include/nt2/predicates/functions/scalar/ismatrix.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISMATRIX_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISMATRIX_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ismatrix_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return true; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isreal.hpp b/inst/include/nt2/predicates/functions/scalar/isreal.hpp deleted file mode 100644 index 3c86e7b..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isreal.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISREAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISREAL_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isreal_, tag::cpu_ - , (A0) - , (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::is_real(a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isrow.hpp b/inst/include/nt2/predicates/functions/scalar/isrow.hpp deleted file mode 100644 index b30a318..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isrow.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISROW_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISROW_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isrow_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return true; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isscalar.hpp b/inst/include/nt2/predicates/functions/scalar/isscalar.hpp deleted file mode 100644 index f42a834..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isscalar.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISSCALAR_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISSCALAR_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isscalar_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return true; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/issorted.hpp b/inst/include/nt2/predicates/functions/scalar/issorted.hpp deleted file mode 100644 index 8b8865b..0000000 --- a/inst/include/nt2/predicates/functions/scalar/issorted.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISSORTED_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISSORTED_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( issorted_, tag::cpu_ - , (A0) - , (scalar_ > ) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const - { - return true; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( issorted_, tag::cpu_ - , (A0)(A1) - , (scalar_ > ) - (scalar_ > ) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&, A1) const { return true; } - }; - - BOOST_DISPATCH_IMPLEMENT ( issorted_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ > ) - (scalar_ > ) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&, A1, A2) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/issquare.hpp b/inst/include/nt2/predicates/functions/scalar/issquare.hpp deleted file mode 100644 index 76ec714..0000000 --- a/inst/include/nt2/predicates/functions/scalar/issquare.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISSQUARE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISSQUARE_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( issquare_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&) const { return true; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/issymetric.hpp b/inst/include/nt2/predicates/functions/scalar/issymetric.hpp deleted file mode 100644 index 89367b1..0000000 --- a/inst/include/nt2/predicates/functions/scalar/issymetric.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISSYMETRIC_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISSYMETRIC_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( issymetric_, tag::cpu_ - , (A0), (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/istriangular.hpp b/inst/include/nt2/predicates/functions/scalar/istriangular.hpp deleted file mode 100644 index a2b805f..0000000 --- a/inst/include/nt2/predicates/functions/scalar/istriangular.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISTRIANGULAR_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISTRIANGULAR_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( istriangular_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&) const { return true; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/istril.hpp b/inst/include/nt2/predicates/functions/scalar/istril.hpp deleted file mode 100644 index d339af0..0000000 --- a/inst/include/nt2/predicates/functions/scalar/istril.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISTRIL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISTRIL_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( istril_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return true; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/istriu.hpp b/inst/include/nt2/predicates/functions/scalar/istriu.hpp deleted file mode 100644 index 89ed857..0000000 --- a/inst/include/nt2/predicates/functions/scalar/istriu.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISTRIU_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISTRIU_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( istriu_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return true; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isulpequal.hpp b/inst/include/nt2/predicates/functions/scalar/isulpequal.hpp deleted file mode 100644 index c7cd827..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isulpequal.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISULPEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISULPEQUAL_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isulpequal_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - typedef typename meta::as_real::type r_type; - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - - return nt2::ulpdist(a0, a1) <= Half(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isulpequal_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ >) - (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1, const A2& a2) const - { - return nt2::ulpdist(a0, a1) <= a2; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isvector.hpp b/inst/include/nt2/predicates/functions/scalar/isvector.hpp deleted file mode 100644 index 875f643..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isvector.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISVECTOR_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISVECTOR_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isvector_, tag::cpu_ - , (A0) - , (scalar_< unspecified_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const { return true; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/isvectoralong.hpp b/inst/include/nt2/predicates/functions/scalar/isvectoralong.hpp deleted file mode 100644 index 64d75b7..0000000 --- a/inst/include/nt2/predicates/functions/scalar/isvectoralong.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_ISVECTORALONG_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_ISVECTORALONG_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isvectoralong_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ > ) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE - result_type operator()(const A0&, const A1& ) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/ofsameheight.hpp b/inst/include/nt2/predicates/functions/scalar/ofsameheight.hpp deleted file mode 100644 index 94d4a90..0000000 --- a/inst/include/nt2/predicates/functions/scalar/ofsameheight.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_OFSAMEHEIGHT_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_OFSAMEHEIGHT_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ofsameheight_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& , const A1& ) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/scalar/ofsamewidth.hpp b/inst/include/nt2/predicates/functions/scalar/ofsamewidth.hpp deleted file mode 100644 index aec7acf..0000000 --- a/inst/include/nt2/predicates/functions/scalar/ofsamewidth.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_SCALAR_OFSAMEWIDTH_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_SCALAR_OFSAMEWIDTH_HPP_INCLUDED - -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ofsamewidth_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& , const A1& ) const - { - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/arecatcompatible.hpp b/inst/include/nt2/predicates/functions/table/arecatcompatible.hpp deleted file mode 100644 index bfc509b..0000000 --- a/inst/include/nt2/predicates/functions/table/arecatcompatible.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ARECATCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ARECATCOMPATIBLE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( arecatcompatible_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - ((ast_)) - (scalar_ >) - ) - { - typedef bool result_type; - - result_type operator()(const A0& a0, const A1& a1, A2 dim) const - { - typedef typename meta::call::type ext1_t; - ext1_t ex1 = nt2::extent(a0); - - typedef typename meta::call::type ext2_t; - ext2_t ex2 = nt2::extent(a1); - - size_t sz = std::min(ex1.size(), ex2.size()); - size_t d = dim-1; - - // Concatenating to empty array is always OK - if(numel(ex1) == 0 || numel(ex2) == 0) return true; - - for(size_t i=0; i < sz; ++i) - { - if ((i != d) && (ex1.data()[i]!= ex2.data()[i])) return false; - } - - sz = std::max(sz, d+1); - for(size_t i=sz; i < ex1.size(); ++i) - { - if ((ex1[i]!= 1)) return false; - } - - for(size_t i=sz; i < ex2.size(); ++i) - { - if ((ex2[i]!= 1)) return false; - } - - return true; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( arecatcompatible_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&a0, const A1&, A2 dim) const - { - return !numel(a0) || isvectoralong(a0, dim); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( arecatcompatible_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ >) - ((ast_)) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&, const A1&a1, A2 dim) const - { - return !numel(a1) || isvectoralong(a1, dim); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/arecrosscompatible.hpp b/inst/include/nt2/predicates/functions/table/arecrosscompatible.hpp deleted file mode 100644 index 16f1432..0000000 --- a/inst/include/nt2/predicates/functions/table/arecrosscompatible.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ARECROSSCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ARECROSSCOMPATIBLE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( arecrosscompatible_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - ((ast_)) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1, A2 dim) const - { - if (dim == 0) return false; - - typedef typename meta::call::type ext1_t; - ext1_t ex1 = nt2::extent(a0); - - typedef typename meta::call::type ext2_t; - ext2_t ex2 = nt2::extent(a1); - - if( (size_t(dim) > ex1.size()) - || (size_t(dim) > ex2.size()) - || (ex1[dim-1]!= 3) || (ex2[dim-1]!= 3) - ) - return false; - - return nt2::havesamesize(a0, a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/havesamesize.hpp b/inst/include/nt2/predicates/functions/table/havesamesize.hpp deleted file mode 100644 index 9e036c3..0000000 --- a/inst/include/nt2/predicates/functions/table/havesamesize.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_HAVESAMESIZE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_HAVESAMESIZE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( havesamesize_, tag::cpu_ - , (A0)(A1) - , (unspecified_) - (unspecified_) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - return nt2::extent(a0) == nt2::extent(a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/iscolumn.hpp b/inst/include/nt2/predicates/functions/table/iscolumn.hpp deleted file mode 100644 index 970f102..0000000 --- a/inst/include/nt2/predicates/functions/table/iscolumn.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISCOLUMN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISCOLUMN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( iscolumn_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - typename meta::call::type ex = nt2::extent(a0); - std::size_t nz = nt2::numel(ex); - - if (nz) return boost::fusion::at_c<0>(ex) == nz; - else - { - for(size_t i=1; i < ex.size(); ++i) - { - if (ex[i] != 1) return false; - } - } - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isdiagonal.hpp b/inst/include/nt2/predicates/functions/table/isdiagonal.hpp deleted file mode 100644 index 43a5896..0000000 --- a/inst/include/nt2/predicates/functions/table/isdiagonal.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISDIAGONAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISDIAGONAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isdiagonal_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::ismatrix(a0) && nt2::isequal(a0, nt2::expand(nt2::from_diag(nt2::diag_of(a0)), size(a0))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isdiagonal_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE result_type operator()(const A0& a0, const A1& thresh) const - { - if (is_eqz(thresh)) - return isdiagonal(a0); - - A1 r = nt2::max ( nt2::abs(a0-nt2::expand ( nt2::from_diag(nt2::diag_of(a0)) - , size(a0)) - )(_) - )(begin_); - return r <= thresh; - } - }; - -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isempty.hpp b/inst/include/nt2/predicates/functions/table/isempty.hpp deleted file mode 100644 index f422f7a..0000000 --- a/inst/include/nt2/predicates/functions/table/isempty.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISEMPTY_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISEMPTY_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isempty_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::numel(a0) == 0; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isequal.hpp b/inst/include/nt2/predicates/functions/table/isequal.hpp deleted file mode 100644 index 4c4ee53..0000000 --- a/inst/include/nt2/predicates/functions/table/isequal.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISEQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isequal_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - if(!havesamesize(a0, a1)) return false; - return nt2::all( (a0 == a1)(_) )(1); - } - }; - BOOST_DISPATCH_IMPLEMENT ( isequal_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - if(numel(a1)!= 1u) return false; - return a0 == a1(nt2::first_index<1>(a1)); - } - }; - BOOST_DISPATCH_IMPLEMENT ( isequal_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - if(numel(a0)!= 1u) return false; - return a0(nt2::first_index<1>(a0)) == a1; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isequaln.hpp b/inst/include/nt2/predicates/functions/table/isequaln.hpp deleted file mode 100644 index 01e3b79..0000000 --- a/inst/include/nt2/predicates/functions/table/isequaln.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISEQUALN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISEQUALN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isequaln_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - if (!havesamesize(a0, a1)) return false; - return nt2::all(colvect(is_equal_with_equal_nans(a0,a1)))(1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isequaln_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - if(numel(a1)!= 1u) return false; - return is_equal_with_equal_nans(a0, A0(a1(nt2::first_index<1>(a1)))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isequaln_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - if(numel(a0)!= 1u) return false; - return is_equal_with_equal_nans(A1(a0(nt2::first_index<1>(a0))), a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isexpandable_to.hpp b/inst/include/nt2/predicates/functions/table/isexpandable_to.hpp deleted file mode 100644 index 74cdca7..0000000 --- a/inst/include/nt2/predicates/functions/table/isexpandable_to.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISEXPANDABLE_TO_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISEXPANDABLE_TO_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isexpandable_to_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (fusion_sequence_) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& siz) const - { - typename A0::extent_type ex1 = a0.extent(); - - if(nt2::numel(ex1) == 0u && nt2::numel(siz) == 0u) - return true; - - size_t sz = std::min(ex1.size(), siz.size()); - for(size_t i=0; i < sz; ++i) - { - if(ex1[i] != siz[i] && ex1[i] != 1) - return false; - } - - for(size_t i=sz; i < ex1.size(); ++i) - { - if(ex1[i] != 1) - return false; - } - - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isfloating.hpp b/inst/include/nt2/predicates/functions/table/isfloating.hpp deleted file mode 100644 index fd54912..0000000 --- a/inst/include/nt2/predicates/functions/table/isfloating.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISFLOATING_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISFLOATING_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isfloating_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const - { - typedef typename A0::value_type value_type; - return isfloating(value_type()); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/ishermitian.hpp b/inst/include/nt2/predicates/functions/table/ishermitian.hpp deleted file mode 100644 index 9427204..0000000 --- a/inst/include/nt2/predicates/functions/table/ishermitian.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISHERMITIAN_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISHERMITIAN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ishermitian_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - if(!issquare(a0)) return false; - for(std::ptrdiff_t j=first_index<2>(a0); j <= last_index<2>(a0) ; ++j) - { - for(std::ptrdiff_t i=j; i <= last_index<1>(a0) ; ++i) - { - if( a0(i, j) != conj(a0(j, i)) ) return false; - } - } - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isinside.hpp b/inst/include/nt2/predicates/functions/table/isinside.hpp deleted file mode 100644 index 18bf830..0000000 --- a/inst/include/nt2/predicates/functions/table/isinside.hpp +++ /dev/null @@ -1,37 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISINSIDE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISINSIDE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isinside_, tag::cpu_ - , (A0)(A1) - , (fusion_sequence_) - ((ast_)) - ) - { - typedef typename meta::strip::type base_t; - typedef typename base_t::extent_type ext_t; - typedef typename meta::call - < nt2::tag::isinside_(A0&,ext_t)>::type result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0,const A1& a1) const - { - return isinside(a0,a1.extent()); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isinteger.hpp b/inst/include/nt2/predicates/functions/table/isinteger.hpp deleted file mode 100644 index cf368a7..0000000 --- a/inst/include/nt2/predicates/functions/table/isinteger.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISINTEGER_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISINTEGER_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isinteger_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0&) const - { - typedef typename A0::value_type value_type; - return isinteger(value_type()); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/ismatrix.hpp b/inst/include/nt2/predicates/functions/table/ismatrix.hpp deleted file mode 100644 index 54b8355..0000000 --- a/inst/include/nt2/predicates/functions/table/ismatrix.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISMATRIX_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISMATRIX_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ismatrix_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - typename meta::call::type ex = nt2::extent(a0); - std::size_t nz = nt2::numel(ex); - - // 4x0x1x1 is matrix but I do not know if 4x0x4x1 is ?! - return (nz == 0) ||((nz > 0) - && (boost::fusion::at_c<0>(ex)*boost::fusion::at_c<1>(ex) == nz)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isreal.hpp b/inst/include/nt2/predicates/functions/table/isreal.hpp deleted file mode 100644 index 32fcaec..0000000 --- a/inst/include/nt2/predicates/functions/table/isreal.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISREAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISREAL_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isreal_, tag::cpu_ - , (A0)(S0)(K0)(T)(M) - , ((expr_< container_,S0> - , T - , M - > - )) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0&) const - { - return true; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isreal_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - return nt2::globalall(nt2::is_real(a0)); - } - - }; - -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isrow.hpp b/inst/include/nt2/predicates/functions/table/isrow.hpp deleted file mode 100644 index e7552f8..0000000 --- a/inst/include/nt2/predicates/functions/table/isrow.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISROW_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISROW_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isrow_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - typedef typename meta::call::type extent_t; - extent_t ex = nt2::extent(a0); - std::size_t nz = nt2::numel(ex); - if (nz) - return boost::fusion::at_c<1>(ex) == nz; - else - { - if (boost::fusion::at_c<0>(ex) != 1) return false; - for(size_t i=2; i < ex.size(); ++i) - { - if (ex[i] != 1u) return false; - } - } - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isscalar.hpp b/inst/include/nt2/predicates/functions/table/isscalar.hpp deleted file mode 100644 index 2edbd79..0000000 --- a/inst/include/nt2/predicates/functions/table/isscalar.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISSCALAR_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISSCALAR_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isscalar_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef bool result_type; - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const { return nt2::numel(a0) == 1; } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/issorted.hpp b/inst/include/nt2/predicates/functions/table/issorted.hpp deleted file mode 100644 index 0a2d323..0000000 --- a/inst/include/nt2/predicates/functions/table/issorted.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISSORTED_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISSORTED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( issorted_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - size_t dim = nt2::firstnonsingleton(a0); - bool res = nt2::globalall(is_nltz(diff(a0, dim))); - return res || nt2::globalall(is_ngtz(diff(a0, dim))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( issorted_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ > ) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& dim) const - { - bool res = nt2::globalall(is_nltz(diff(a0, dim))); - return res || nt2::globalall(is_ngtz(diff(a0, dim))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( issorted_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& up) const - { - size_t dim = nt2::firstnonsingleton(a0); - return issorted(a0, dim, up); - } - }; - BOOST_DISPATCH_IMPLEMENT ( issorted_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (scalar_ > ) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& dim, const A2& up) const - { - typedef typename A0::value_type value_type; - value_type sgn = up ? One() : Mone(); - return nt2::globalall(is_nltz(diff(a0, dim)*sgn)); - } - }; - -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/issquare.hpp b/inst/include/nt2/predicates/functions/table/issquare.hpp deleted file mode 100644 index 480c459..0000000 --- a/inst/include/nt2/predicates/functions/table/issquare.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISSQUARE_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISSQUARE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( issquare_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - typename meta::call::type ex = nt2::extent(a0); - //std::size_t nz = nt2::numel(ex); - - return ismatrix(a0) - && (boost::fusion::at_c<0>(ex) == boost::fusion::at_c<1>(ex)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/issymetric.hpp b/inst/include/nt2/predicates/functions/table/issymetric.hpp deleted file mode 100644 index 96ccbca..0000000 --- a/inst/include/nt2/predicates/functions/table/issymetric.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== - -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISSYMETRIC_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISSYMETRIC_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( issymetric_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(A0& a0) const - { - if (!issquare(a0)) return false; - - for(std::ptrdiff_t j=first_index<2>(a0); j <= last_index<2>(a0) ; ++j) - for(std::ptrdiff_t i=j+1; i <= last_index<1>(a0) ; ++i) - if ( a0(i, j) != a0(j, i) ) return false; - - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/istriangular.hpp b/inst/include/nt2/predicates/functions/table/istriangular.hpp deleted file mode 100644 index 7bea9de..0000000 --- a/inst/include/nt2/predicates/functions/table/istriangular.hpp +++ /dev/null @@ -1,33 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISTRIANGULAR_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISTRIANGULAR_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( istriangular_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE result_type operator()(const A0& a0) const - { - return nt2::istriu(a0) || nt2::istril(a0); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/istril.hpp b/inst/include/nt2/predicates/functions/table/istril.hpp deleted file mode 100644 index dc07bed..0000000 --- a/inst/include/nt2/predicates/functions/table/istril.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISTRIL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISTRIL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( istril_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - for(std::ptrdiff_t j=first_index<2>(a0); j <= last_index<2>(a0) ; ++j) - { - for(std::ptrdiff_t i=1; i < j ; ++i) - { - if(is_nez(a0(i, j))) return false; - } - } - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/istriu.hpp b/inst/include/nt2/predicates/functions/table/istriu.hpp deleted file mode 100644 index 405fec9..0000000 --- a/inst/include/nt2/predicates/functions/table/istriu.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISTRIU_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISTRIU_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( istriu_, tag::cpu_ - , (A0) - , ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - for(std::ptrdiff_t j=first_index<2>(a0); j <= last_index<2>(a0) ; ++j) - { - for(std::ptrdiff_t i=j+1; i <= last_index<1>(a0) ; ++i) - { - if(is_nez(a0(i, j))) return false; - } - } - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isulpequal.hpp b/inst/include/nt2/predicates/functions/table/isulpequal.hpp deleted file mode 100644 index 64694e9..0000000 --- a/inst/include/nt2/predicates/functions/table/isulpequal.hpp +++ /dev/null @@ -1,146 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISULPEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISULPEQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isulpequal_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - typedef typename A0::value_type value_type; - typedef typename meta::as_real::type r_type; - if(!havesamesize(a0, a1)) return false; - - return nt2::globalmax(nt2::ulpdist(a0, a1)) <= Half(); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isulpequal_, tag::cpu_ - , (A0)(A1) - , (scalar_ >) - ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - if(numel(a1)!= 1u) return false; - return isulpequal(a0, a1(nt2::first_index<1>(a1))); - } - }; - BOOST_DISPATCH_IMPLEMENT ( isulpequal_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ >) - - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - if(numel(a0)!= 1u) return false; - return isulpequal(a0(nt2::first_index<1>(a0)), a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isulpequal_, tag::cpu_ - , (A0)(A1)(A2) - , (scalar_ >) - ((ast_)) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1, const A2& a2) const - { - if(numel(a1)!= 1u) return false; - return isulpequal(a0, a1(nt2::first_index<1>(a1), a2)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isulpequal_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - (scalar_ >) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1, const A2& a2) const - { - if(numel(a0)!= 1u) return false; - return isulpequal(a0(nt2::first_index<1>(a0)), a1, a2); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isulpequal_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - ((ast_)) - (scalar_ >) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1, const A2& a2) const - { - if(!havesamesize(a0, a1)) return false; - return nt2::globalmax( nt2::ulpdist(a0, a1)) <= a2; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( isulpequal_, tag::cpu_ - , (A0)(A1)(A2) - , ((ast_)) - ((ast_)) - ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1, const A2& a2) const - { - if(!havesamesize(a0, a1)) return false; - return nt2::globalall( nt2::sx(nt2::tag::is_less_equal_(), nt2::ulpdist(a0, a1), a2)); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isvector.hpp b/inst/include/nt2/predicates/functions/table/isvector.hpp deleted file mode 100644 index e730da7..0000000 --- a/inst/include/nt2/predicates/functions/table/isvector.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISVECTOR_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISVECTOR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isvector_, tag::cpu_ - , (A0) - , (unspecified_) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0) const - { - typename meta::call::type ex = nt2::extent(a0); - std::size_t nz = nt2::numel(ex); - - return ( (nz > 0) - && ( ( boost::fusion::at_c<0>(ex) == nz ) - || ( boost::fusion::at_c<1>(ex) == nz ) - ) - ) - || ( (nz == 0) - && (boost::fusion::at_c<0>(ex) == 1 - ||boost::fusion::at_c<1>(ex) == 1) - ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/isvectoralong.hpp b/inst/include/nt2/predicates/functions/table/isvectoralong.hpp deleted file mode 100644 index 7500c5a..0000000 --- a/inst/include/nt2/predicates/functions/table/isvectoralong.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_ISVECTORALONG_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_ISVECTORALONG_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( isvectoralong_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - (scalar_ > ) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& dim) const - { - typename A0::extent_type ex = nt2::extent(a0); - std::size_t nz = nt2::numel(ex); - size_t d = dim-1; - - if(nz) return ex[d] == nz; - else - { - // TODO: Fix for dim > ex.size() - for(size_t i=0; i < d; ++i) - if (ex[i] != 1u) return false; - - for(size_t i=dim; i < ex.size(); ++i) - if (ex[i] != 1u) return false; - } - return true; - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/ofsameheight.hpp b/inst/include/nt2/predicates/functions/table/ofsameheight.hpp deleted file mode 100644 index fc9e46f..0000000 --- a/inst/include/nt2/predicates/functions/table/ofsameheight.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_OFSAMEHEIGHT_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_OFSAMEHEIGHT_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ofsameheight_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - return height(a0) == height(a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/functions/table/ofsamewidth.hpp b/inst/include/nt2/predicates/functions/table/ofsamewidth.hpp deleted file mode 100644 index 878032e..0000000 --- a/inst/include/nt2/predicates/functions/table/ofsamewidth.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_FUNCTIONS_TABLE_OFSAMEWIDTH_HPP_INCLUDED -#define NT2_PREDICATES_FUNCTIONS_TABLE_OFSAMEWIDTH_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( ofsamewidth_, tag::cpu_ - , (A0)(A1) - , ((ast_)) - ((ast_)) - ) - { - typedef bool result_type; - - BOOST_FORCEINLINE - result_type operator()(const A0& a0, const A1& a1) const - { - return width(a0) == width(a1); - } - }; -} } - -#endif diff --git a/inst/include/nt2/predicates/include/functions/arecatcompatible.hpp b/inst/include/nt2/predicates/include/functions/arecatcompatible.hpp deleted file mode 100644 index 9b65f9b..0000000 --- a/inst/include/nt2/predicates/include/functions/arecatcompatible.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ARECATCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ARECATCOMPATIBLE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/arecrosscompatible.hpp b/inst/include/nt2/predicates/include/functions/arecrosscompatible.hpp deleted file mode 100644 index 2f0d96a..0000000 --- a/inst/include/nt2/predicates/include/functions/arecrosscompatible.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ARECROSSCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ARECROSSCOMPATIBLE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/havesamesize.hpp b/inst/include/nt2/predicates/include/functions/havesamesize.hpp deleted file mode 100644 index 8148ac1..0000000 --- a/inst/include/nt2/predicates/include/functions/havesamesize.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_HAVESAMESIZE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_HAVESAMESIZE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_denormal.hpp b/inst/include/nt2/predicates/include/functions/is_denormal.hpp deleted file mode 100644 index 1e08884..0000000 --- a/inst/include/nt2/predicates/include/functions/is_denormal.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_DENORMAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/include/functions/is_equal_with_equal_nans.hpp deleted file mode 100644 index f695891..0000000 --- a/inst/include/nt2/predicates/include/functions/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_eqz.hpp b/inst/include/nt2/predicates/include/functions/is_eqz.hpp deleted file mode 100644 index c8bfa8c..0000000 --- a/inst/include/nt2/predicates/include/functions/is_eqz.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_EQZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_EQZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_even.hpp b/inst/include/nt2/predicates/include/functions/is_even.hpp deleted file mode 100644 index 408ed5c..0000000 --- a/inst/include/nt2/predicates/include/functions/is_even.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_EVEN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_EVEN_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_false.hpp b/inst/include/nt2/predicates/include/functions/is_false.hpp deleted file mode 100644 index ee969eb..0000000 --- a/inst/include/nt2/predicates/include/functions/is_false.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_FALSE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_FALSE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_finite.hpp b/inst/include/nt2/predicates/include/functions/is_finite.hpp deleted file mode 100644 index d3c94f9..0000000 --- a/inst/include/nt2/predicates/include/functions/is_finite.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_FINITE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_flint.hpp b/inst/include/nt2/predicates/include/functions/is_flint.hpp deleted file mode 100644 index 15d157a..0000000 --- a/inst/include/nt2/predicates/include/functions/is_flint.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_FLINT_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_FLINT_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_gez.hpp b/inst/include/nt2/predicates/include/functions/is_gez.hpp deleted file mode 100644 index b06d460..0000000 --- a/inst/include/nt2/predicates/include/functions/is_gez.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_GEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_GEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_gtz.hpp b/inst/include/nt2/predicates/include/functions/is_gtz.hpp deleted file mode 100644 index 4d916c7..0000000 --- a/inst/include/nt2/predicates/include/functions/is_gtz.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_GTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_GTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_imag.hpp b/inst/include/nt2/predicates/include/functions/is_imag.hpp deleted file mode 100644 index 8df5331..0000000 --- a/inst/include/nt2/predicates/include/functions/is_imag.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_IMAG_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_inf.hpp b/inst/include/nt2/predicates/include/functions/is_inf.hpp deleted file mode 100644 index 10be62d..0000000 --- a/inst/include/nt2/predicates/include/functions/is_inf.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_INF_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_INF_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_invalid.hpp b/inst/include/nt2/predicates/include/functions/is_invalid.hpp deleted file mode 100644 index 488fd32..0000000 --- a/inst/include/nt2/predicates/include/functions/is_invalid.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_INVALID_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_INVALID_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_lez.hpp b/inst/include/nt2/predicates/include/functions/is_lez.hpp deleted file mode 100644 index 67a6989..0000000 --- a/inst/include/nt2/predicates/include/functions/is_lez.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_LEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_LEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_ltz.hpp b/inst/include/nt2/predicates/include/functions/is_ltz.hpp deleted file mode 100644 index 448eb47..0000000 --- a/inst/include/nt2/predicates/include/functions/is_ltz.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_LTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_LTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_nan.hpp b/inst/include/nt2/predicates/include/functions/is_nan.hpp deleted file mode 100644 index d0ddc3b..0000000 --- a/inst/include/nt2/predicates/include/functions/is_nan.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NAN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NAN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_negative.hpp b/inst/include/nt2/predicates/include/functions/is_negative.hpp deleted file mode 100644 index 40720d4..0000000 --- a/inst/include/nt2/predicates/include/functions/is_negative.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NEGATIVE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_nez.hpp b/inst/include/nt2/predicates/include/functions/is_nez.hpp deleted file mode 100644 index c60a817..0000000 --- a/inst/include/nt2/predicates/include/functions/is_nez.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_nge.hpp b/inst/include/nt2/predicates/include/functions/is_nge.hpp deleted file mode 100644 index 690692d..0000000 --- a/inst/include/nt2/predicates/include/functions/is_nge.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NGE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NGE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_ngez.hpp b/inst/include/nt2/predicates/include/functions/is_ngez.hpp deleted file mode 100644 index 83dbc42..0000000 --- a/inst/include/nt2/predicates/include/functions/is_ngez.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NGEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NGEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_ngt.hpp b/inst/include/nt2/predicates/include/functions/is_ngt.hpp deleted file mode 100644 index fa45911..0000000 --- a/inst/include/nt2/predicates/include/functions/is_ngt.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NGT_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NGT_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_ngtz.hpp b/inst/include/nt2/predicates/include/functions/is_ngtz.hpp deleted file mode 100644 index 5579b1f..0000000 --- a/inst/include/nt2/predicates/include/functions/is_ngtz.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NGTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NGTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_nle.hpp b/inst/include/nt2/predicates/include/functions/is_nle.hpp deleted file mode 100644 index aca4019..0000000 --- a/inst/include/nt2/predicates/include/functions/is_nle.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NLE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NLE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_nlez.hpp b/inst/include/nt2/predicates/include/functions/is_nlez.hpp deleted file mode 100644 index 8c39c34..0000000 --- a/inst/include/nt2/predicates/include/functions/is_nlez.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NLEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NLEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_nlt.hpp b/inst/include/nt2/predicates/include/functions/is_nlt.hpp deleted file mode 100644 index 6dab1f6..0000000 --- a/inst/include/nt2/predicates/include/functions/is_nlt.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NLT_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NLT_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_nltz.hpp b/inst/include/nt2/predicates/include/functions/is_nltz.hpp deleted file mode 100644 index 4459b74..0000000 --- a/inst/include/nt2/predicates/include/functions/is_nltz.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NLTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NLTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_denormal.hpp b/inst/include/nt2/predicates/include/functions/is_not_denormal.hpp deleted file mode 100644 index d9f3e90..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_denormal.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_DENORMAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/include/functions/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 94af787..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_finite.hpp b/inst/include/nt2/predicates/include/functions/is_not_finite.hpp deleted file mode 100644 index 45d4af4..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_finite.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_greater.hpp b/inst/include/nt2/predicates/include/functions/is_not_greater.hpp deleted file mode 100644 index 7c01127..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_greater.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_greater_equal.hpp b/inst/include/nt2/predicates/include/functions/is_not_greater_equal.hpp deleted file mode 100644 index 818ba8d..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_greater_equal.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_imag.hpp b/inst/include/nt2/predicates/include/functions/is_not_imag.hpp deleted file mode 100644 index 3f4e00c..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_imag.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_IMAG_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_infinite.hpp b/inst/include/nt2/predicates/include/functions/is_not_infinite.hpp deleted file mode 100644 index e4b081b..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_infinite.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_less.hpp b/inst/include/nt2/predicates/include/functions/is_not_less.hpp deleted file mode 100644 index cdb252a..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_less.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_less_equal.hpp b/inst/include/nt2/predicates/include/functions/is_not_less_equal.hpp deleted file mode 100644 index a6c8d8a..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_less_equal.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_nan.hpp b/inst/include/nt2/predicates/include/functions/is_not_nan.hpp deleted file mode 100644 index f33edaa..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_nan.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_NAN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_not_real.hpp b/inst/include/nt2/predicates/include/functions/is_not_real.hpp deleted file mode 100644 index 0ae9723..0000000 --- a/inst/include/nt2/predicates/include/functions/is_not_real.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_NOT_REAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_odd.hpp b/inst/include/nt2/predicates/include/functions/is_odd.hpp deleted file mode 100644 index 0b660f1..0000000 --- a/inst/include/nt2/predicates/include/functions/is_odd.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_ODD_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_ODD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_ord.hpp b/inst/include/nt2/predicates/include/functions/is_ord.hpp deleted file mode 100644 index 282c214..0000000 --- a/inst/include/nt2/predicates/include/functions/is_ord.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_ORD_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_ORD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_positive.hpp b/inst/include/nt2/predicates/include/functions/is_positive.hpp deleted file mode 100644 index 7ba55d1..0000000 --- a/inst/include/nt2/predicates/include/functions/is_positive.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_POSITIVE_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_real.hpp b/inst/include/nt2/predicates/include/functions/is_real.hpp deleted file mode 100644 index aafba90..0000000 --- a/inst/include/nt2/predicates/include/functions/is_real.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_REAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_REAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_true.hpp b/inst/include/nt2/predicates/include/functions/is_true.hpp deleted file mode 100644 index b963653..0000000 --- a/inst/include/nt2/predicates/include/functions/is_true.hpp +++ /dev/null @@ -1,12 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_TRUE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_TRUE_HPP_INCLUDED -#include -#endif diff --git a/inst/include/nt2/predicates/include/functions/is_unord.hpp b/inst/include/nt2/predicates/include/functions/is_unord.hpp deleted file mode 100644 index 66d97e4..0000000 --- a/inst/include/nt2/predicates/include/functions/is_unord.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_UNORD_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_IS_UNORD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/iscolumn.hpp b/inst/include/nt2/predicates/include/functions/iscolumn.hpp deleted file mode 100644 index 12f3d7f..0000000 --- a/inst/include/nt2/predicates/include/functions/iscolumn.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISCOLUMN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISCOLUMN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isdiagonal.hpp b/inst/include/nt2/predicates/include/functions/isdiagonal.hpp deleted file mode 100644 index 439bea6..0000000 --- a/inst/include/nt2/predicates/include/functions/isdiagonal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISDIAGONAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISDIAGONAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isempty.hpp b/inst/include/nt2/predicates/include/functions/isempty.hpp deleted file mode 100644 index 2577fce..0000000 --- a/inst/include/nt2/predicates/include/functions/isempty.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISEMPTY_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISEMPTY_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isequal.hpp b/inst/include/nt2/predicates/include/functions/isequal.hpp deleted file mode 100644 index 97981b8..0000000 --- a/inst/include/nt2/predicates/include/functions/isequal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISEQUAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isequaln.hpp b/inst/include/nt2/predicates/include/functions/isequaln.hpp deleted file mode 100644 index 21ec3e4..0000000 --- a/inst/include/nt2/predicates/include/functions/isequaln.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISEQUALN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISEQUALN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isexpandable_to.hpp b/inst/include/nt2/predicates/include/functions/isexpandable_to.hpp deleted file mode 100644 index 3d85e8f..0000000 --- a/inst/include/nt2/predicates/include/functions/isexpandable_to.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISEXPANDABLE_TO_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISEXPANDABLE_TO_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isfloating.hpp b/inst/include/nt2/predicates/include/functions/isfloating.hpp deleted file mode 100644 index 7033740..0000000 --- a/inst/include/nt2/predicates/include/functions/isfloating.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISFLOATING_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISFLOATING_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/ishermitian.hpp b/inst/include/nt2/predicates/include/functions/ishermitian.hpp deleted file mode 100644 index 2a09044..0000000 --- a/inst/include/nt2/predicates/include/functions/ishermitian.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISHERMITIAN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISHERMITIAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isinside.hpp b/inst/include/nt2/predicates/include/functions/isinside.hpp deleted file mode 100644 index 38b255b..0000000 --- a/inst/include/nt2/predicates/include/functions/isinside.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISINSIDE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISINSIDE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isinteger.hpp b/inst/include/nt2/predicates/include/functions/isinteger.hpp deleted file mode 100644 index 939787d..0000000 --- a/inst/include/nt2/predicates/include/functions/isinteger.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISINTEGER_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISINTEGER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/ismatrix.hpp b/inst/include/nt2/predicates/include/functions/ismatrix.hpp deleted file mode 100644 index 6d3f3eb..0000000 --- a/inst/include/nt2/predicates/include/functions/ismatrix.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISMATRIX_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISMATRIX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isreal.hpp b/inst/include/nt2/predicates/include/functions/isreal.hpp deleted file mode 100644 index 2652ad8..0000000 --- a/inst/include/nt2/predicates/include/functions/isreal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISREAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISREAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isrow.hpp b/inst/include/nt2/predicates/include/functions/isrow.hpp deleted file mode 100644 index 9bdea79..0000000 --- a/inst/include/nt2/predicates/include/functions/isrow.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISROW_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISROW_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isscalar.hpp b/inst/include/nt2/predicates/include/functions/isscalar.hpp deleted file mode 100644 index 8a5f2b5..0000000 --- a/inst/include/nt2/predicates/include/functions/isscalar.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISSCALAR_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISSCALAR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/issorted.hpp b/inst/include/nt2/predicates/include/functions/issorted.hpp deleted file mode 100644 index 1a82a1f..0000000 --- a/inst/include/nt2/predicates/include/functions/issorted.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISSORTED_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISSORTED_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/issquare.hpp b/inst/include/nt2/predicates/include/functions/issquare.hpp deleted file mode 100644 index a60bc22..0000000 --- a/inst/include/nt2/predicates/include/functions/issquare.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISSQUARE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISSQUARE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/issymetric.hpp b/inst/include/nt2/predicates/include/functions/issymetric.hpp deleted file mode 100644 index c68ad83..0000000 --- a/inst/include/nt2/predicates/include/functions/issymetric.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISSYMETRIC_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISSYMETRIC_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/istriangular.hpp b/inst/include/nt2/predicates/include/functions/istriangular.hpp deleted file mode 100644 index d5dd150..0000000 --- a/inst/include/nt2/predicates/include/functions/istriangular.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISTRIANGULAR_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISTRIANGULAR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/istril.hpp b/inst/include/nt2/predicates/include/functions/istril.hpp deleted file mode 100644 index 898c78f..0000000 --- a/inst/include/nt2/predicates/include/functions/istril.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISTRIL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISTRIL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/istriu.hpp b/inst/include/nt2/predicates/include/functions/istriu.hpp deleted file mode 100644 index 3b9cee2..0000000 --- a/inst/include/nt2/predicates/include/functions/istriu.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISTRIU_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISTRIU_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isulpequal.hpp b/inst/include/nt2/predicates/include/functions/isulpequal.hpp deleted file mode 100644 index dcd74d4..0000000 --- a/inst/include/nt2/predicates/include/functions/isulpequal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISULPEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISULPEQUAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isvector.hpp b/inst/include/nt2/predicates/include/functions/isvector.hpp deleted file mode 100644 index 45e50cd..0000000 --- a/inst/include/nt2/predicates/include/functions/isvector.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISVECTOR_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISVECTOR_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/isvectoralong.hpp b/inst/include/nt2/predicates/include/functions/isvectoralong.hpp deleted file mode 100644 index 5a8bdf1..0000000 --- a/inst/include/nt2/predicates/include/functions/isvectoralong.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_ISVECTORALONG_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_ISVECTORALONG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/majority.hpp b/inst/include/nt2/predicates/include/functions/majority.hpp deleted file mode 100644 index dcf93aa..0000000 --- a/inst/include/nt2/predicates/include/functions/majority.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_MAJORITY_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_MAJORITY_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/ofsameheight.hpp b/inst/include/nt2/predicates/include/functions/ofsameheight.hpp deleted file mode 100644 index 841da92..0000000 --- a/inst/include/nt2/predicates/include/functions/ofsameheight.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_OFSAMEHEIGHT_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_OFSAMEHEIGHT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/ofsamewidth.hpp b/inst/include/nt2/predicates/include/functions/ofsamewidth.hpp deleted file mode 100644 index e772f08..0000000 --- a/inst/include/nt2/predicates/include/functions/ofsamewidth.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_OFSAMEWIDTH_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_OFSAMEWIDTH_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/arecatcompatible.hpp b/inst/include/nt2/predicates/include/functions/scalar/arecatcompatible.hpp deleted file mode 100644 index 3a3c57e..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/arecatcompatible.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ARECATCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ARECATCOMPATIBLE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/arecrosscompatible.hpp b/inst/include/nt2/predicates/include/functions/scalar/arecrosscompatible.hpp deleted file mode 100644 index 27ff222..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/arecrosscompatible.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ARECROSSCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ARECROSSCOMPATIBLE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/havesamesize.hpp b/inst/include/nt2/predicates/include/functions/scalar/havesamesize.hpp deleted file mode 100644 index 5797856..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/havesamesize.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_HAVESAMESIZE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_HAVESAMESIZE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_denormal.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_denormal.hpp deleted file mode 100644 index df3eae1..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_DENORMAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_equal_with_equal_nans.hpp deleted file mode 100644 index d9b2cc0..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_eqz.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_eqz.hpp deleted file mode 100644 index eda250c..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_eqz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EQZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EQZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_even.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_even.hpp deleted file mode 100644 index 380468a..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_even.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EVEN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_EVEN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_finite.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_finite.hpp deleted file mode 100644 index 8df1ab8..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_finite.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_FINITE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_flint.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_flint.hpp deleted file mode 100644 index 6b6960c..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_flint.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_FLINT_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_FLINT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_gez.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_gez.hpp deleted file mode 100644 index af1e4f4..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_gez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_GEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_GEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_gtz.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_gtz.hpp deleted file mode 100644 index 7c3f636..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_gtz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_GTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_GTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_imag.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_imag.hpp deleted file mode 100644 index 2ce19b7..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_inf.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_inf.hpp deleted file mode 100644 index 2dbd461..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_inf.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_INF_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_INF_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_invalid.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_invalid.hpp deleted file mode 100644 index 505db34..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_invalid.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_INVALID_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_INVALID_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_lez.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_lez.hpp deleted file mode 100644 index aced2e5..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_lez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_LEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_LEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_ltz.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_ltz.hpp deleted file mode 100644 index e4a6b81..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_ltz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_LTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_LTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_nan.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_nan.hpp deleted file mode 100644 index 726f101..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_nan.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NAN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_negative.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_negative.hpp deleted file mode 100644 index 3dd2ea3..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_negative.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NEGATIVE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NEGATIVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_nez.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_nez.hpp deleted file mode 100644 index 71f977e..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_nez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_ngez.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_ngez.hpp deleted file mode 100644 index 974d326..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_ngez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NGEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NGEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_ngtz.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_ngtz.hpp deleted file mode 100644 index 064f273..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_ngtz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NGTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NGTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_nlez.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_nlez.hpp deleted file mode 100644 index 755de74..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_nlez.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NLEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NLEZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_nltz.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_nltz.hpp deleted file mode 100644 index ffd8b72..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_nltz.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NLTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NLTZ_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_denormal.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_denormal.hpp deleted file mode 100644 index 5444a7d..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_DENORMAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 834db92..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_finite.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_finite.hpp deleted file mode 100644 index 5d16beb..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_finite.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_greater.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_greater.hpp deleted file mode 100644 index e27c81f..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_greater.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_greater_equal.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_greater_equal.hpp deleted file mode 100644 index f56c689..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_greater_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_imag.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_imag.hpp deleted file mode 100644 index 4d9655b..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_infinite.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_infinite.hpp deleted file mode 100644 index 3c19938..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_infinite.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_INFINITE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_less.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_less.hpp deleted file mode 100644 index 64fec5d..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_less.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_less_equal.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_less_equal.hpp deleted file mode 100644 index b8d69b3..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_less_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_nan.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_nan.hpp deleted file mode 100644 index 22ab0e4..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_nan.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_NAN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_NAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_not_real.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_not_real.hpp deleted file mode 100644 index b76793b..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_not_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_REAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_NOT_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_odd.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_odd.hpp deleted file mode 100644 index 263877f..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_odd.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_ODD_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_ODD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_ord.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_ord.hpp deleted file mode 100644 index 64a0043..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_ord.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_ORD_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_ORD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_positive.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_positive.hpp deleted file mode 100644 index 9231850..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_positive.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_POSITIVE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_POSITIVE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_real.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_real.hpp deleted file mode 100644 index a0c484b..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_REAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/is_unord.hpp b/inst/include/nt2/predicates/include/functions/scalar/is_unord.hpp deleted file mode 100644 index e870b32..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/is_unord.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_UNORD_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_IS_UNORD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/iscolumn.hpp b/inst/include/nt2/predicates/include/functions/scalar/iscolumn.hpp deleted file mode 100644 index a00176c..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/iscolumn.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISCOLUMN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISCOLUMN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isdiagonal.hpp b/inst/include/nt2/predicates/include/functions/scalar/isdiagonal.hpp deleted file mode 100644 index 5df6b74..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isdiagonal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISDIAGONAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISDIAGONAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isempty.hpp b/inst/include/nt2/predicates/include/functions/scalar/isempty.hpp deleted file mode 100644 index 8ca3ce8..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isempty.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISEMPTY_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISEMPTY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isequal.hpp b/inst/include/nt2/predicates/include/functions/scalar/isequal.hpp deleted file mode 100644 index d8fa510..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isequal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISEQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isequaln.hpp b/inst/include/nt2/predicates/include/functions/scalar/isequaln.hpp deleted file mode 100644 index d45ddaa..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isequaln.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISEQUALN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISEQUALN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isexpandable_to.hpp b/inst/include/nt2/predicates/include/functions/scalar/isexpandable_to.hpp deleted file mode 100644 index 05cf31c..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isexpandable_to.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISEXPANDABLE_TO_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISEXPANDABLE_TO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isfloating.hpp b/inst/include/nt2/predicates/include/functions/scalar/isfloating.hpp deleted file mode 100644 index df8ee4a..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isfloating.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISFLOATING_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISFLOATING_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/ishermitian.hpp b/inst/include/nt2/predicates/include/functions/scalar/ishermitian.hpp deleted file mode 100644 index 4b743bf..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/ishermitian.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISHERMITIAN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISHERMITIAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isinside.hpp b/inst/include/nt2/predicates/include/functions/scalar/isinside.hpp deleted file mode 100644 index 8b7ba70..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isinside.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISINSIDE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISINSIDE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isinteger.hpp b/inst/include/nt2/predicates/include/functions/scalar/isinteger.hpp deleted file mode 100644 index 9de2871..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isinteger.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISINTEGER_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISINTEGER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/ismatrix.hpp b/inst/include/nt2/predicates/include/functions/scalar/ismatrix.hpp deleted file mode 100644 index 4673784..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/ismatrix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISMATRIX_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISMATRIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isreal.hpp b/inst/include/nt2/predicates/include/functions/scalar/isreal.hpp deleted file mode 100644 index 59e8ba3..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isreal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISREAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISREAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isrow.hpp b/inst/include/nt2/predicates/include/functions/scalar/isrow.hpp deleted file mode 100644 index 168a62d..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isrow.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISROW_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISROW_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isscalar.hpp b/inst/include/nt2/predicates/include/functions/scalar/isscalar.hpp deleted file mode 100644 index 76a8832..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isscalar.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISSCALAR_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISSCALAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/issorted.hpp b/inst/include/nt2/predicates/include/functions/scalar/issorted.hpp deleted file mode 100644 index b1cc423..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/issorted.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISSORTED_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISSORTED_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/issquare.hpp b/inst/include/nt2/predicates/include/functions/scalar/issquare.hpp deleted file mode 100644 index 3c628ae..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/issquare.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISSQUARE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISSQUARE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/issymetric.hpp b/inst/include/nt2/predicates/include/functions/scalar/issymetric.hpp deleted file mode 100644 index 137d7a6..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/issymetric.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISSYMETRIC_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISSYMETRIC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/istriangular.hpp b/inst/include/nt2/predicates/include/functions/scalar/istriangular.hpp deleted file mode 100644 index de708e3..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/istriangular.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISTRIANGULAR_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISTRIANGULAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/istril.hpp b/inst/include/nt2/predicates/include/functions/scalar/istril.hpp deleted file mode 100644 index 8a7b3f0..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/istril.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISTRIL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISTRIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/istriu.hpp b/inst/include/nt2/predicates/include/functions/scalar/istriu.hpp deleted file mode 100644 index 54f048b..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/istriu.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISTRIU_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISTRIU_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isulpequal.hpp b/inst/include/nt2/predicates/include/functions/scalar/isulpequal.hpp deleted file mode 100644 index a8c0432..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isulpequal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISULPEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISULPEQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isvector.hpp b/inst/include/nt2/predicates/include/functions/scalar/isvector.hpp deleted file mode 100644 index a62aa0d..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isvector.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISVECTOR_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISVECTOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/isvectoralong.hpp b/inst/include/nt2/predicates/include/functions/scalar/isvectoralong.hpp deleted file mode 100644 index d83d9ca..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/isvectoralong.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISVECTORALONG_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_ISVECTORALONG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/majority.hpp b/inst/include/nt2/predicates/include/functions/scalar/majority.hpp deleted file mode 100644 index 949b493..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/majority.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_MAJORITY_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_MAJORITY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/ofsameheight.hpp b/inst/include/nt2/predicates/include/functions/scalar/ofsameheight.hpp deleted file mode 100644 index 5a0b391..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/ofsameheight.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_OFSAMEHEIGHT_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_OFSAMEHEIGHT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/scalar/ofsamewidth.hpp b/inst/include/nt2/predicates/include/functions/scalar/ofsamewidth.hpp deleted file mode 100644 index cd3f8da..0000000 --- a/inst/include/nt2/predicates/include/functions/scalar/ofsamewidth.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_OFSAMEWIDTH_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SCALAR_OFSAMEWIDTH_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/arecatcompatible.hpp b/inst/include/nt2/predicates/include/functions/simd/arecatcompatible.hpp deleted file mode 100644 index 14d2867..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/arecatcompatible.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ARECATCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ARECATCOMPATIBLE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/arecrosscompatible.hpp b/inst/include/nt2/predicates/include/functions/simd/arecrosscompatible.hpp deleted file mode 100644 index 6158ca1..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/arecrosscompatible.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ARECROSSCOMPATIBLE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ARECROSSCOMPATIBLE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/havesamesize.hpp b/inst/include/nt2/predicates/include/functions/simd/havesamesize.hpp deleted file mode 100644 index 26daef7..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/havesamesize.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_HAVESAMESIZE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_HAVESAMESIZE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_denormal.hpp b/inst/include/nt2/predicates/include/functions/simd/is_denormal.hpp deleted file mode 100644 index 38aa245..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_DENORMAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/include/functions/simd/is_equal_with_equal_nans.hpp deleted file mode 100644 index bf45b73..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_equal_with_equal_nans.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_eqz.hpp b/inst/include/nt2/predicates/include/functions/simd/is_eqz.hpp deleted file mode 100644 index 17d6d66..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_eqz.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EQZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EQZ_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_even.hpp b/inst/include/nt2/predicates/include/functions/simd/is_even.hpp deleted file mode 100644 index 503ef52..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_even.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EVEN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_EVEN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_finite.hpp b/inst/include/nt2/predicates/include/functions/simd/is_finite.hpp deleted file mode 100644 index 90295c1..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_finite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_FINITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_flint.hpp b/inst/include/nt2/predicates/include/functions/simd/is_flint.hpp deleted file mode 100644 index a831a2c..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_flint.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_FLINT_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_FLINT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_gez.hpp b/inst/include/nt2/predicates/include/functions/simd/is_gez.hpp deleted file mode 100644 index 288d7ff..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_gez.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_GEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_GEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_gtz.hpp b/inst/include/nt2/predicates/include/functions/simd/is_gtz.hpp deleted file mode 100644 index 98006a9..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_gtz.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_GTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_GTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_imag.hpp b/inst/include/nt2/predicates/include/functions/simd/is_imag.hpp deleted file mode 100644 index e22198e..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_inf.hpp b/inst/include/nt2/predicates/include/functions/simd/is_inf.hpp deleted file mode 100644 index a0a75eb..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_inf.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_INF_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_INF_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_invalid.hpp b/inst/include/nt2/predicates/include/functions/simd/is_invalid.hpp deleted file mode 100644 index 2aad791..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_invalid.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_INVALID_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_INVALID_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_lez.hpp b/inst/include/nt2/predicates/include/functions/simd/is_lez.hpp deleted file mode 100644 index 9712dcf..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_lez.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_LEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_LEZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_ltz.hpp b/inst/include/nt2/predicates/include/functions/simd/is_ltz.hpp deleted file mode 100644 index bf80ea4..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_ltz.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_LTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_LTZ_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_nan.hpp b/inst/include/nt2/predicates/include/functions/simd/is_nan.hpp deleted file mode 100644 index 08ff468..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_nan.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NAN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_negative.hpp b/inst/include/nt2/predicates/include/functions/simd/is_negative.hpp deleted file mode 100644 index 7ee63c7..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_negative.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NEGATIVE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NEGATIVE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_nez.hpp b/inst/include/nt2/predicates/include/functions/simd/is_nez.hpp deleted file mode 100644 index 92e6a36..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_nez.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NEZ_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_ngez.hpp b/inst/include/nt2/predicates/include/functions/simd/is_ngez.hpp deleted file mode 100644 index f676509..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_ngez.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NGEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NGEZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_ngtz.hpp b/inst/include/nt2/predicates/include/functions/simd/is_ngtz.hpp deleted file mode 100644 index defb502..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_ngtz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NGTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NGTZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_nlez.hpp b/inst/include/nt2/predicates/include/functions/simd/is_nlez.hpp deleted file mode 100644 index 3db744a..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_nlez.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NLEZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NLEZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_nltz.hpp b/inst/include/nt2/predicates/include/functions/simd/is_nltz.hpp deleted file mode 100644 index fde5843..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_nltz.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NLTZ_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NLTZ_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_denormal.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_denormal.hpp deleted file mode 100644 index 421f507..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_denormal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_DENORMAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_DENORMAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_equal_with_equal_nans.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_equal_with_equal_nans.hpp deleted file mode 100644 index 3eefd86..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_equal_with_equal_nans.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_EQUAL_WITH_EQUAL_NANS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_finite.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_finite.hpp deleted file mode 100644 index ec231ec..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_finite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_FINITE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_FINITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_greater.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_greater.hpp deleted file mode 100644 index 91657d6..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_greater.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_greater_equal.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_greater_equal.hpp deleted file mode 100644 index b70223d..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_greater_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_imag.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_imag.hpp deleted file mode 100644 index 1c533fa..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_imag.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_IMAG_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_IMAG_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_infinite.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_infinite.hpp deleted file mode 100644 index b35064c..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_infinite.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_INFINITE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_INFINITE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_less.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_less.hpp deleted file mode 100644 index a02d5fe..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_less.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_less_equal.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_less_equal.hpp deleted file mode 100644 index 308a940..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_less_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_EQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_nan.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_nan.hpp deleted file mode 100644 index 0bd5104..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_nan.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_NAN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_NAN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_not_real.hpp b/inst/include/nt2/predicates/include/functions/simd/is_not_real.hpp deleted file mode 100644 index 4b01510..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_not_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_REAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_NOT_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_odd.hpp b/inst/include/nt2/predicates/include/functions/simd/is_odd.hpp deleted file mode 100644 index 1d481f2..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_odd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_ODD_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_ODD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_ord.hpp b/inst/include/nt2/predicates/include/functions/simd/is_ord.hpp deleted file mode 100644 index 11f581e..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_ord.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_ORD_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_ORD_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_positive.hpp b/inst/include/nt2/predicates/include/functions/simd/is_positive.hpp deleted file mode 100644 index 64d8d0d..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_positive.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_POSITIVE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_POSITIVE_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_real.hpp b/inst/include/nt2/predicates/include/functions/simd/is_real.hpp deleted file mode 100644 index 6648b6b..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_real.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_REAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_REAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/is_unord.hpp b/inst/include/nt2/predicates/include/functions/simd/is_unord.hpp deleted file mode 100644 index 2cd698b..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/is_unord.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_UNORD_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_IS_UNORD_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/iscolumn.hpp b/inst/include/nt2/predicates/include/functions/simd/iscolumn.hpp deleted file mode 100644 index 42f56d2..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/iscolumn.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISCOLUMN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISCOLUMN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isdiagonal.hpp b/inst/include/nt2/predicates/include/functions/simd/isdiagonal.hpp deleted file mode 100644 index b331f57..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isdiagonal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISDIAGONAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISDIAGONAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isempty.hpp b/inst/include/nt2/predicates/include/functions/simd/isempty.hpp deleted file mode 100644 index 0addd81..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isempty.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISEMPTY_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISEMPTY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isequal.hpp b/inst/include/nt2/predicates/include/functions/simd/isequal.hpp deleted file mode 100644 index b757f6d..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isequal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISEQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isequaln.hpp b/inst/include/nt2/predicates/include/functions/simd/isequaln.hpp deleted file mode 100644 index 7fb1ad6..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isequaln.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISEQUALN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISEQUALN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isexpandable_to.hpp b/inst/include/nt2/predicates/include/functions/simd/isexpandable_to.hpp deleted file mode 100644 index 51bce33..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isexpandable_to.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISEXPANDABLE_TO_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISEXPANDABLE_TO_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isfloating.hpp b/inst/include/nt2/predicates/include/functions/simd/isfloating.hpp deleted file mode 100644 index 0b63da2..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isfloating.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISFLOATING_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISFLOATING_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/ishermitian.hpp b/inst/include/nt2/predicates/include/functions/simd/ishermitian.hpp deleted file mode 100644 index f3026ef..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/ishermitian.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISHERMITIAN_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISHERMITIAN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isinside.hpp b/inst/include/nt2/predicates/include/functions/simd/isinside.hpp deleted file mode 100644 index f9daead..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isinside.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISINSIDE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISINSIDE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isinteger.hpp b/inst/include/nt2/predicates/include/functions/simd/isinteger.hpp deleted file mode 100644 index d33ece4..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isinteger.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISINTEGER_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISINTEGER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/ismatrix.hpp b/inst/include/nt2/predicates/include/functions/simd/ismatrix.hpp deleted file mode 100644 index 565916b..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/ismatrix.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISMATRIX_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISMATRIX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isreal.hpp b/inst/include/nt2/predicates/include/functions/simd/isreal.hpp deleted file mode 100644 index ea3eff6..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isreal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISREAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISREAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isrow.hpp b/inst/include/nt2/predicates/include/functions/simd/isrow.hpp deleted file mode 100644 index 5ddaa8c..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isrow.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISROW_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISROW_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isscalar.hpp b/inst/include/nt2/predicates/include/functions/simd/isscalar.hpp deleted file mode 100644 index 73b7bd6..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isscalar.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISSCALAR_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISSCALAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/issorted.hpp b/inst/include/nt2/predicates/include/functions/simd/issorted.hpp deleted file mode 100644 index ce91bca..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/issorted.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISSORTED_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISSORTED_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/issquare.hpp b/inst/include/nt2/predicates/include/functions/simd/issquare.hpp deleted file mode 100644 index 261079a..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/issquare.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISSQUARE_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISSQUARE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/issymetric.hpp b/inst/include/nt2/predicates/include/functions/simd/issymetric.hpp deleted file mode 100644 index 826fb00..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/issymetric.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISSYMETRIC_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISSYMETRIC_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/istriangular.hpp b/inst/include/nt2/predicates/include/functions/simd/istriangular.hpp deleted file mode 100644 index 0752e8e..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/istriangular.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISTRIANGULAR_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISTRIANGULAR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/istril.hpp b/inst/include/nt2/predicates/include/functions/simd/istril.hpp deleted file mode 100644 index b456bac..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/istril.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISTRIL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISTRIL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/istriu.hpp b/inst/include/nt2/predicates/include/functions/simd/istriu.hpp deleted file mode 100644 index 8350fa7..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/istriu.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISTRIU_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISTRIU_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isulpequal.hpp b/inst/include/nt2/predicates/include/functions/simd/isulpequal.hpp deleted file mode 100644 index d7d1437..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isulpequal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISULPEQUAL_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISULPEQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isvector.hpp b/inst/include/nt2/predicates/include/functions/simd/isvector.hpp deleted file mode 100644 index 5346550..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isvector.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISVECTOR_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISVECTOR_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/isvectoralong.hpp b/inst/include/nt2/predicates/include/functions/simd/isvectoralong.hpp deleted file mode 100644 index e8e138d..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/isvectoralong.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISVECTORALONG_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_ISVECTORALONG_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/majority.hpp b/inst/include/nt2/predicates/include/functions/simd/majority.hpp deleted file mode 100644 index 2f61bb1..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/majority.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_MAJORITY_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_MAJORITY_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/ofsameheight.hpp b/inst/include/nt2/predicates/include/functions/simd/ofsameheight.hpp deleted file mode 100644 index 34d86fe..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/ofsameheight.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_OFSAMEHEIGHT_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_OFSAMEHEIGHT_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/include/functions/simd/ofsamewidth.hpp b/inst/include/nt2/predicates/include/functions/simd/ofsamewidth.hpp deleted file mode 100644 index c1f559c..0000000 --- a/inst/include/nt2/predicates/include/functions/simd/ofsamewidth.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_OFSAMEWIDTH_HPP_INCLUDED -#define NT2_PREDICATES_INCLUDE_FUNCTIONS_SIMD_OFSAMEWIDTH_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/predicates/predicates.hpp b/inst/include/nt2/predicates/predicates.hpp deleted file mode 100644 index 3c78224..0000000 --- a/inst/include/nt2/predicates/predicates.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_PREDICATES_PREDICATES_HPP_INCLUDED -#define NT2_PREDICATES_PREDICATES_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/constants.hpp b/inst/include/nt2/reduction/constants.hpp deleted file mode 100644 index bb00df8..0000000 --- a/inst/include/nt2/reduction/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_REDUCTION_CONSTANTS_HPP_INCLUDED -#define NT2_REDUCTION_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/reduction/functions.hpp b/inst/include/nt2/reduction/functions.hpp deleted file mode 100644 index 4833db2..0000000 --- a/inst/include/nt2/reduction/functions.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef NT2_REDUCTION_FUNCTIONS_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/functions/all.hpp b/inst/include/nt2/reduction/functions/all.hpp deleted file mode 100644 index cc26667..0000000 --- a/inst/include/nt2/reduction/functions/all.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_ALL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_ALL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::all_} **/ - struct all_ {}; - #endif - using boost::simd::tag::all_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::all} **/ - template - details::unspecified all(Args&&... args); - #endif - using boost::simd::all; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/any.hpp b/inst/include/nt2/reduction/functions/any.hpp deleted file mode 100644 index 9cbd78d..0000000 --- a/inst/include/nt2/reduction/functions/any.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_ANY_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_ANY_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::any_} **/ - struct any_ {}; - #endif - using boost::simd::tag::any_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::any} **/ - template - details::unspecified any(Args&&... args); - #endif - using boost::simd::any; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/compare_equal.hpp b/inst/include/nt2/reduction/functions/compare_equal.hpp deleted file mode 100644 index d955569..0000000 --- a/inst/include/nt2/reduction/functions/compare_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::compare_equal_} **/ - struct compare_equal_ {}; - #endif - using boost::simd::tag::compare_equal_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::compare_equal} **/ - template - details::unspecified compare_equal(Args&&... args); - #endif - using boost::simd::compare_equal; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/compare_greater.hpp b/inst/include/nt2/reduction/functions/compare_greater.hpp deleted file mode 100644 index 534c3e5..0000000 --- a/inst/include/nt2/reduction/functions/compare_greater.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::compare_greater_} **/ - struct compare_greater_ {}; - #endif - using boost::simd::tag::compare_greater_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::compare_greater} **/ - template - details::unspecified compare_greater(Args&&... args); - #endif - using boost::simd::compare_greater; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/compare_greater_equal.hpp b/inst/include/nt2/reduction/functions/compare_greater_equal.hpp deleted file mode 100644 index 52b4ee5..0000000 --- a/inst/include/nt2/reduction/functions/compare_greater_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::compare_greater_equal_} **/ - struct compare_greater_equal_ {}; - #endif - using boost::simd::tag::compare_greater_equal_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::compare_greater_equal} **/ - template - details::unspecified compare_greater_equal(Args&&... args); - #endif - using boost::simd::compare_greater_equal; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/compare_less.hpp b/inst/include/nt2/reduction/functions/compare_less.hpp deleted file mode 100644 index b75808d..0000000 --- a/inst/include/nt2/reduction/functions/compare_less.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::compare_less_} **/ - struct compare_less_ {}; - #endif - using boost::simd::tag::compare_less_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::compare_less} **/ - template - details::unspecified compare_less(Args&&... args); - #endif - using boost::simd::compare_less; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/compare_less_equal.hpp b/inst/include/nt2/reduction/functions/compare_less_equal.hpp deleted file mode 100644 index bdb0a03..0000000 --- a/inst/include/nt2/reduction/functions/compare_less_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::compare_less_equal_} **/ - struct compare_less_equal_ {}; - #endif - using boost::simd::tag::compare_less_equal_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::compare_less_equal} **/ - template - details::unspecified compare_less_equal(Args&&... args); - #endif - using boost::simd::compare_less_equal; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/compare_not_equal.hpp b/inst/include/nt2/reduction/functions/compare_not_equal.hpp deleted file mode 100644 index 5c4c005..0000000 --- a/inst/include/nt2/reduction/functions/compare_not_equal.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::compare_not_equal_} **/ - struct compare_not_equal_ {}; - #endif - using boost::simd::tag::compare_not_equal_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::compare_not_equal} **/ - template - details::unspecified compare_not_equal(Args&&... args); - #endif - using boost::simd::compare_not_equal; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/all.hpp b/inst/include/nt2/reduction/functions/complex/generic/all.hpp deleted file mode 100644 index 9ecb5eb..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/all.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_ALL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_ALL_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( all_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename meta::scalar_of::type stype; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::all(is_nez(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/any.hpp b/inst/include/nt2/reduction/functions/complex/generic/any.hpp deleted file mode 100644 index 4f16fd5..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/any.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_ANY_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_ANY_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( any_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename meta::scalar_of::type stype; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::any(is_nez(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( any_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename meta::scalar_of::type stype; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::any(is_nez(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/compare_equal.hpp b/inst/include/nt2/reduction/functions/complex/generic/compare_equal.hpp deleted file mode 100644 index 330e584..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/compare_equal.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_equal_, tag::cpu_, (A0), - ((generic_ < complex_< arithmetic_ > > )) - ((generic_ < complex_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - result_type tmp = compare_equal(nt2::real(a0), nt2::real(a1)); - if (!tmp) - return False(); - else - return compare_equal(nt2::imag(a0), nt2::imag(a1)); - } - }; - - - BOOST_DISPATCH_IMPLEMENT ( compare_equal_, tag::cpu_, (A0), - ((generic_ < dry_< arithmetic_ > > )) - ((generic_ < dry_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return compare_equal(nt2::real(a0), nt2::real(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/compare_greater.hpp b/inst/include/nt2/reduction/functions/complex/generic/compare_greater.hpp deleted file mode 100644 index 06d09ee..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/compare_greater.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_GREATER_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_greater_, tag::cpu_, (A0), - ((generic_ < complex_< arithmetic_ > > )) - ((generic_ < complex_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return compare_less(a1, a0); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( compare_greater_, tag::cpu_, (A0), - ((generic_ < dry_< arithmetic_ > > )) - ((generic_ < dry_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return compare_less(a1, a0); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/compare_greater_equal.hpp b/inst/include/nt2/reduction/functions/complex/generic/compare_greater_equal.hpp deleted file mode 100644 index 1c1519d..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/compare_greater_equal.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_greater_equal_, tag::cpu_, (A0), - ((generic_ < complex_< arithmetic_ > > )) - ((generic_ < complex_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!compare_less(a0, a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( compare_greater_equal_, tag::cpu_, (A0), - ((generic_ < dry_< arithmetic_ > > )) - ((generic_ < dry_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!compare_less(a0, a1)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/compare_less.hpp b/inst/include/nt2/reduction/functions/complex/generic/compare_less.hpp deleted file mode 100644 index f84d099..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/compare_less.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_LESS_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_less_, tag::cpu_, (A0) - , ((generic_ < complex_< arithmetic_ > > )) - ((generic_ < complex_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - result_type tmp = compare_less(nt2::real(a0), nt2::real(a1)); - if (tmp) - return tmp; - else - return compare_less(nt2::imag(a0), nt2::imag(a1)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( compare_less_, tag::cpu_, (A0) - , ((generic_ < dry_< arithmetic_ > > )) - ((generic_ < dry_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return compare_less(nt2::real(a0), nt2::real(a1)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/compare_less_equal.hpp b/inst/include/nt2/reduction/functions/complex/generic/compare_less_equal.hpp deleted file mode 100644 index 3c6f1d6..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/compare_less_equal.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_less_equal_, tag::cpu_, (A0), - ((generic_ < complex_< arithmetic_ > > )) - ((generic_ < complex_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!compare_less(a1, a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( compare_less_equal_, tag::cpu_, (A0), - ((generic_ < dry_< arithmetic_ > > )) - ((generic_ < dry_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!compare_less(a1, a0)); - } - }; } } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/compare_not_equal.hpp b/inst/include/nt2/reduction/functions/complex/generic/compare_not_equal.hpp deleted file mode 100644 index 5d1bae1..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/compare_not_equal.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( compare_not_equal_, tag::cpu_, (A0), - ((generic_ < complex_< arithmetic_ > > )) - ((generic_ < complex_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!compare_equal(a0, a1)); - - } - }; - - BOOST_DISPATCH_IMPLEMENT ( compare_not_equal_, tag::cpu_, (A0), - ((generic_ < dry_< arithmetic_ > > )) - ((generic_ < dry_< arithmetic_ > > )) - ) - { - typedef typename nt2::meta::as_real::type rA0; - typedef typename meta::scalar_of::type sA0; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return result_type(!compare_equal(a0, a1)); - - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/dot.hpp b/inst/include/nt2/reduction/functions/complex/generic/dot.hpp deleted file mode 100644 index 212ef21..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/dot.hpp +++ /dev/null @@ -1,82 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_DOT_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_DOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( dot_, tag::cpu_, (A0), - ((generic_ < complex_< arithmetic_ > > )) - ((generic_ < complex_< arithmetic_ > > )) - ) - { - typedef typename meta::scalar_of::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return nt2:: sum(nt2::multiplies(a0, conj(a1))); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dot_, tag::cpu_, (A0), - ((generic_ < dry_< arithmetic_ > > )) - ((generic_ < dry_< arithmetic_ > > )) - ) - { - typedef typename meta::scalar_of::type result_type; - NT2_FUNCTOR_CALL_REPEAT(2) - { - return result_type(nt2::sum(nt2::real(a0)*nt2::real(a1))); - } - }; - - - - BOOST_DISPATCH_IMPLEMENT ( dot_, tag::cpu_, (A0)(A1), - ((generic_ < complex_< arithmetic_ > > )) - ((generic_ < complex_< arithmetic_ > > )) - ((scalar_ > )) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_FORCEINLINE - result_type operator()(const A0& a0,const A0& a1, const A1& ) const - { - return dot(a0, a1); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( dot_, tag::cpu_, (A0)(A1), - ((generic_ < dry_< arithmetic_ > > )) - ((generic_ < dry_< arithmetic_ > > )) - ((scalar_ > )) - ) - { - typedef typename meta::scalar_of::type result_type; - BOOST_FORCEINLINE - result_type operator()(const A0& a0,const A0& a1, const A1& ) const - { - return dot(a0, a1); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/inbtrue.hpp b/inst/include/nt2/reduction/functions/complex/generic/inbtrue.hpp deleted file mode 100644 index 9058086..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/inbtrue.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_INBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_INBTRUE_HPP_INCLUDED -#include -#include -#include - - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( inbtrue_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef std::size_t result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::inbtrue(nt2::real(if_one_else_zero(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/maximum.hpp b/inst/include/nt2/reduction/functions/complex/generic/maximum.hpp deleted file mode 100644 index cde1e45..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/maximum.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_MAXIMUM_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_MAXIMUM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( maximum_, tag::cpu_ - , (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - typedef typename nt2::meta::as_real::type r_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(maximum(bitwise_cast(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/minimum.hpp b/inst/include/nt2/reduction/functions/complex/generic/minimum.hpp deleted file mode 100644 index 3885d64..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/minimum.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_MINIMUM_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_MINIMUM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( minimum_, tag::cpu_ - , (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - typedef typename nt2::meta::as_real::type r_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(minimum(bitwise_cast(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/nbtrue.hpp b/inst/include/nt2/reduction/functions/complex/generic/nbtrue.hpp deleted file mode 100644 index bc51f72..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/nbtrue.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_NBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_NBTRUE_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nbtrue_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::nbtrue(if_one_else_zero(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( nbtrue_, tag::cpu_, (A0)(A1) - , (generic_< complex_< arithmetic_ > >) - (scalar_< integer_ > ) - ) - { - typedef typename nt2::meta::as_real::type result_type; - inline result_type operator()(A0 const & a0, A1 const &) const - { - return nt2::nbtrue(if_one_else_zero(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/none.hpp b/inst/include/nt2/reduction/functions/complex/generic/none.hpp deleted file mode 100644 index 1cc8631..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/none.hpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_NONE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_NONE_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( none_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename meta::scalar_of::type stype; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::none(is_nez(a0)); - } - }; - - BOOST_DISPATCH_IMPLEMENT ( none_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename meta::scalar_of::type stype; - typedef typename meta::as_logical::type result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::none(is_nez(a0)); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/posmax.hpp b/inst/include/nt2/reduction/functions/complex/generic/posmax.hpp deleted file mode 100644 index e8d11c5..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/posmax.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_POSMAX_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_POSMAX_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( posmax_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef std::size_t result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename meta::as_logical::type ltype; - - rtype const absa0 = nt2::abs(a0); - result_type tmp = posmax(absa0); - ltype const test = eq(absa0, absa0[tmp]); - - if(nt2::inbtrue(test) > 1) - { - return nt2::posmax(nt2::if_else(test, nt2::arg(a0), Minf())); - } - - return tmp; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( posmax_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::posmax(nt2::abs(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/posmin.hpp b/inst/include/nt2/reduction/functions/complex/generic/posmin.hpp deleted file mode 100644 index 1aae859..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/posmin.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_POSMIN_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_POSMIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( posmin_, tag::cpu_, (A0) - , (generic_< complex_< arithmetic_ > >) - ) - { - typedef std::size_t result_type; - NT2_FUNCTOR_CALL(1) - { - typedef typename nt2::meta::as_real::type rtype; - typedef typename meta::as_logical::type ltype; - - rtype const absa0 = nt2::abs(a0); - result_type tmp = posmin(absa0); - ltype const test = eq(absa0, absa0[tmp]); - - if(nt2::inbtrue(test) > 1) - { - return nt2::posmin(nt2::if_else(test, nt2::arg(a0), nt2::Inf())); - } - - return tmp; - } - }; - - BOOST_DISPATCH_IMPLEMENT ( posmin_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef std::size_t result_type; - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return nt2::posmin(nt2::abs(a0)); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/generic/sum.hpp b/inst/include/nt2/reduction/functions/complex/generic/sum.hpp deleted file mode 100644 index 6edc75c..0000000 --- a/inst/include/nt2/reduction/functions/complex/generic/sum.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_SUM_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_GENERIC_SUM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( sum_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - typedef typename nt2::meta::as_real::type r_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(sum(bitwise_cast(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/simd/common/inbtrue.hpp b/inst/include/nt2/reduction/functions/complex/simd/common/inbtrue.hpp deleted file mode 100644 index 7715b03..0000000 --- a/inst/include/nt2/reduction/functions/complex/simd/common/inbtrue.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_SIMD_COMMON_INBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_SIMD_COMMON_INBTRUE_HPP_INCLUDED -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( inbtrue_, tag::cpu_, (A0)(X) - , ((simd_< complex_< arithmetic_ > , X>)) - ) - { - typedef std::size_t result_type; - NT2_FUNCTOR_CALL(1) - { - return nt2::inbtrue(nt2::real(if_else(a0, nt2::One(), nt2::Zero()))); - } - }; - -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/complex/simd/common/prod.hpp b/inst/include/nt2/reduction/functions/complex/simd/common/prod.hpp deleted file mode 100644 index 3e1972c..0000000 --- a/inst/include/nt2/reduction/functions/complex/simd/common/prod.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_COMPLEX_SIMD_COMMON_PROD_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_COMPLEX_SIMD_COMMON_PROD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( prod_, tag::cpu_, (A0) - , (generic_< dry_< arithmetic_ > >) - ) - { - typedef typename meta::scalar_of::type result_type; - typedef typename nt2::meta::as_real::type r_t; - - BOOST_FORCEINLINE result_type operator()(A0 const& a0) const - { - return bitwise_cast(prod(bitwise_cast(a0))); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/container/all.hpp b/inst/include/nt2/reduction/functions/container/all.hpp deleted file mode 100644 index c1d5c9f..0000000 --- a/inst/include/nt2/reduction/functions/container/all.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_CONTAINER_ALL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_CONTAINER_ALL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( all_, tag::cpu_ - , (A0)(T)(N) - , ((expr_< generic_ >,T,N >)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - nt2::all( nt2::is_nez(a0) ) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( all_, tag::cpu_ - , (A0)(T)(N)(A1) - , ((expr_< generic_ >,T,N >)) - (scalar_< integer_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - nt2::all( nt2::is_nez(a0), a1 ) - ) - }; -} } } - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::reduction_size - {}; - - template - struct size_of - : meta::reduction_size - {}; - - template - struct value_type - : meta::reduction_value - {}; -} } - -#endif diff --git a/inst/include/nt2/reduction/functions/container/any.hpp b/inst/include/nt2/reduction/functions/container/any.hpp deleted file mode 100644 index 66a4427..0000000 --- a/inst/include/nt2/reduction/functions/container/any.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_CONTAINER_ANY_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_CONTAINER_ANY_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( any_, tag::cpu_ - , (A0)(T)(N) - , ((expr_< generic_ >,T,N >)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - nt2::any( nt2::is_nez(a0) ) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( any_, tag::cpu_ - , (A0)(T)(N)(A1) - , ((expr_< generic_ >,T,N >)) - (scalar_< integer_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - nt2::any( nt2::is_nez(a0), a1 ) - ) - }; -} } } - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::reduction_size - {}; - - template - struct size_of - : meta::reduction_size - {}; - - template - struct value_type - : meta::reduction_value - {}; -} } - -#endif diff --git a/inst/include/nt2/reduction/functions/container/inbtrue.hpp b/inst/include/nt2/reduction/functions/container/inbtrue.hpp deleted file mode 100644 index a192d30..0000000 --- a/inst/include/nt2/reduction/functions/container/inbtrue.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_CONTAINER_INBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_CONTAINER_INBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( inbtrue_, tag::cpu_, - (A0), - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - nt2::sum(nt2::touint(nt2::real(nt2::if_one_else_zero(a0)))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( inbtrue_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, const A1& a1), - nt2::sum(nt2::touint(nt2::real(nt2::if_one_else_zero(a0))), a1) - ) - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/container/maximum.hpp b/inst/include/nt2/reduction/functions/container/maximum.hpp deleted file mode 100644 index 618effb..0000000 --- a/inst/include/nt2/reduction/functions/container/maximum.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_CONTAINER_MAXIMUM_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_CONTAINER_MAXIMUM_HPP_INCLUDED - -#include -#include -#include - -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::reduction_size - {}; - - template - struct size_of - : meta::reduction_size - {}; - - template - struct value_type - : meta::reduction_value - {}; -} } - -#endif diff --git a/inst/include/nt2/reduction/functions/container/minimum.hpp b/inst/include/nt2/reduction/functions/container/minimum.hpp deleted file mode 100644 index 6ddf1bb..0000000 --- a/inst/include/nt2/reduction/functions/container/minimum.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_CONTAINER_MINIMUM_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_CONTAINER_MINIMUM_HPP_INCLUDED - -#include -#include -#include - -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::reduction_size - {}; - - template - struct size_of - : meta::reduction_size - {}; - - template - struct value_type - : meta::reduction_value - {}; -} } - -#endif diff --git a/inst/include/nt2/reduction/functions/container/nbtrue.hpp b/inst/include/nt2/reduction/functions/container/nbtrue.hpp deleted file mode 100644 index c713d06..0000000 --- a/inst/include/nt2/reduction/functions/container/nbtrue.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_CONTAINER_NBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_CONTAINER_NBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( nbtrue_, tag::cpu_, - (A0), - ((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - nt2::sum(nt2::real(nt2::if_one_else_zero(a0))) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( nbtrue_, tag::cpu_, - (A0)(A1), - ((ast_)) - (scalar_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, const A1& a1), - nt2::sum(nt2::real(nt2::if_one_else_zero(a0)), a1) - ) - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/container/none.hpp b/inst/include/nt2/reduction/functions/container/none.hpp deleted file mode 100644 index 1eebf87..0000000 --- a/inst/include/nt2/reduction/functions/container/none.hpp +++ /dev/null @@ -1,40 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_CONTAINER_NONE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_CONTAINER_NONE_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - BOOST_DISPATCH_IMPLEMENT ( none_, tag::cpu_ - , (A0)(T)(N) - , ((expr_< generic_ >,T,N >)) - ) - { - BOOST_DISPATCH_RETURNS(1, (A0 const& a0), - nt2::all( nt2::is_eqz(a0) ) - ) - }; - - BOOST_DISPATCH_IMPLEMENT ( none_, tag::cpu_ - , (A0)(T)(N)(A1) - , ((expr_< generic_ >,T,N >)) - (scalar_< integer_ >) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - nt2::all( nt2::is_eqz(a0), a1 ) - ) - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/container/prod.hpp b/inst/include/nt2/reduction/functions/container/prod.hpp deleted file mode 100644 index e948b39..0000000 --- a/inst/include/nt2/reduction/functions/container/prod.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_CONTAINER_PROD_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_CONTAINER_PROD_HPP_INCLUDED - -#include -#include -#include - -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::reduction_size - {}; - - template - struct size_of - : meta::reduction_size - {}; - - template - struct value_type - : meta::reduction_value - {}; -} } - -#endif diff --git a/inst/include/nt2/reduction/functions/container/sum.hpp b/inst/include/nt2/reduction/functions/container/sum.hpp deleted file mode 100644 index 072ea93..0000000 --- a/inst/include/nt2/reduction/functions/container/sum.hpp +++ /dev/null @@ -1,37 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_CONTAINER_SUM_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_CONTAINER_SUM_HPP_INCLUDED - -#include -#include -#include - -#include -#include - -namespace nt2 { namespace ext -{ - template - struct size_of - : meta::reduction_size - {}; - - template - struct size_of - : meta::reduction_size - {}; - - template - struct value_type - : meta::reduction_value - {}; -} } - -#endif diff --git a/inst/include/nt2/reduction/functions/dot.hpp b/inst/include/nt2/reduction/functions/dot.hpp deleted file mode 100644 index e47f887..0000000 --- a/inst/include/nt2/reduction/functions/dot.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_DOT_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_DOT_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::dot_} **/ - struct dot_ {}; - #endif - using boost::simd::tag::dot_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::dot} **/ - template - details::unspecified dot(Args&&... args); - #endif - using boost::simd::dot; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/expr/dot.hpp b/inst/include/nt2/reduction/functions/expr/dot.hpp deleted file mode 100644 index 11db00a..0000000 --- a/inst/include/nt2/reduction/functions/expr/dot.hpp +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_EXPR_DOT_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_EXPR_DOT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( dot_, tag::cpu_ - , (A0)(A1) - , ((ast_))((ast_)) - ) - { - BOOST_DISPATCH_RETURNS(2, (A0 const& a0, A1 const& a1), - nt2::sum(nt2::multiplies(a0, nt2::conj(a1))) - ) - }; - - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( dot_, tag::cpu_, - (A0)(A1)(A2), - ((ast_))((ast_)) - (scalar_ > ) - ) - { - BOOST_DISPATCH_RETURNS(3, (A0 const& a0, A1 const& a1, A2 const& a2), - nt2::sum(nt2::multiplies(a0, nt2::conj(a1)), a2) - ) - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/hmsb.hpp b/inst/include/nt2/reduction/functions/hmsb.hpp deleted file mode 100644 index 9b04537..0000000 --- a/inst/include/nt2/reduction/functions/hmsb.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_HMSB_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_HMSB_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::hmsb_} **/ - struct hmsb_ {}; - #endif - using boost::simd::tag::hmsb_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::hmsb} **/ - template - details::unspecified hmsb(Args&&... args); - #endif - using boost::simd::hmsb; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/inbtrue.hpp b/inst/include/nt2/reduction/functions/inbtrue.hpp deleted file mode 100644 index 14be5bd..0000000 --- a/inst/include/nt2/reduction/functions/inbtrue.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_INBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_INBTRUE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::inbtrue_} **/ - struct inbtrue_ {}; - #endif - using boost::simd::tag::inbtrue_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::inbtrue} **/ - template - details::unspecified inbtrue(Args&&... args); - #endif - using boost::simd::inbtrue; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/is_included.hpp b/inst/include/nt2/reduction/functions/is_included.hpp deleted file mode 100644 index a334557..0000000 --- a/inst/include/nt2/reduction/functions/is_included.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_included_} **/ - struct is_included_ {}; - #endif - using boost::simd::tag::is_included_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_included} **/ - template - details::unspecified is_included(Args&&... args); - #endif - using boost::simd::is_included; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/is_included_c.hpp b/inst/include/nt2/reduction/functions/is_included_c.hpp deleted file mode 100644 index 07b6d58..0000000 --- a/inst/include/nt2/reduction/functions/is_included_c.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_included_c_} **/ - struct is_included_c_ {}; - #endif - using boost::simd::tag::is_included_c_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_included_c} **/ - template - details::unspecified is_included_c(Args&&... args); - #endif - using boost::simd::is_included_c; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/is_simd_logical.hpp b/inst/include/nt2/reduction/functions/is_simd_logical.hpp deleted file mode 100644 index 3597fa6..0000000 --- a/inst/include/nt2/reduction/functions/is_simd_logical.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::is_simd_logical_} **/ - struct is_simd_logical_ {}; - #endif - using boost::simd::tag::is_simd_logical_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::is_simd_logical} **/ - template - details::unspecified is_simd_logical(Args&&... args); - #endif - using boost::simd::is_simd_logical; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/maximum.hpp b/inst/include/nt2/reduction/functions/maximum.hpp deleted file mode 100644 index 5c77d00..0000000 --- a/inst/include/nt2/reduction/functions/maximum.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_MAXIMUM_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_MAXIMUM_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::maximum_} **/ - struct maximum_ {}; - #endif - using boost::simd::tag::maximum_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::maximum} **/ - template - details::unspecified maximum(Args&&... args); - #endif - using boost::simd::maximum; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/minimum.hpp b/inst/include/nt2/reduction/functions/minimum.hpp deleted file mode 100644 index 73aa35d..0000000 --- a/inst/include/nt2/reduction/functions/minimum.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_MINIMUM_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_MINIMUM_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::minimum_} **/ - struct minimum_ {}; - #endif - using boost::simd::tag::minimum_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::minimum} **/ - template - details::unspecified minimum(Args&&... args); - #endif - using boost::simd::minimum; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/nbtrue.hpp b/inst/include/nt2/reduction/functions/nbtrue.hpp deleted file mode 100644 index 27d6a9e..0000000 --- a/inst/include/nt2/reduction/functions/nbtrue.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_NBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_NBTRUE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::nbtrue_} **/ - struct nbtrue_ {}; - #endif - using boost::simd::tag::nbtrue_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::nbtrue} **/ - template - details::unspecified nbtrue(Args&&... args); - #endif - using boost::simd::nbtrue; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/none.hpp b/inst/include/nt2/reduction/functions/none.hpp deleted file mode 100644 index 3f99f91..0000000 --- a/inst/include/nt2/reduction/functions/none.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_NONE_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_NONE_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::none_} **/ - struct none_ {}; - #endif - using boost::simd::tag::none_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::none} **/ - template - details::unspecified none(Args&&... args); - #endif - using boost::simd::none; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/posmax.hpp b/inst/include/nt2/reduction/functions/posmax.hpp deleted file mode 100644 index 586e66e..0000000 --- a/inst/include/nt2/reduction/functions/posmax.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_POSMAX_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_POSMAX_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::posmax_} **/ - struct posmax_ {}; - #endif - using boost::simd::tag::posmax_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::posmax} **/ - template - details::unspecified posmax(Args&&... args); - #endif - using boost::simd::posmax; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/posmin.hpp b/inst/include/nt2/reduction/functions/posmin.hpp deleted file mode 100644 index 69e4233..0000000 --- a/inst/include/nt2/reduction/functions/posmin.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_POSMIN_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_POSMIN_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::posmin_} **/ - struct posmin_ {}; - #endif - using boost::simd::tag::posmin_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::posmin} **/ - template - details::unspecified posmin(Args&&... args); - #endif - using boost::simd::posmin; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/prod.hpp b/inst/include/nt2/reduction/functions/prod.hpp deleted file mode 100644 index 2969562..0000000 --- a/inst/include/nt2/reduction/functions/prod.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_PROD_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_PROD_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::prod_} **/ - struct prod_ {}; - #endif - using boost::simd::tag::prod_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::prod} **/ - template - details::unspecified prod(Args&&... args); - #endif - using boost::simd::prod; -} - -#endif diff --git a/inst/include/nt2/reduction/functions/scalar/dot.hpp b/inst/include/nt2/reduction/functions/scalar/dot.hpp deleted file mode 100644 index 3dbba60..0000000 --- a/inst/include/nt2/reduction/functions/scalar/dot.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace simd { namespace ext -{ - /// INTERNAL ONLY - BOOST_DISPATCH_IMPLEMENT ( dot_, tag::cpu_ - , (A0)(A1) - , (scalar_< floating_ >) - (scalar_< floating_ >) - (scalar_< integer_ > ) - ) - { - typedef typename boost::dispatch::meta::as_floating::type f_t; - typedef typename meta::as_real::type result_type; - - BOOST_FORCEINLINE - result_type operator()(A0 const& a, A0 const& b, A1 const &) const - { - return a*nt2::conj(b); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/reduction/functions/sum.hpp b/inst/include/nt2/reduction/functions/sum.hpp deleted file mode 100644 index a2fcbec..0000000 --- a/inst/include/nt2/reduction/functions/sum.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_REDUCTION_FUNCTIONS_SUM_HPP_INCLUDED -#define NT2_REDUCTION_FUNCTIONS_SUM_HPP_INCLUDED - -#include -#include - -/* Automatically generated for module core.base */ - -namespace nt2 -{ - namespace tag - { - #ifdef DOXYGEN_ONLY - /*! \brief Same as \classref{boost::simd::tag::sum_} **/ - struct sum_ {}; - #endif - using boost::simd::tag::sum_; - } - - #ifdef DOXYGEN_ONLY - /*! \brief Same as \funcref{boost::simd::sum} **/ - template - details::unspecified sum(Args&&... args); - #endif - using boost::simd::sum; -} - -#endif diff --git a/inst/include/nt2/reduction/include/functions/all.hpp b/inst/include/nt2/reduction/include/functions/all.hpp deleted file mode 100644 index 92c5879..0000000 --- a/inst/include/nt2/reduction/include/functions/all.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_ALL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_ALL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/any.hpp b/inst/include/nt2/reduction/include/functions/any.hpp deleted file mode 100644 index b238d96..0000000 --- a/inst/include/nt2/reduction/include/functions/any.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_ANY_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_ANY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/compare_equal.hpp b/inst/include/nt2/reduction/include/functions/compare_equal.hpp deleted file mode 100644 index c0d4a45..0000000 --- a/inst/include/nt2/reduction/include/functions/compare_equal.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/compare_greater.hpp b/inst/include/nt2/reduction/include/functions/compare_greater.hpp deleted file mode 100644 index a6eb02a..0000000 --- a/inst/include/nt2/reduction/include/functions/compare_greater.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_GREATER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/compare_greater_equal.hpp b/inst/include/nt2/reduction/include/functions/compare_greater_equal.hpp deleted file mode 100644 index 006c4be..0000000 --- a/inst/include/nt2/reduction/include/functions/compare_greater_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/compare_less.hpp b/inst/include/nt2/reduction/include/functions/compare_less.hpp deleted file mode 100644 index 0726b82..0000000 --- a/inst/include/nt2/reduction/include/functions/compare_less.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_LESS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/compare_less_equal.hpp b/inst/include/nt2/reduction/include/functions/compare_less_equal.hpp deleted file mode 100644 index e548c8a..0000000 --- a/inst/include/nt2/reduction/include/functions/compare_less_equal.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/compare_not_equal.hpp b/inst/include/nt2/reduction/include/functions/compare_not_equal.hpp deleted file mode 100644 index 84e49f7..0000000 --- a/inst/include/nt2/reduction/include/functions/compare_not_equal.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/dot.hpp b/inst/include/nt2/reduction/include/functions/dot.hpp deleted file mode 100644 index b40b880..0000000 --- a/inst/include/nt2/reduction/include/functions/dot.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_DOT_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_DOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/hmsb.hpp b/inst/include/nt2/reduction/include/functions/hmsb.hpp deleted file mode 100644 index f0f37c8..0000000 --- a/inst/include/nt2/reduction/include/functions/hmsb.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_HMSB_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_HMSB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/inbtrue.hpp b/inst/include/nt2/reduction/include/functions/inbtrue.hpp deleted file mode 100644 index 6da825f..0000000 --- a/inst/include/nt2/reduction/include/functions/inbtrue.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_INBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_INBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/is_included.hpp b/inst/include/nt2/reduction/include/functions/is_included.hpp deleted file mode 100644 index f74a6bc..0000000 --- a/inst/include/nt2/reduction/include/functions/is_included.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_IS_INCLUDED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/is_included_c.hpp b/inst/include/nt2/reduction/include/functions/is_included_c.hpp deleted file mode 100644 index d6853e0..0000000 --- a/inst/include/nt2/reduction/include/functions/is_included_c.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_IS_INCLUDED_C_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/is_simd_logical.hpp b/inst/include/nt2/reduction/include/functions/is_simd_logical.hpp deleted file mode 100644 index 86169af..0000000 --- a/inst/include/nt2/reduction/include/functions/is_simd_logical.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/maximum.hpp b/inst/include/nt2/reduction/include/functions/maximum.hpp deleted file mode 100644 index d4669f2..0000000 --- a/inst/include/nt2/reduction/include/functions/maximum.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_MAXIMUM_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_MAXIMUM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/minimum.hpp b/inst/include/nt2/reduction/include/functions/minimum.hpp deleted file mode 100644 index ffd3411..0000000 --- a/inst/include/nt2/reduction/include/functions/minimum.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_MINIMUM_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_MINIMUM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/nbtrue.hpp b/inst/include/nt2/reduction/include/functions/nbtrue.hpp deleted file mode 100644 index 99c15c8..0000000 --- a/inst/include/nt2/reduction/include/functions/nbtrue.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_NBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_NBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/none.hpp b/inst/include/nt2/reduction/include/functions/none.hpp deleted file mode 100644 index 50ae817..0000000 --- a/inst/include/nt2/reduction/include/functions/none.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_NONE_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_NONE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/posmax.hpp b/inst/include/nt2/reduction/include/functions/posmax.hpp deleted file mode 100644 index 352510e..0000000 --- a/inst/include/nt2/reduction/include/functions/posmax.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_POSMAX_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_POSMAX_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/posmin.hpp b/inst/include/nt2/reduction/include/functions/posmin.hpp deleted file mode 100644 index d5d4271..0000000 --- a/inst/include/nt2/reduction/include/functions/posmin.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_POSMIN_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_POSMIN_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/prod.hpp b/inst/include/nt2/reduction/include/functions/prod.hpp deleted file mode 100644 index b28e56f..0000000 --- a/inst/include/nt2/reduction/include/functions/prod.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_PROD_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_PROD_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/all.hpp b/inst/include/nt2/reduction/include/functions/scalar/all.hpp deleted file mode 100644 index 69bd795..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/all.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_ALL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_ALL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/any.hpp b/inst/include/nt2/reduction/include/functions/scalar/any.hpp deleted file mode 100644 index e457294..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/any.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_ANY_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_ANY_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/compare_equal.hpp b/inst/include/nt2/reduction/include/functions/scalar/compare_equal.hpp deleted file mode 100644 index 8125d64..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/compare_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/compare_greater.hpp b/inst/include/nt2/reduction/include/functions/scalar/compare_greater.hpp deleted file mode 100644 index 390b5fe..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/compare_greater.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/compare_greater_equal.hpp b/inst/include/nt2/reduction/include/functions/scalar/compare_greater_equal.hpp deleted file mode 100644 index c54b60f..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/compare_greater_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/compare_less.hpp b/inst/include/nt2/reduction/include/functions/scalar/compare_less.hpp deleted file mode 100644 index 8f50878..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/compare_less.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/compare_less_equal.hpp b/inst/include/nt2/reduction/include/functions/scalar/compare_less_equal.hpp deleted file mode 100644 index 69ec003..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/compare_less_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/compare_not_equal.hpp b/inst/include/nt2/reduction/include/functions/scalar/compare_not_equal.hpp deleted file mode 100644 index 6e4bc60..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/compare_not_equal.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/dot.hpp b/inst/include/nt2/reduction/include/functions/scalar/dot.hpp deleted file mode 100644 index 48db50e..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/dot.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_DOT_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/hmsb.hpp b/inst/include/nt2/reduction/include/functions/scalar/hmsb.hpp deleted file mode 100644 index 16cda43..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/hmsb.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_HMSB_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_HMSB_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/inbtrue.hpp b/inst/include/nt2/reduction/include/functions/scalar/inbtrue.hpp deleted file mode 100644 index 480b055..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/inbtrue.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_INBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_INBTRUE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/is_included.hpp b/inst/include/nt2/reduction/include/functions/scalar/is_included.hpp deleted file mode 100644 index 12a1634..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/is_included.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/is_included_c.hpp b/inst/include/nt2/reduction/include/functions/scalar/is_included_c.hpp deleted file mode 100644 index c808849..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/is_included_c.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_C_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_INCLUDED_C_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/is_simd_logical.hpp b/inst/include/nt2/reduction/include/functions/scalar/is_simd_logical.hpp deleted file mode 100644 index 1799975..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/is_simd_logical.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_SIMD_LOGICAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/maximum.hpp b/inst/include/nt2/reduction/include/functions/scalar/maximum.hpp deleted file mode 100644 index ed7013a..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/maximum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_MAXIMUM_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_MAXIMUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/minimum.hpp b/inst/include/nt2/reduction/include/functions/scalar/minimum.hpp deleted file mode 100644 index a5f206a..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/minimum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_MINIMUM_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_MINIMUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/nbtrue.hpp b/inst/include/nt2/reduction/include/functions/scalar/nbtrue.hpp deleted file mode 100644 index 8dcbfc5..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/nbtrue.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_NBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_NBTRUE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/none.hpp b/inst/include/nt2/reduction/include/functions/scalar/none.hpp deleted file mode 100644 index 02deb54..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/none.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_NONE_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_NONE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/posmax.hpp b/inst/include/nt2/reduction/include/functions/scalar/posmax.hpp deleted file mode 100644 index b1f63a7..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/posmax.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_POSMAX_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_POSMAX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/posmin.hpp b/inst/include/nt2/reduction/include/functions/scalar/posmin.hpp deleted file mode 100644 index f136a7a..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/posmin.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_POSMIN_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_POSMIN_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/prod.hpp b/inst/include/nt2/reduction/include/functions/scalar/prod.hpp deleted file mode 100644 index 06c6d89..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/prod.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_PROD_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_PROD_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/scalar/sum.hpp b/inst/include/nt2/reduction/include/functions/scalar/sum.hpp deleted file mode 100644 index 0d41682..0000000 --- a/inst/include/nt2/reduction/include/functions/scalar/sum.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_SUM_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SCALAR_SUM_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/all.hpp b/inst/include/nt2/reduction/include/functions/simd/all.hpp deleted file mode 100644 index dbc989d..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/all.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_ALL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_ALL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/any.hpp b/inst/include/nt2/reduction/include/functions/simd/any.hpp deleted file mode 100644 index 25b824a..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/any.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_ANY_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_ANY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/compare_equal.hpp b/inst/include/nt2/reduction/include/functions/simd/compare_equal.hpp deleted file mode 100644 index a300d8b..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/compare_equal.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/compare_greater.hpp b/inst/include/nt2/reduction/include/functions/simd/compare_greater.hpp deleted file mode 100644 index 34eb164..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/compare_greater.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/compare_greater_equal.hpp b/inst/include/nt2/reduction/include/functions/simd/compare_greater_equal.hpp deleted file mode 100644 index e0f1d7a..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/compare_greater_equal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_GREATER_EQUAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/compare_less.hpp b/inst/include/nt2/reduction/include/functions/simd/compare_less.hpp deleted file mode 100644 index 049b830..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/compare_less.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/compare_less_equal.hpp b/inst/include/nt2/reduction/include/functions/simd/compare_less_equal.hpp deleted file mode 100644 index e36fce1..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/compare_less_equal.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_LESS_EQUAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/compare_not_equal.hpp b/inst/include/nt2/reduction/include/functions/simd/compare_not_equal.hpp deleted file mode 100644 index f1d4a67..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/compare_not_equal.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_NOT_EQUAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_COMPARE_NOT_EQUAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/dot.hpp b/inst/include/nt2/reduction/include/functions/simd/dot.hpp deleted file mode 100644 index d19f16a..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/dot.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_DOT_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_DOT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/hmsb.hpp b/inst/include/nt2/reduction/include/functions/simd/hmsb.hpp deleted file mode 100644 index e858c94..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/hmsb.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_HMSB_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_HMSB_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/inbtrue.hpp b/inst/include/nt2/reduction/include/functions/simd/inbtrue.hpp deleted file mode 100644 index 897b5d5..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/inbtrue.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_INBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_INBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/is_included.hpp b/inst/include/nt2/reduction/include/functions/simd/is_included.hpp deleted file mode 100644 index 853dff8..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/is_included.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/is_included_c.hpp b/inst/include/nt2/reduction/include/functions/simd/is_included_c.hpp deleted file mode 100644 index c641845..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/is_included_c.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_C_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_INCLUDED_C_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/is_simd_logical.hpp b/inst/include/nt2/reduction/include/functions/simd/is_simd_logical.hpp deleted file mode 100644 index a7eb7f6..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/is_simd_logical.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_SIMD_LOGICAL_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_IS_SIMD_LOGICAL_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/maximum.hpp b/inst/include/nt2/reduction/include/functions/simd/maximum.hpp deleted file mode 100644 index 314c12d..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/maximum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_MAXIMUM_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_MAXIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/minimum.hpp b/inst/include/nt2/reduction/include/functions/simd/minimum.hpp deleted file mode 100644 index 391d45a..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/minimum.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_MINIMUM_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_MINIMUM_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/nbtrue.hpp b/inst/include/nt2/reduction/include/functions/simd/nbtrue.hpp deleted file mode 100644 index b95cfa5..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/nbtrue.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_NBTRUE_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_NBTRUE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/none.hpp b/inst/include/nt2/reduction/include/functions/simd/none.hpp deleted file mode 100644 index 28b303b..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/none.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_NONE_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_NONE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/posmax.hpp b/inst/include/nt2/reduction/include/functions/simd/posmax.hpp deleted file mode 100644 index 4e793b4..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/posmax.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_POSMAX_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_POSMAX_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/posmin.hpp b/inst/include/nt2/reduction/include/functions/simd/posmin.hpp deleted file mode 100644 index 7da1631..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/posmin.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_POSMIN_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_POSMIN_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/prod.hpp b/inst/include/nt2/reduction/include/functions/simd/prod.hpp deleted file mode 100644 index 95c271d..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/prod.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_PROD_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_PROD_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/simd/sum.hpp b/inst/include/nt2/reduction/include/functions/simd/sum.hpp deleted file mode 100644 index a5a895d..0000000 --- a/inst/include/nt2/reduction/include/functions/simd/sum.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_SUM_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SIMD_SUM_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/include/functions/sum.hpp b/inst/include/nt2/reduction/include/functions/sum.hpp deleted file mode 100644 index 7ff2b8f..0000000 --- a/inst/include/nt2/reduction/include/functions/sum.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef NT2_REDUCTION_INCLUDE_FUNCTIONS_SUM_HPP_INCLUDED -#define NT2_REDUCTION_INCLUDE_FUNCTIONS_SUM_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/inst/include/nt2/reduction/reduction.hpp b/inst/include/nt2/reduction/reduction.hpp deleted file mode 100644 index 8f73c70..0000000 --- a/inst/include/nt2/reduction/reduction.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef NT2_REDUCTION_REDUCTION_HPP_INCLUDED -#define NT2_REDUCTION_REDUCTION_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/sdk/bench/args.hpp b/inst/include/nt2/sdk/bench/args.hpp deleted file mode 100644 index 27c4161..0000000 --- a/inst/include/nt2/sdk/bench/args.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_ARGS_HPP_INCLUDED -#define NT2_SDK_BENCH_ARGS_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace bench - { - using ::nt2::unit::args; - } -} - -#endif diff --git a/inst/include/nt2/sdk/bench/benchmark.hpp b/inst/include/nt2/sdk/bench/benchmark.hpp deleted file mode 100644 index e11a550..0000000 --- a/inst/include/nt2/sdk/bench/benchmark.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_BENCHMARK_HPP_INCLUDED -#define NT2_SDK_BENCH_BENCHMARK_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#define NT2_UNIT_MAIN_SUITE nt2::details::benchmarks - -#include -#include -#include - -/* - Note: We use the factorized TEST_BASE_* macro but without any suffix so the - display and the speedup identification works without any changes -*/ - -/*! - @brief Single benchmark registration - - Create and register a function as a benchmark by creating all the needed - boilerplate code around the body of the benchmark function itself. - - @param Name Experiment type used in this benchmark -**/ -#define NT2_REGISTER_BENCHMARK(Name) \ -NT2_TEST_BASE_CASE(Name,nt2::details::bench,nt2::details::benchmarks,) \ -/**/ - -/*! - @brief Template benchmarks registration - - Create and register a template function as benchmarks by creating all the - needed boilerplate code around the body of the benchmark function itself so - that every instantiation of said function for a type inside the preprocessor - sequence TYPES is run independently. - - @param Name Experiment type used in this benchmark - @param Types Preprocessor sequence of type to pass to the benchmark function -**/ -#define NT2_REGISTER_BENCHMARK_TPL(Name, Types) \ -NT2_TEST_BASE_CASE_TPL( Name, Types \ - , nt2::details::bench \ - , nt2::details::benchmarks \ - , \ - ) \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/bench/config.hpp b/inst/include/nt2/sdk/bench/config.hpp deleted file mode 100644 index f42950f..0000000 --- a/inst/include/nt2/sdk/bench/config.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_CONFIG_HPP_INCLUDED -#define NT2_SDK_BENCH_CONFIG_HPP_INCLUDED - -#include - -#ifdef NT2_TEST_BENCHMARK_DYN_LINK -# ifdef NT2_TEST_BENCHMARK_SOURCE -# define NT2_TEST_BENCHMARK_DECL BOOST_SYMBOL_EXPORT -# else -# define NT2_TEST_BENCHMARK_DECL BOOST_SYMBOL_IMPORT -# endif -#else - -/// @brief Macro for exporting benchmark public interface -#define NT2_TEST_BENCHMARK_DECL - -#endif - -#endif diff --git a/inst/include/nt2/sdk/bench/details/bench.hpp b/inst/include/nt2/sdk/bench/details/bench.hpp deleted file mode 100644 index aaa9895..0000000 --- a/inst/include/nt2/sdk/bench/details/bench.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_DETAILS_BENCH_HPP_INCLUDED -#define NT2_SDK_BENCH_DETAILS_BENCH_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - struct test_suite; - - struct BOOST_SYMBOL_VISIBLE bench : public unit_test - { - typedef void (*ptr_fun_t)(); - - NT2_TEST_BENCHMARK_DECL - bench (test_suite const* s = 0, ptr_fun_t c = 0, const char* n = 0); - - virtual NT2_TEST_BENCHMARK_DECL ~bench(); - NT2_TEST_BENCHMARK_DECL virtual void process() const; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/details/compute_stat.hpp b/inst/include/nt2/sdk/bench/details/compute_stat.hpp deleted file mode 100644 index 6ed4cf8..0000000 --- a/inst/include/nt2/sdk/bench/details/compute_stat.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_DETAILS_COMPUTE_STAT_HPP_INCLUDED -#define NT2_SDK_BENCH_DETAILS_COMPUTE_STAT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - // Divisive metrics need to swap min and max for computation to be sensible - template struct compute_state - { - typedef S type; - }; - - template<> struct compute_state - { - typedef nt2::bench::stats::max_ type; - }; - - template<> struct compute_state - { - typedef nt2::bench::stats::min_ type; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/details/display_metric.hpp b/inst/include/nt2/sdk/bench/details/display_metric.hpp deleted file mode 100644 index 04447a1..0000000 --- a/inst/include/nt2/sdk/bench/details/display_metric.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_DETAILS_DISPLAY_METRIC_HPP_INCLUDED -#define NT2_SDK_BENCH_DETAILS_DISPLAY_METRIC_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - extern NT2_TEST_BENCHMARK_DECL std::string current_benchmark; - - /* - display_metric is a callable object usable with fusion::for_each - to compute metrics and to display their results - */ - template - struct display_metric - { - display_metric( Experiment const& xp - , details::times_set const& t - , details::cycles_set const& c - ) - : experiment_(xp), times_(t), cycles_(c) - {} - - template inline void operator()(T& t) const - { - std::cout << current_benchmark<< '\t' << experiment_ << '\t' - << t(experiment_,nt2::type_id(experiment_),times_,cycles_) - << '\t' << t.unit() - << '\t' << boost::accumulators::count(times_) - << std::endl; - } - - Experiment const& experiment_; - details::times_set const& times_; - details::cycles_set const& cycles_; - - private: - display_metric& operator=(display_metric const&); - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/details/measure.hpp b/inst/include/nt2/sdk/bench/details/measure.hpp deleted file mode 100644 index efc53b7..0000000 --- a/inst/include/nt2/sdk/bench/details/measure.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_DETAILS_MEASURE_HPP_INCLUDED -#define NT2_SDK_BENCH_DETAILS_MEASURE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - // Type of accumulator used by all benchmarks - typedef boost::accumulators::stats< boost::accumulators::tag::mean - , boost::accumulators::tag::median - , boost::accumulators::tag::min - , boost::accumulators::tag::max - , boost::accumulators::tag::count - > stats_t; - - // accumulator for microseconds - typedef boost::accumulators::accumulator_set times_set; - - // accumulator for CPU cycles - typedef boost::accumulators::accumulator_set cycles_set; - - - // Compute an unique string referring to a proper Experiment result - template - inline std::string identify_result( std::string const& name - , Experiment const& e - , Stat const& s - ) - { - std::ostringstream str; - str << name << e.size() << s.unit(); - return str.str(); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/details/process_functor.hpp b/inst/include/nt2/sdk/bench/details/process_functor.hpp deleted file mode 100644 index 78421c8..0000000 --- a/inst/include/nt2/sdk/bench/details/process_functor.hpp +++ /dev/null @@ -1,147 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// Copyright 2012 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NM4_SDK_BENCH_WORKBENCH_PROCESS_FUCNTOR_HPP_INCLUDED -#define NM4_SDK_BENCH_WORKBENCH_PROCESS_FUCNTOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - /* - process_functor is an Experiment used to bench arbitrary functor - */ - template< typename Function, std::size_t Arity - , typename Arg0 , typename Arg1 = void, typename Arg2 = void - , typename Arg3 = void, typename Arg4 = void, typename Arg5 = void - > - struct process_functor; - - #define BOOST_PP_ITERATION_PARAMS_1 (3,(1,6,"nt2/sdk/bench/details/process_functor.hpp")) - #include BOOST_PP_ITERATE() - - template< typename Function, std::size_t Arity - , typename Arg0, typename Arg1, typename Arg2 - , typename Arg3, typename Arg4, typename Arg5 - > - std::ostream& operator<<( std::ostream& os - , process_functor < Function,Arity - , Arg0, Arg1, Arg2, Arg3, Arg4, Arg5 - > const& p - ) - { - return os << "(" << p.size() << ")"; - } -} } - -#endif - -#else - - #define N BOOST_PP_ITERATION() - - #define M0(z,n,t) \ - typedef typename boost::dispatch::meta::scalar_of::type type_##n; \ - typedef boost::simd::allocator alloc_##n; \ - /**/ - - #define M1(z,n,t) \ - (boost::simd::meta::cardinal_of::value != 1) \ - ? boost::simd::meta::cardinal_of::value \ - : \ - /**/ - - #define M2(z,n,t) in##n(size_) - - #define M3(z,n,t) nt2::roll ( in##n \ - , boost::fusion::at_c(args).first \ - , boost::fusion::at_c(args).second \ - ); \ - /**/ \ - - #define M4(z,n,t) nt2::aligned_load(&in##n[i]) - #define M5(z,n,t) std::vector in##n; - - template< typename Function,BOOST_PP_ENUM_PARAMS(N,typename Arg)> - struct process_functor - { - typedef void experiment_is_immutable; - - // Computes scalar version of Args so we know what to store in in_i - BOOST_PP_REPEAT(N,M0,~) - - // Result type - typedef typename boost::dispatch::meta:: - strip< typename boost::dispatch::meta:: - result_of::type - >::type out_t; - typedef boost::simd::allocator alloc_out; - - // How many stuff to process - static const std::size_t card = BOOST_PP_REPEAT(N, M1, ~) 1; - - template - process_functor ( Args const& args ) - : size_(boost::fusion::at_c<0>(args)) - , result_(size_/card) - , BOOST_PP_ENUM(N,M2,~) - { - BOOST_PP_REPEAT(N,M3,~) - } - - void operator()() - { - for(std::size_t i=0, j=0;i const& p - ) - { - return os << p.size_; - } - - private: - Function f_; - std::size_t size_; - std::vector result_; - BOOST_PP_REPEAT(N,M5,~) - }; - - #undef N - #undef M0 - #undef M1 - #undef M2 - #undef M3 - #undef M4 - #undef M5 - -#endif diff --git a/inst/include/nt2/sdk/bench/experiment.hpp b/inst/include/nt2/sdk/bench/experiment.hpp deleted file mode 100644 index 4e550c6..0000000 --- a/inst/include/nt2/sdk/bench/experiment.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_EXPERIMENT_HPP_INCLUDED -#define NT2_SDK_BENCH_EXPERIMENT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace bench -{ - /*! - - **/ - struct experiment - { - void operator()() {} - std::size_t size() const { return 1u; } - }; - - /*! - - **/ - std::ostream& operator<<(std::ostream& os, experiment const&) - { - return os << "n/a"; - } -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/metric/absolute_time.hpp b/inst/include/nt2/sdk/bench/metric/absolute_time.hpp deleted file mode 100644 index a3c3218..0000000 --- a/inst/include/nt2/sdk/bench/metric/absolute_time.hpp +++ /dev/null @@ -1,49 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_METRIC_ABSOLUTE_TIME_HPP_INCLUDED -#define NT2_SDK_BENCH_METRIC_ABSOLUTE_TIME_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace bench -{ - /*! - @brief Absolute time metric - - This metric extract time based informations from a - set of timing samples and return a measure in second. - - @tparam Stat Statistic to compute over the provided samples - **/ - template struct absolute_time - { - /// @brief Evaluation of the metric in second - template inline - double operator() ( Experiment const& e - , std::string const& name - , details::times_set const& t - , details::cycles_set const& - ) const - { - double m = Stat::evaluate(t) * 1e-6; - details::measures_map[details::identify_result(name,e,*this)] = m; - return m; - } - - /// @brief Metric display - inline std::string unit() const - { - return "s." + Stat::unit(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/metric/cycles_per_element.hpp b/inst/include/nt2/sdk/bench/metric/cycles_per_element.hpp deleted file mode 100644 index 0d10aa4..0000000 --- a/inst/include/nt2/sdk/bench/metric/cycles_per_element.hpp +++ /dev/null @@ -1,60 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_METRIC_CYCLES_PER_ELEMENT_HPP_INCLUDED -#define NT2_SDK_BENCH_METRIC_CYCLES_PER_ELEMENT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace bench -{ - /*! - @brief CPU cycles metric - - This metric extract cycles based informations from a - set of timing samples and return a measure in CPU cycles. - - If no external CPU frequency is provided, cycles_per_element will use - the direct cycle counter readings for its evaluation. Otherwise, a cycle - count will be estimated using timing and frequency. In this case, the amount - of real time spent in each sample must be large enough so that the cycle - count estimation is numerically valid. - - @tparam Stat Statistic to compute over the provided samples - **/ - template struct cycles_per_element - { - /// @brief Evaluation of the metric in CPU cycles - template inline - double operator() ( Experiment const& e - , std::string const& name - , details::times_set const& t - , details::cycles_set const& c - ) const - { - double freq = args("frequency",-1); - - double m = (freq == -1) ? Stat::evaluate(c)/e.size() - : (Stat::evaluate(t)*freq)/(e.size()*1e6); - - details::measures_map[details::identify_result(name,e,*this)] = m; - return m; - } - - /// @brief Metric display - inline std::string unit() const - { - return "cpe" + Stat::unit(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/metric/fps.hpp b/inst/include/nt2/sdk/bench/metric/fps.hpp deleted file mode 100644 index fa3a29a..0000000 --- a/inst/include/nt2/sdk/bench/metric/fps.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_METRIC_FPS_HPP_INCLUDED -#define NT2_SDK_BENCH_METRIC_FPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace bench -{ - /*! - @brief Frames per second metric - - This metric calculates the FPS of a benchmark. - - @tparam Stat Statistic to compute over the provided samples - **/ - template struct fps - { - /// @brief Evaluation of the metric in GFLOPS - template inline - double operator() ( Experiment const& e - , std::string const& name - , nt2::details::times_set const& t - , nt2::details::cycles_set const& - ) const - { - typedef typename details::compute_state::type sc_t; - - double m = e.frame_count() / (sc_t::evaluate(t) * 1e-6); - details::measures_map[details::identify_result(name,e,*this)] = m; - - return m; - } - - /// @brief Metric display - inline std::string unit() const - { - return "Frames/s" + Stat::unit(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/metric/gb_per_second.hpp b/inst/include/nt2/sdk/bench/metric/gb_per_second.hpp deleted file mode 100644 index 244e4e7..0000000 --- a/inst/include/nt2/sdk/bench/metric/gb_per_second.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_METRIC_GB_PER_SECOND_HPP_INCLUDED -#define NT2_SDK_BENCH_METRIC_GB_PER_SECOND_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace bench -{ - /*! - @brief Gigabytes per second metric - - This metric extracts bandwidth based information from a - set of timing samples and returns a measure in Gb/s. - - @tparam Stat Statistic to compute over the provided samples - **/ - template struct gb_per_second - { - /*! - Construct a gb_per_second metric object by specifying the amount of - data movement per byte processed. - - @param t Number of memory transfer per bytes - **/ - gb_per_second(std::size_t t = 1) : transfer_(t) {} - - /// @brief Evaluation of the metric in Gb/s - template inline - double operator() ( Experiment const& e - , std::string const& name - , nt2::details::times_set const& t - , nt2::details::cycles_set const& - ) const - { - typedef typename details::compute_state::type sc_t; - double gb = static_cast(1L<<30); - double m = (e.size()*transfer_ / (sc_t::evaluate(t) * 1e-6 ))/gb; - details::measures_map[details::identify_result(name,e,*this)] = m; - return m; - } - - /// @brief Metric display - inline std::string unit() const - { - return "GB/s" + Stat::unit(); - } - - private: - std::size_t transfer_; - }; -} } - -#endif - - diff --git a/inst/include/nt2/sdk/bench/metric/gflops.hpp b/inst/include/nt2/sdk/bench/metric/gflops.hpp deleted file mode 100644 index b4ccabd..0000000 --- a/inst/include/nt2/sdk/bench/metric/gflops.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_METRIC_GFLOPS_HPP_INCLUDED -#define NT2_SDK_BENCH_METRIC_GFLOPS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace bench -{ - /*! - @brief GFLOPS per second metric - - This metric calculates the GFLOPS of a benchmark. - - @tparam Stat Statistic to compute over the provided samples - **/ - template struct gflops - { - /// @brief Evaluation of the metric in GFLOPS - template inline - double operator() ( Experiment const& e - , std::string const& name - , nt2::details::times_set const& - , nt2::details::cycles_set const& c - ) const - { - unsigned long freq = get_cpu_freq(); - double m = ( e.flops() * (double)freq / (Stat::evaluate(c) * 1000000000. )); - details::measures_map[details::identify_result(name,e,*this)] = m; - return m; - } - - /// @brief Metric display - inline std::string unit() const - { - return "GFLOPS" + Stat::unit(); - } - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/metric/speedup.hpp b/inst/include/nt2/sdk/bench/metric/speedup.hpp deleted file mode 100644 index 2395c18..0000000 --- a/inst/include/nt2/sdk/bench/metric/speedup.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_METRIC_SPEEDUP_HPP_INCLUDED -#define NT2_SDK_BENCH_METRIC_SPEEDUP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - // This string to string map contains unabridged results for each benchmarks. - extern NT2_TEST_BENCHMARK_DECL std::map measures_map; -} } - -namespace nt2 { namespace bench -{ - /*! - @brief Relative speed-up metric - - This metric computes the speed-up between the current experiment results - and a reference experiment results referenced by its registered name and - the Metric passed as a template parameter. - - @tparam Experiment Reference experiment to compare to - @tparam Metric Reference metric to retrieve - **/ - template - struct speedup - { - /// @brief Default constructor - speedup () : exp_id( nt2::type_id() ) {} - - /// @brief Evaluation of the metric in CPU cycles - template inline - double operator() ( XP const& e - , std::string const& name - , details::times_set const&, details::cycles_set const& - ) const - { - double o = details::measures_map[details::identify_result(exp_id,e,stat_)]; - double n = details::measures_map[details::identify_result(name,e,stat_)]; - - return o/n; - } - - /// @brief Metric display - inline std::string unit() const - { - return "x faster than " + exp_id + " " + stat_.unit(); - } - - private: - std::string exp_id; - Metric stat_; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/protocol.hpp b/inst/include/nt2/sdk/bench/protocol.hpp deleted file mode 100644 index 07fe8f1..0000000 --- a/inst/include/nt2/sdk/bench/protocol.hpp +++ /dev/null @@ -1,87 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_PROTOCOL_HPP_INCLUDED -#define NT2_SDK_BENCH_PROTOCOL_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - template - struct experiment_copy - { - typedef Experiment type; - }; - - template - struct experiment_copy - { - typedef Experiment& type; - }; -} } - -namespace nt2 { namespace bench -{ - /*! - - **/ - template - struct protocol - { - typedef boost::fusion::vector metrics_type; - - protocol() {} - protocol(Metrics const&... m) : metrics_(m...) {} - - template - inline time_quantum_t run ( Experiment& e - , details::times_set& t - , details::cycles_set& c - ) const - { - // We copy reference experiment depending on whether they have - // experiment_is_immutable or not - typename details::experiment_copy::type local(e); - - time_quantum_t const time_start ( time_quantum() ); - cycles_t const cycles_start( read_cycles() ); - - local(); - - cycles_t const cycles_end( read_cycles() ); - time_quantum_t const time_end ( time_quantum() ); - - cycles_t const burned_cycles( cycles_end - cycles_start ); - time_quantum_t const elapsed_time ( time_end - time_start ); - - t(to_microseconds(elapsed_time)); - c(burned_cycles); - - return elapsed_time; - } - - template - inline void display ( Experiment& e - , details::times_set& t, details::cycles_set& c - ) const - { - boost::fusion::for_each ( metrics_ - , details::display_metric(e,t,c) - ); - } - - protected: - metrics_type metrics_; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/protocol/max_duration.hpp b/inst/include/nt2/sdk/bench/protocol/max_duration.hpp deleted file mode 100644 index 1c6db59..0000000 --- a/inst/include/nt2/sdk/bench/protocol/max_duration.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_PROTOCOL_MAX_DURATION_HPP_INCLUDED -#define NT2_SDK_BENCH_PROTOCOL_MAX_DURATION_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace bench -{ - /*! - - **/ - template< typename Experiment, typename... Metrics> - struct max_duration : protocol - { - typedef protocol parent; - - max_duration( double d, Metrics const&... m ) - : parent(m...), duration_(d) - {} - - inline void run() { run(fixed(0)); } - - template inline void run(Workbench w) - { - time_quantum_t const total_duration( to_timequantums(duration_*1000000) ); - - do - { - time_quantum_t duration(0); - details::times_set times_; - details::cycles_set cycles_; - - Experiment e(w()); - - do - { - duration += parent::run(e,times_,cycles_); - } while( duration < total_duration ); - - parent::display(e,times_,cycles_); - w.step(); - - } while(!w.done()); - } - - private: - double duration_; - }; - - /*! - - **/ - template< typename Experiment, typename... Metrics> - void run_during ( double duration, Metrics const&... m) - { - max_duration that(duration,m...); - that.run(); - } - - /*! - - **/ - template< typename Experiment, typename Workbench, typename... Metrics> - void run_during_with(double duration, Workbench const& w, Metrics const&... m) - { - max_duration that(duration,m...); - that.run(w); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/protocol/max_iteration.hpp b/inst/include/nt2/sdk/bench/protocol/max_iteration.hpp deleted file mode 100644 index ba95da0..0000000 --- a/inst/include/nt2/sdk/bench/protocol/max_iteration.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_PROTOCOL_MAX_ITERATION_HPP_INCLUDED -#define NT2_SDK_BENCH_PROTOCOL_MAX_ITERATION_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace bench -{ - /*! - - **/ - template< typename Experiment, typename... Metrics> - struct max_iteration : protocol - { - typedef protocol parent; - - max_iteration( std::size_t i, Metrics const&... m ) - : parent(m...), iteration_(i) - {} - - inline void run() { run(fixed(0)); } - - template inline void run(Workbench w) - { - do - { - details::times_set times_; - details::cycles_set cycles_; - - Experiment e(w()); - - for(std::size_t i=0;i - void run_over( std::size_t iteration, Metrics const&... m) - { - max_iteration that(iteration,m...); - that.run(); - } - - /*! - - **/ - template< typename Experiment, typename Workbench, typename... Metrics> - void run_over_with(std::size_t iteration, Workbench const& w, Metrics const&... m) - { - max_iteration that(iteration,m...); - that.run(w); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/protocol/until.hpp b/inst/include/nt2/sdk/bench/protocol/until.hpp deleted file mode 100644 index 7289bd4..0000000 --- a/inst/include/nt2/sdk/bench/protocol/until.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_PROTOCOL_UNTIL_HPP_INCLUDED -#define NT2_SDK_BENCH_PROTOCOL_UNTIL_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace bench -{ - template - struct until_ : protocol - { - typedef protocol parent; - - until_( double d, std::size_t i, Metrics const&... m ) - : parent(m...), duration_(d), iteration_(i) - {} - - inline void run() { run(fixed(0)); } - - template inline void run(Workbench w) - { - time_quantum_t const total_duration( to_timequantums(duration_*1000000) ); - - do - { - std::size_t iter(0); - time_quantum_t duration(0); - details::times_set times_; - details::cycles_set cycles_; - - Experiment e(w()); - - do - { - duration += parent::run(e,times_,cycles_); - iter++; - } while( duration < total_duration && iter < iteration_ ); - - parent::display(e,times_,cycles_); - w.step(); - - } while(!w.done()); - } - - private: - double duration_; - std::size_t iteration_; - }; - - /*! - - **/ - template< typename Experiment, typename... Metrics> - void run_until(double duration, std::size_t iteration, Metrics const&... m) - { - until_ that(duration, iteration, m...); - that.run(); - } - - /*! - - **/ - template< typename Experiment, typename Workbench, typename... Metrics> - void run_until_with ( double duration, std::size_t iteration - , Workbench const& w, Metrics const&... m - ) - { - until_ that(duration, iteration, m...); - that.run(w); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/setup/arithmetic.hpp b/inst/include/nt2/sdk/bench/setup/arithmetic.hpp deleted file mode 100644 index 82ba7e2..0000000 --- a/inst/include/nt2/sdk/bench/setup/arithmetic.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_SETUP_ARITHMETIC_HPP_INCLUDED -#define NT2_SDK_BENCH_SETUP_ARITHMETIC_HPP_INCLUDED - -namespace nt2 { namespace bench -{ - /*! - @brief Arithmetic progression setup - - arithmetic is a function object suitable for initializing experiment - with a real value following an arithmetic progression of step @c s - between @c mn and @c mx. - **/ - struct arithmetic - { - /* - Initialize an arithmetic progression. - - @param mn Starting value of the progression - @param mx Terminal value of the progression - @param s Step of the progression - */ - arithmetic(double mn, double mx, double s = 1) - : step_(s), min_(mn), max_(mx) - {} - - /// @brief Type returned by a call to arithmetic - typedef double result_type; - - /// @brief Current value of the progression - inline result_type operator()() const { return min_; } - - /// @brief Update progression state - inline void step() { min_ += step_; } - - /// @brief Status of the progression - inline bool done() const { return min_ > max_; } - - private: - double step_, min_, max_; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/setup/combination.hpp b/inst/include/nt2/sdk/bench/setup/combination.hpp deleted file mode 100644 index 87e5d76..0000000 --- a/inst/include/nt2/sdk/bench/setup/combination.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_SETUP_COMBINATION_HPP_INCLUDED -#define NT2_SDK_BENCH_SETUP_COMBINATION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace bench -{ - /*! - @brief Setup combinator - - Gather a variable amount of Setup into a single conglomerate that returns - a Fusion Sequence of each of its components step when required, update - their state synchronously and is defined as done as soon as one of its - component is done. - - @tparam Data Types of Setup used in the combination - **/ - template - struct combination_ - { - typedef boost::fusion::vector data_type; - - struct do_value - { - template struct result; - - template - struct result - { - typedef typename boost::dispatch::meta - ::strip::type::result_type type; - }; - - template - BOOST_FORCEINLINE - typename result::type operator()(T& t) const - { - return t(); - } - }; - - typedef decltype ( boost::fusion:: - transform(std::declval(),do_value()) - ) result_type; - - BOOST_FORCEINLINE combination_ ( Data const&... d) : steps_(d...) {} - - BOOST_FORCEINLINE result_type operator()() const - { - return boost::fusion::transform(steps_,do_value()); - } - - struct do_step - { - template - BOOST_FORCEINLINE void operator()(T& t) const { t.step(); } - }; - - BOOST_FORCEINLINE void step() - { - boost::fusion::for_each(steps_, do_step()); - } - - struct do_done - { - typedef bool result_type; - - template - BOOST_FORCEINLINE bool operator()(bool s, const T& t) const - { - return s || t.done(); - } - }; - - BOOST_FORCEINLINE bool done() const - { - return boost::fusion::fold(steps_,false, do_done()); - } - - data_type steps_; - }; - - /*! - @brief Combination setup generator - - Generate a combination setup object from a set of other Setups. - - @param d Setups to agglomerate - - @return a combination_ object containing copies of d - **/ - template - BOOST_FORCEINLINE combination_ and_(Data const&... a) - { - return combination_(a...); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/setup/constant.hpp b/inst/include/nt2/sdk/bench/setup/constant.hpp deleted file mode 100644 index aaa36f6..0000000 --- a/inst/include/nt2/sdk/bench/setup/constant.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_SETUP_CONSTANT_HPP_INCLUDED -#define NT2_SDK_BENCH_SETUP_CONSTANT_HPP_INCLUDED - -#include - -namespace nt2 { namespace bench -{ - /*! - @brief Constant progression setup - - constant generates a setup object that always return the same value and is - never flagged as done. Its main use-case is to allow combination between - fixed value and other progression. - **/ - template - arithmetic constant(Value const& v) - { - return arithmetic(v,v,0); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/setup/fixed.hpp b/inst/include/nt2/sdk/bench/setup/fixed.hpp deleted file mode 100644 index c6fe779..0000000 --- a/inst/include/nt2/sdk/bench/setup/fixed.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_SETUP_FIXED_HPP_INCLUDED -#define NT2_SDK_BENCH_SETUP_FIXED_HPP_INCLUDED - -namespace nt2 { namespace bench -{ - /*! - @brief Constant value setup - - fixed_ is a function object suitable for initializing experiment - with a constant value. - - @tparam Type of the constant - **/ - template - struct fixed_ - { - /*! - Initialize a fixed_ object from a value - - @param v value to use as seed - **/ - inline fixed_(T const& v) : v_(v) {} - - /// @brief Type returned by a call to fixed_ - typedef T result_type; - - /// @brief Current value of the constant - inline result_type operator()() const { return v_; } - - /// @brief Update state - inline void step() {} - - /// @brief Status of the constant - inline bool done() const { return true; } - - private: - T v_; - }; - - template inline fixed_ fixed(T const& v) - { - return fixed_(v); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/setup/geometric.hpp b/inst/include/nt2/sdk/bench/setup/geometric.hpp deleted file mode 100644 index 6c4cb8c..0000000 --- a/inst/include/nt2/sdk/bench/setup/geometric.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_SETUP_GEOMETRIC_HPP_INCLUDED -#define NT2_SDK_BENCH_SETUP_GEOMETRIC_HPP_INCLUDED - -namespace nt2 { namespace bench -{ - /*! - @brief Geometric progression setup - - geometric is a function object suitable for initializing experiment - with a real value following an geometric progression of step @c s - between @c mn and @c mx. - **/ - struct geometric - { - /* - Initialize an geometric progression. - - @param mn Starting value of the progression - @param mx Terminal value of the progression - @param s Step of the progression - */ - geometric (double mn, double mx, double s = 2.) - : step_(s), min_(mn), max_(mx) - {} - - /// @brief Type returned by a call to geometric - typedef double result_type; - - /// @brief Current value of the progression - inline result_type operator()() const { return min_; } - - /// @brief Update progression state - inline void step() { min_ *= step_; } - - /// @brief Status of the progression - inline bool done() const { return min_ > max_; } - - private: - double step_, min_, max_; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/setup/repeat.hpp b/inst/include/nt2/sdk/bench/setup/repeat.hpp deleted file mode 100644 index 42337d1..0000000 --- a/inst/include/nt2/sdk/bench/setup/repeat.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_SETUP_REPEAT_HPP_INCLUDED -#define NT2_SDK_BENCH_SETUP_REPEAT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace bench -{ - template - struct repeat_ - { - typedef boost::fusion::vector data_type; - typedef boost::fusion::vector < typename Repetition::result_type - , typename Setup::result_type - > result_type; - - inline repeat_(Repetition const& r, Setup const& s) : steps_(r,s), base_(s) - {} - - BOOST_FORCEINLINE result_type operator()() const - { - return result_type( boost::fusion::at_c<0>(steps_)() - , boost::fusion::at_c<1>(steps_)() - ); - } - - BOOST_FORCEINLINE void step() - { - boost::fusion::at_c<1>(steps_).step(); - - if(boost::fusion::at_c<1>(steps_).done()) - { - boost::fusion::at_c<0>(steps_).step(); - if(!boost::fusion::at_c<0>(steps_).done()) - boost::fusion::at_c<1>(steps_) = base_; - } - } - - BOOST_FORCEINLINE bool done() const - { - return boost::fusion::at_c<0>(steps_).done() - && boost::fusion::at_c<1>(steps_).done(); - } - - private: - data_type steps_; - Setup base_; - }; - - template - BOOST_FORCEINLINE repeat_ - repeat(Repetition const& r, Setup const& s) - { - return repeat_(r,s); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/setup/set_sizes.hpp b/inst/include/nt2/sdk/bench/setup/set_sizes.hpp deleted file mode 100644 index 4263b21..0000000 --- a/inst/include/nt2/sdk/bench/setup/set_sizes.hpp +++ /dev/null @@ -1,52 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_SETUP_SET_SIZES_HPP_INCLUDED -#define NT2_SDK_BENCH_SETUP_SET_SIZES_HPP_INCLUDED -#include -namespace nt2 { namespace bench -{ - /*! - @brief Progress through a vector of user defined sizes - - set_sizes is a function object suitable for initializing experiment - with a value following a set_sizes progression of step @c s - between @c mn and @c mx. - **/ - template - struct set_sizes - { - /* - Initialize an set_sizes progression. - - @param s std::vector of the required steps - */ - set_sizes( std::vector const& s ) - : step_(s), min_(s[0]), num_iter_(s.size()) - {count=0;} - - /// @brief Type returned by a call to set_sizes - typedef T result_type; - - /// @brief Current value of the progression - inline result_type operator()() const { return min_; } - - /// @brief Update progression state - inline void step() {++count; min_ = step_[count]; } - - /// @brief Status of the progression - inline bool done() const { return count >= num_iter_; } - - private: - std::vector step_; - T min_; - std::size_t count, num_iter_; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/stats/average.hpp b/inst/include/nt2/sdk/bench/stats/average.hpp deleted file mode 100644 index 78eff58..0000000 --- a/inst/include/nt2/sdk/bench/stats/average.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_STATS_AVERAGE_HPP_INCLUDED -#define NT2_SDK_BENCH_STATS_AVERAGE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace bench { namespace stats -{ - /*! - @brief Average statistics - - Used as a Metric parameter, average_ make the metric computes the - average value of its samples - **/ - struct average_ - { - /// @brief Samples processing function - template static inline double evaluate(Samples const& d) - { - return boost::accumulators::mean(d); - } - - /// @brief Statistics display - static inline std::string unit() { return " (avg)"; } - }; -} } } - -#endif diff --git a/inst/include/nt2/sdk/bench/stats/max.hpp b/inst/include/nt2/sdk/bench/stats/max.hpp deleted file mode 100644 index 63ada5b..0000000 --- a/inst/include/nt2/sdk/bench/stats/max.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_STATS_MAX_HPP_INCLUDED -#define NT2_SDK_BENCH_STATS_MAX_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace bench { namespace stats -{ - /*! - @brief Maximum statistics - - Used as a Metric parameter, max_ make the metric computes the - maximum value of its samples - **/ - struct max_ - { - /// @brief Samples processing function - template static inline double evaluate(Samples const& d) - { - return boost::accumulators::max(d); - } - - /// @brief Statistics display - static std::string unit() { return " (max)"; } - }; -} } } - -#endif diff --git a/inst/include/nt2/sdk/bench/stats/median.hpp b/inst/include/nt2/sdk/bench/stats/median.hpp deleted file mode 100644 index d4bf6df..0000000 --- a/inst/include/nt2/sdk/bench/stats/median.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_STATS_MEDIAN_HPP_INCLUDED -#define NT2_SDK_BENCH_STATS_MEDIAN_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace bench { namespace stats -{ - /*! - @brief Median statistic - - Used as a Metric parameter, median_ make the metric computes the - median value of its samples. - - @note The median algorithm requires a minimal amount of samples to be - correct. Currently, this minimum is set to 3 and any experiment providing - less than this amount of samples will make use the average value of samples - instead. - **/ - struct median_ - { - /// @brief Samples processing function - template static inline double evaluate(Samples const& d) - { - if( boost::accumulators::count(d) < 3 ) - return boost::accumulators::mean(d); - else - return boost::accumulators::median(d); - } - - /// @brief Statistics display - static inline std::string unit() { return " (med)"; } - }; -} } } - -#endif diff --git a/inst/include/nt2/sdk/bench/stats/min.hpp b/inst/include/nt2/sdk/bench/stats/min.hpp deleted file mode 100644 index 80570e9..0000000 --- a/inst/include/nt2/sdk/bench/stats/min.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_STATS_MIN_HPP_INCLUDED -#define NT2_SDK_BENCH_STATS_MIN_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace bench { namespace stats -{ - /*! - @brief Miminum statistics - - Used as a Metric parameter, min_ make the metric computes the - minimum value of its samples - **/ - struct min_ - { - /// @brief Samples processing function - template static inline double evaluate(Samples const& d) - { - return boost::accumulators::min(d); - } - - /// @brief Statistics display - static inline std::string unit() { return " (min)"; } - }; -} } } - -#endif diff --git a/inst/include/nt2/sdk/bench/suite.hpp b/inst/include/nt2/sdk/bench/suite.hpp deleted file mode 100644 index fddfd35..0000000 --- a/inst/include/nt2/sdk/bench/suite.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// Copyright 2012 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_SUITE_HPP_INCLUDED -#define NT2_SDK_BENCH_SUITE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - extern NT2_TEST_BENCHMARK_DECL std::string current_benchmark; - - struct BOOST_SYMBOL_VISIBLE bench_suite : public test_suite - { - NT2_TEST_BENCHMARK_DECL bench_suite(unit_test const* t_); - - NT2_TEST_BENCHMARK_DECL virtual ~bench_suite(); - NT2_TEST_BENCHMARK_DECL virtual void process() const; - }; - - bench_suite const benchmarks(&dummy); -} } - -#endif diff --git a/inst/include/nt2/sdk/bench/timing.hpp b/inst/include/nt2/sdk/bench/timing.hpp deleted file mode 100644 index 4a756ab..0000000 --- a/inst/include/nt2/sdk/bench/timing.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_BENCH_TIMING_HPP_INCLUDED -#define NT2_SDK_BENCH_TIMING_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -/// INTERNAL ONLY -#define NT2_TIMING_TYPES(r,d,i,e) \ -BOOST_PP_COMMA_IF(i) BOOST_PP_REMOVE_PARENS(BOOST_PP_TUPLE_ELEM(3,0,e)) \ -/**/ - -/// INTERNAL ONLY -#define NT2_TIMING_RANGE_ELEM(r,d,i,e) \ -BOOST_PP_COMMA_IF(i) nt2::bench \ - ::fixed ( std::make_pair( BOOST_PP_TUPLE_ELEM(3,1,e) \ - , BOOST_PP_TUPLE_ELEM(3,2,e) \ - ) \ - ) \ -/**/ - -/// INTERNAL ONLY -/// We generate a string externally so we're sure its .c_str() is valid all along -#define NT2_TIMING_IMPL(NAME, FUNC, CODE, RANGE ) \ -std::string const BOOST_PP_CAT(str_,NAME) \ - = nt2::type_id(); \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,NAME)(); \ -nt2::details::bench const \ -BOOST_PP_CAT(NAME,NT2_UNIT_PREFIX) \ - ( &nt2::details::benchmarks \ - , BOOST_PP_CAT(NT2_UNIT_PREFIX,NAME) \ - , BOOST_PP_CAT(str_,NAME).c_str() \ - ); \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,NAME)() \ -{ \ - nt2::bench::run_until_with \ - < \ - nt2::details::process_functor \ - < CODE \ - , BOOST_PP_SEQ_SIZE(RANGE) \ - , BOOST_PP_SEQ_FOR_EACH_I(NT2_TIMING_TYPES,~,RANGE) \ - > \ - > \ - ( nt2::bench::args("duration",1.) \ - , nt2::bench::args("iteration",1000000U) \ - , nt2::bench::and_ \ - ( nt2::bench::fixed(nt2::bench::args("samples",1024u)) \ - , BOOST_PP_SEQ_FOR_EACH_I(NT2_TIMING_RANGE_ELEM,~,RANGE) \ - ) \ - , nt2::bench::cycles_per_element() \ - ); \ -} \ -/**/ - -/*! - -**/ -#define NT2_TIMING(FUNC, RANGE ) \ -NT2_TIMING_IMPL ( BOOST_PP_CAT(timing_,__LINE__), FUNC \ - , boost::dispatch::functor, RANGE \ - ) \ -/**/ - -/*! - -**/ -#define NT2_TIMING_EXT(FUNC, RANGE ) \ -NT2_TIMING_IMPL ( BOOST_PP_CAT(timing_,__LINE__), FUNC, FUNC, RANGE ) \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/complex/complex.hpp b/inst/include/nt2/sdk/complex/complex.hpp deleted file mode 100644 index 2e08782..0000000 --- a/inst/include/nt2/sdk/complex/complex.hpp +++ /dev/null @@ -1,15 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_COMPLEX_HPP_INCLUDED -#define NT2_SDK_COMPLEX_COMPLEX_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/sdk/complex/details/complex/fusion_adapt.hpp b/inst/include/nt2/sdk/complex/details/complex/fusion_adapt.hpp deleted file mode 100644 index 84f8a94..0000000 --- a/inst/include/nt2/sdk/complex/details/complex/fusion_adapt.hpp +++ /dev/null @@ -1,147 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_DETAILS_COMPLEX_FUSION_ADAPT_HPP_INCLUDED -#define NT2_SDK_COMPLEX_DETAILS_COMPLEX_FUSION_ADAPT_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct std_complex_tag {}; - -namespace traits -{ - template - struct tag_of< std::complex > - { - typedef std_complex_tag type; - }; -} -namespace extension -{ - template<> struct is_sequence_impl - { - template - struct apply : boost::mpl::true_ - { - }; - }; - - template<> struct is_view_impl - { - template - struct apply : boost::mpl::false_ - { - }; - }; - - template<> struct category_of_impl - { - template - struct apply - { - typedef random_access_traversal_tag type; - }; - }; - - template<> struct value_at_impl - { - template - struct apply_impl; - - template - struct apply : apply_impl - { - }; - - template - struct apply_impl - { - typedef typename Sequence::value_type type; - }; - - template - struct apply_impl - { - typedef typename Sequence::value_type type; - }; - }; - - template<> struct at_impl - { - template - struct apply_impl; - - template - struct apply : apply_impl - { - }; - - template - struct apply_impl - { - typedef typename Sequence::value_type type; - static type call(Sequence& seq) - { - return seq.real(); - } - }; - - template - struct apply_impl - { - typedef typename Sequence::value_type type; - static type call(Sequence& seq) - { - return seq.imag(); - } - }; - }; - - template<> struct size_impl - { - template - struct apply - : boost::mpl::int_<2> - { - }; - }; - - template<> struct begin_impl - { - template - struct apply - { - typedef boost::simd::at_iterator type; - static type call(Sequence& seq) { return type(seq); } - }; - }; - - template<> struct end_impl - { - template - struct apply - { - typedef boost::simd::at_iterator type; - static type call(Sequence& seq) { return type(seq); } - }; - }; -} } } - -namespace boost { namespace simd -{ - template struct fusion_has_ctors; - template<> struct fusion_has_ctors : boost::mpl::true_ {}; -} } - -#endif diff --git a/inst/include/nt2/sdk/complex/details/complex/meta.hpp b/inst/include/nt2/sdk/complex/details/complex/meta.hpp deleted file mode 100644 index 392ec63..0000000 --- a/inst/include/nt2/sdk/complex/details/complex/meta.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_DETAILS_COMPLEX_META_HPP_INCLUDED -#define NT2_SDK_COMPLEX_DETAILS_COMPLEX_META_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct model_of< std::complex > - { - struct type - { - template struct apply - { - typedef std::complex type; - }; - }; - }; - - template - struct property_of< std::complex, Origin > - { - typedef complex_< typename property_of::type > type; - }; - - template - struct hierarchy_of< std::complex, Origin > - { - typedef typename remove_const::type stripped; - typedef typename boost::mpl::if_< boost::is_same< std::complex, stripped >, stripped, Origin >::type origin_; - typedef scalar_< complex_< typename property_of::type > > type; - }; - - template - struct scalar_of< std::complex > - { - typedef std::complex type; - }; - - template - struct value_of< std::complex > - { - typedef T type; - }; - -} } } - -namespace boost { namespace simd -{ - template - struct is_value; - - template - struct is_value< std::complex > - : boost::mpl::true_ - { - }; -} } - -namespace boost -{ - template - struct has_trivial_copy< std::complex > - : boost::mpl::true_ - { - }; - - template - struct has_trivial_default_constructor< std::complex > - : boost::mpl::true_ - { - }; - - template - struct has_trivial_destructor< std::complex > - : boost::mpl::true_ - { - }; -} - -#endif diff --git a/inst/include/nt2/sdk/complex/details/dry/meta.hpp b/inst/include/nt2/sdk/complex/details/dry/meta.hpp deleted file mode 100644 index 8f77c4d..0000000 --- a/inst/include/nt2/sdk/complex/details/dry/meta.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_DETAILS_DRY_META_HPP_INCLUDED -#define NT2_SDK_COMPLEX_DETAILS_DRY_META_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - template - struct dry; -} - -namespace boost { namespace simd { namespace meta -{ - template - struct as_simd, X> - : as_simd - { - }; -} } } - -namespace boost { namespace dispatch { namespace meta -{ - template - struct model_of< nt2::dry > - { - struct type - { - template struct apply - { - typedef nt2::dry type; - }; - }; - }; - - template - struct property_of< nt2::dry, Origin > - { - typedef dry_< typename property_of::type > type; - }; - - template - struct hierarchy_of< nt2::dry, Origin > - { - typedef typename remove_const::type stripped; - typedef typename boost::mpl::if_< boost::is_same< nt2::dry, stripped >, stripped, Origin >::type origin_; - typedef scalar_< dry_< typename property_of::type > > type; - }; - - template - struct scalar_of< nt2::dry > - { - typedef nt2::dry type; - }; - - template - struct value_of< nt2::dry > - { - typedef T type; - }; - -} } } - -namespace boost { namespace simd -{ - template - struct is_value; - - template - struct is_value< nt2::dry > - : boost::mpl::true_ - { - }; -} } - -namespace boost -{ - template - struct has_trivial_copy< nt2::dry > - : boost::mpl::true_ - { - }; - - template - struct has_trivial_default_constructor< nt2::dry > - : boost::mpl::true_ - { - }; - - template - struct has_trivial_destructor< nt2::dry > - : boost::mpl::true_ - { - }; -} - -#endif diff --git a/inst/include/nt2/sdk/complex/dry.hpp b/inst/include/nt2/sdk/complex/dry.hpp deleted file mode 100644 index d61d2ad..0000000 --- a/inst/include/nt2/sdk/complex/dry.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_DRY_HPP_INCLUDED -#define NT2_SDK_COMPLEX_DRY_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - template - struct BOOST_SIMD_MAY_ALIAS dry - { - typedef T type; - T value_; - - dry() {} - explicit dry(T const& v) : value_(v) - { - } - operator T () const {return value_; } - operator T&() {return value_; } - - T value() const { return value_; } - T& value() { return value_; } - - bool operator == (const dry&a) const{return value_ == a.value_; } - bool operator != (const dry&a) const{return value_ != a.value_; } - - T& operator()() { return value_; } - T const& operator()() const { return value_; } - }; - //////////////////////////////////////////////////////////////////////////// - // Stream insertion for dry - //////////////////////////////////////////////////////////////////////////// - template - BOOST_FORCEINLINE - std::ostream& operator<<(std::ostream& os, dry const& v ) - { - return os << "(" << v() << ", _ )"; - } -} - -#include - -namespace boost { namespace simd -{ - template - BOOST_FORCEINLINE - std::ostream& operator<<(std::ostream& os, boost::simd::native,Ext> const& v ) - { - const std::size_t size = meta::cardinal_of >::value; - os << "{"; - for(std::size_t i = 0; i < size; ++i) - { - os << v[i] << ((i+1 == size) ? "}" :", "); - } - return os; - } -} } - -#endif diff --git a/inst/include/nt2/sdk/complex/hierarchy.hpp b/inst/include/nt2/sdk/complex/hierarchy.hpp deleted file mode 100644 index 9ab62d5..0000000 --- a/inst/include/nt2/sdk/complex/hierarchy.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_HIERARCHY_HPP_INCLUDED -#define NT2_SDK_COMPLEX_HIERARCHY_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - template - struct complex_ : complex_ - { - typedef complex_ parent; - }; - - template - struct complex_< unspecified_ > : fusion_sequence_ - { - typedef fusion_sequence_ parent; - }; - - template - struct dry_ : dry_ - { - typedef dry_ parent; - }; - - template - struct dry_< unspecified_ > : complex_< typename property_of::type, T>::type > - { - typedef complex_< typename property_of::type, T>::type > parent; - }; - -} } } - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::complex_; - using boost::dispatch::meta::dry_; -} } - -namespace boost { namespace simd { namespace ext -{ - using boost::dispatch::meta::complex_; - using boost::dispatch::meta::dry_; -} } } - -#endif diff --git a/inst/include/nt2/sdk/complex/meta/as_complex.hpp b/inst/include/nt2/sdk/complex/meta/as_complex.hpp deleted file mode 100644 index 02d943b..0000000 --- a/inst/include/nt2/sdk/complex/meta/as_complex.hpp +++ /dev/null @@ -1,58 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_META_AS_COMPLEX_HPP_INCLUDED -#define NT2_SDK_COMPLEX_META_AS_COMPLEX_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - template struct dry; -} - -namespace nt2 { namespace details -{ - template - struct as_complex - : boost::mpl::apply1 > - { - }; - - template - struct as_complex< std::complex, F > - : boost::mpl::apply1 > - { - }; - - template - struct as_complex< dry, F > - : boost::mpl::apply1 > - { - }; -} } - -namespace nt2 { namespace meta -{ - template - struct as_complex - : details::as_complex< typename boost::dispatch::meta:: - scalar_of::type - , typename boost::dispatch::meta:: - factory_of::type - >::type - > - { - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/complex/meta/as_dry.hpp b/inst/include/nt2/sdk/complex/meta/as_dry.hpp deleted file mode 100644 index 433d53b..0000000 --- a/inst/include/nt2/sdk/complex/meta/as_dry.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_META_AS_DRY_HPP_INCLUDED -#define NT2_SDK_COMPLEX_META_AS_DRY_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - template - struct dry; -} - -namespace nt2 { namespace details -{ - template - struct as_dry - : boost::mpl::apply1 > - { - }; - - template - struct as_dry< std::complex, F > - : boost::mpl::apply1 > - { - }; - - template - struct as_dry< dry, F > - : boost::mpl::apply1 > - { - }; -} } - -namespace nt2 { namespace meta -{ - template - struct as_dry - : details::as_dry< typename boost::dispatch::meta:: - scalar_of::type - , typename boost::dispatch::meta:: - factory_of::type - >::type - > - { - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/complex/meta/as_real.hpp b/inst/include/nt2/sdk/complex/meta/as_real.hpp deleted file mode 100644 index 38c8bb4..0000000 --- a/inst/include/nt2/sdk/complex/meta/as_real.hpp +++ /dev/null @@ -1,14 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_META_AS_REAL_HPP_INCLUDED -#define NT2_SDK_COMPLEX_META_AS_REAL_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/sdk/complex/meta/is_complex.hpp b/inst/include/nt2/sdk/complex/meta/is_complex.hpp deleted file mode 100644 index 4916233..0000000 --- a/inst/include/nt2/sdk/complex/meta/is_complex.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_META_IS_COMPLEX_HPP_INCLUDED -#define NT2_SDK_COMPLEX_META_IS_COMPLEX_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace details -{ - template - struct is_complex - : boost::mpl::false_ - { - }; - - template - struct is_complex< std::complex > - : boost::mpl::true_ - { - }; - - template - struct is_complex< const std::complex > - : boost::mpl::true_ - { - }; -} } - -namespace nt2 { namespace meta -{ - template - struct is_complex - : details::is_complex< typename boost::dispatch::meta:: - scalar_of::type - > - { - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/complex/meta/real_of.hpp b/inst/include/nt2/sdk/complex/meta/real_of.hpp deleted file mode 100644 index 49d2e69..0000000 --- a/inst/include/nt2/sdk/complex/meta/real_of.hpp +++ /dev/null @@ -1,14 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_COMPLEX_META_REAL_OF_HPP_INCLUDED -#define NT2_SDK_COMPLEX_META_REAL_OF_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/sdk/config/cache.hpp b/inst/include/nt2/sdk/config/cache.hpp deleted file mode 100644 index 5feca17..0000000 --- a/inst/include/nt2/sdk/config/cache.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_CONFIG_CACHE_HPP_INCLUDED -#define NT2_SDK_CONFIG_CACHE_HPP_INCLUDED - -#include - -/*! - *\file cache.hpp - *\Runtime function to get cache informations -*/ - -namespace nt2{ namespace config -{ - enum Li_enum { L1Code=0, L1Data=1, L1=1, L2=2, L3=3 }; - - inline int cache_size(int level) - { - return details::init_cache()[0][level]; - } - - inline int cache_line_size(int level) - { - return details::init_cache()[1][level]; - } - - inline bool has_cache(int level) - { - if(details::init_cache()[0][level] == 0) return false; - else return true; - } - - inline int top_cache_line_size(int level = L3) - { - return ( level > config::L1 - ? ( config::has_cache(level) - ? config::cache_line_size(level) - : top_cache_line_size(level-1) - ) - : config::cache_line_size(config::L1) - ); - } - - inline int top_cache_size(int level = L3) - { - return ( level > config::L1 - ? ( config::has_cache(level) - ? config::cache_size(level) - : top_cache_size(level-1) - ) - : config::cache_size(config::L1) - ); - } - -} } - -#endif diff --git a/inst/include/nt2/sdk/config/details/cache.hpp b/inst/include/nt2/sdk/config/details/cache.hpp deleted file mode 100644 index cde9600..0000000 --- a/inst/include/nt2/sdk/config/details/cache.hpp +++ /dev/null @@ -1,161 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_CONFIG_DETAILS_CACHE_HPP_INCLUDED -#define NT2_SDK_CONFIG_DETAILS_CACHE_HPP_INCLUDED - -#include -#include -#include - -#define NT2_MAX_CACHE_LEVEL 4 - -#ifndef NT2_CACHE_DETECT_DEFINED - -#if defined(BOOST_SIMD_OS_LINUX) && !defined(__ANDROID__) -#include - -namespace nt2 { namespace config { namespace details -{ - template - inline void detect_cache(Seq& cache_sizes_, Seq& cache_line_sizes_) - { - cache_line_sizes_[0] = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); - cache_sizes_[0] = sysconf(_SC_LEVEL1_DCACHE_SIZE); - - cache_line_sizes_[1] = sysconf(_SC_LEVEL2_CACHE_LINESIZE); - cache_sizes_[1] = sysconf(_SC_LEVEL2_CACHE_SIZE); - - cache_line_sizes_[2] = sysconf(_SC_LEVEL3_CACHE_LINESIZE); - cache_sizes_[2] = sysconf(_SC_LEVEL3_CACHE_SIZE); - - cache_line_sizes_[3] = sysconf(_SC_LEVEL4_CACHE_LINESIZE); - cache_sizes_[3] = sysconf(_SC_LEVEL4_CACHE_SIZE); - } -} } } - -#elif defined(BOOST_SIMD_OS_MAC_OS) -#include - -namespace nt2 { namespace config { namespace details -{ - template - inline void detect_cache(Seq& cache_sizes_, Seq& cache_line_sizes_) - { - size_t line_size = 0; - size_t sizeof_size_t = sizeof(size_t); - sysctlbyname("hw.cachelinesize", &line_size, &sizeof_size_t, 0, 0); - for(size_t i=0; i!=3u; ++i) - cache_line_sizes_[i] = line_size; - - size_t l1_cache = 0; - sysctlbyname("hw.l1dcachesize", &l1_cache, &sizeof_size_t, 0, 0); - cache_sizes_[0] = l1_cache; - - size_t l2_cache = 0; - sysctlbyname("hw.l2cachesize", &l2_cache, &sizeof_size_t, 0, 0); - cache_sizes_[1] = l2_cache; - - size_t l3_cache = 0; - sysctlbyname("hw.l3cachesize", &l3_cache, &sizeof_size_t, 0, 0); - cache_sizes_[2] = l3_cache; - } -} } } - -#elif defined(BOOST_SIMD_OS_WINDOWS) -#ifndef NOMINMAX - #define NOMINMAX -#endif -#define WIN32_LEAN_AND_MEAN -#include -#include - -typedef BOOL (WINAPI *LPFN_GLPI)(SYSTEM_LOGICAL_PROCESSOR_INFORMATION*, DWORD*); - -namespace nt2 { namespace config { namespace details -{ - template - inline void detect_cache(Seq& cache_sizes_, Seq& cache_line_sizes_) - { - size_t line_size = 0; - DWORD buffer_size = 0; - SYSTEM_LOGICAL_PROCESSOR_INFORMATION * buffer = 0; - - LPFN_GLPI pGetLogicalProcessorInformation = (LPFN_GLPI) GetProcAddress(GetModuleHandle(TEXT("kernel32")),"GetLogicalProcessorInformation"); - if(!pGetLogicalProcessorInformation) - return; - - if(!pGetLogicalProcessorInformation(0, &buffer_size)) - return; - - buffer = (SYSTEM_LOGICAL_PROCESSOR_INFORMATION *)malloc(buffer_size); - if(!pGetLogicalProcessorInformation(&buffer[0], &buffer_size)) - { - free(buffer); - return; - } - - for(DWORD i = 0; i != buffer_size / sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION); ++i) - { - if (buffer[i].Relationship == RelationCache) - { - size_t idx = buffer[i].Cache.Level-1; - if(idx >= NT2_MAX_CACHE_LEVEL) - continue; - - cache_sizes_[idx] = buffer[i].Cache.Size; - cache_line_sizes_[idx] = buffer[i].Cache.LineSize; - } - } - - free(buffer); - return line_size; - } -} } } - -#else - -// unknown system -namespace nt2 { namespace config { namespace details -{ - template - inline void detect_cache(Seq&, Seq&) - { - // dummy detect_cache - // by default all is zero - } -} } } - -#endif - -#endif /* NT2_CACHE_DETECT_DEFINED */ - -namespace nt2 { namespace config { namespace details -{ - inline - boost::array< boost::array - , 2 - >& init_cache() - { - typedef boost::array vector_type; - static boost::array cache_infos; - static bool is_init = false; - if(!is_init) - { - for(int i = 0; i < NT2_MAX_CACHE_LEVEL; i++) - cache_infos[0][i] = cache_infos[1][i] = 0; - details::detect_cache(cache_infos[0], cache_infos[1]); - is_init = true; - return cache_infos; - } - else return cache_infos; - } -} } } - - -#endif diff --git a/inst/include/nt2/sdk/config/details/cache/detect_cache.hpp b/inst/include/nt2/sdk/config/details/cache/detect_cache.hpp deleted file mode 100644 index 6283484..0000000 --- a/inst/include/nt2/sdk/config/details/cache/detect_cache.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_SDK_CONFIG_DETAILS_CACHE_DETECT_CACHE_HPP_INCLUDED -#define NT2_SDK_CONFIG_DETAILS_CACHE_DETECT_CACHE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/sdk/config/details/cache/x86/detect_cache.hpp b/inst/include/nt2/sdk/config/details/cache/x86/detect_cache.hpp deleted file mode 100644 index c7a40b8..0000000 --- a/inst/include/nt2/sdk/config/details/cache/x86/detect_cache.hpp +++ /dev/null @@ -1,100 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_CONFIG_DETAILS_CACHE_X86_DETECT_CACHE_HPP_INCLUDED -#define NT2_SDK_CONFIG_DETAILS_CACHE_X86_DETECT_CACHE_HPP_INCLUDED - -#include - -#ifdef BOOST_SIMD_ARCH_X86 -#include -#include -#include - -#define NT2_CACHE_DETECT_DEFINED - -namespace nt2{ namespace config{ namespace details{ - - inline int get_range(int reg, int begin, int end) - { - int mask=0x00000000; - BOOST_ASSERT_MSG( begin < end, "Invalid iterators"); - for(int i = 0; i < (end - begin); i++) { mask <<= 1; mask |= 0x1; } - return ((reg >> begin) & mask); - } - - template - inline void detect_cache(Seq& cache_sizes_, Seq& cache_line_sizes_) - { - int regs[4] = {0,0,0,0}; - int cache_ecx = 0; - int type; - - switch(boost::simd::config::x86::get_vendor()) - { - case boost::simd::config::x86::intel : - - do{ - boost::simd::config::x86::cpuidex(regs, 0x00000004, cache_ecx); - - int level = (regs[0] & 0x000000E0) >> 5; - int ways = (regs[1] & 0xFFC00000) >> 22; - int partitions = (regs[1] & 0x003FF000) >> 12; - int line_size = (regs[1] & 0x00000FFF) >> 0; - int sets = (regs[2]); - int size = (ways+1)*(partitions+1)*(line_size+1)*(sets+1); - type = (regs[0] & 0x0000001F); - - switch(type) - { - case 1 : *(&cache_sizes_[0]+level) = size/1024; - cache_line_sizes_[level] = line_size+1; - break; - case 2 : cache_sizes_[0] = size/1024; - cache_line_sizes_[0] = line_size+1; - break; - case 3 : *(&cache_sizes_[0]+level) = size/1024; - cache_line_sizes_[level] = line_size+1; - break; - default : break; - } - - cache_ecx++; - }while(type != 0x00000000); - - break; - - case boost::simd::config::x86::amd : - - boost::simd::config::x86::cpuidex(regs,0x80000005,0); - cache_line_sizes_[0] = regs[2] & 0x000000FF; - cache_sizes_[0] = regs[2] >> 24; - cache_line_sizes_[1] = regs[3] & 0x000000FF; - cache_sizes_[1] = regs[3] >> 24; - - regs[0] = regs[1] = regs[2] = regs[3] = 0; - boost::simd::config::x86::cpuidex(regs,0x80000006,0); - - if(get_range(regs[0], 28, 32) != 0) - { - cache_line_sizes_[2] = regs[2] & 0x000000FF; - cache_sizes_[2] = regs[2] >> 16; - cache_line_sizes_[3] = regs[3] & 0x000000FF; - cache_sizes_[3] = (((regs[3] & 0xFFFC000) >> 18)*512); // D[31;18] = l3 cache size in 512KB - } - - break; - - default : break; - } - } -} } } - -#endif - -#endif diff --git a/inst/include/nt2/sdk/config/details/cache_exception.hpp b/inst/include/nt2/sdk/config/details/cache_exception.hpp deleted file mode 100644 index 9f7f058..0000000 --- a/inst/include/nt2/sdk/config/details/cache_exception.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_CONFIG_DETAILS_CACHE_EXCEPTION_HPP_INCLUDED -#define NT2_SDK_CONFIG_DETAILS_CACHE_EXCEPTION_HPP_INCLUDED - -/* - * cache_exception.hpp - * - */ - -#include - -namespace nt2{ namespace config{ namespace details{ - - NT2_ERROR_INFO(cache_exc, const char *); - - struct cache_exception : virtual nt2::exception - { - inline virtual ~cache_exception() throw() {} - inline virtual void display(std::ostream& os) const throw() - { - os << "Assertion: " - << *boost::get_error_info(*this) - << " failed.\n"; - } - }; -} } } - -#endif diff --git a/inst/include/nt2/sdk/config/type_lists.hpp b/inst/include/nt2/sdk/config/type_lists.hpp deleted file mode 100644 index 93cb96c..0000000 --- a/inst/include/nt2/sdk/config/type_lists.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_CONFIG_TYPE_LISTS_HPP_INCLUDED -#define NT2_SDK_CONFIG_TYPE_LISTS_HPP_INCLUDED - -#include -#include - -#define NT2_TYPES BOOST_SIMD_TYPES -#define NT2_REAL_TYPES BOOST_SIMD_REAL_TYPES -#define NT2_REAL_CONVERTIBLE_TYPES BOOST_SIMD_REAL_CONVERTIBLE_TYPES -#define NT2_UNSIGNED_TYPES BOOST_SIMD_UNSIGNED_TYPES -#define NT2_SIGNED_TYPES BOOST_SIMD_SIGNED_TYPES -#define NT2_INTEGRAL_TYPES BOOST_SIMD_INTEGRAL_TYPES -#define NT2_INTEGRAL_SIGNED_TYPES BOOST_SIMD_INTEGRAL_SIGNED_TYPES -#define NT2_INTEGRAL_UNSIGNED_TYPES BOOST_SIMD_INTEGRAL_UNSIGNED_TYPES -#define NT2_INT_CONVERT_TYPES BOOST_SIMD_INT_CONVERT_TYPES -#define NT2_UINT_CONVERT_TYPES BOOST_SIMD_UINT_CONVERT_TYPES -#define NT2_GROUPABLE_TYPES BOOST_SIMD_GROUPABLE_TYPES -#define NT2_SPLITABLE_TYPES BOOST_SIMD_SPLITABLE_TYPES -#define NT2_REAL_GROUPABLE_TYPES BOOST_SIMD_REAL_GROUPABLE_TYPES -#define NT2_REAL_SPLITABLE_TYPES BOOST_SIMD_REAL_SPLITABLE_TYPES - -#define NT2_SIMD_TYPES BOOST_SIMD_SIMD_TYPES -#define NT2_SIMD_REAL_TYPES BOOST_SIMD_SIMD_REAL_TYPES -#define NT2_SIMD_REAL_CONVERTIBLE_TYPES BOOST_SIMD_SIMD_REAL_CONVERTIBLE_TYPES -#define NT2_SIMD_UNSIGNED_TYPES BOOST_SIMD_SIMD_UNSIGNED_TYPES -#define NT2_SIMD_SIGNED_TYPES BOOST_SIMD_SIMD_SIGNED_TYPES -#define NT2_SIMD_INTEGRAL_TYPES BOOST_SIMD_SIMD_INTEGRAL_TYPES -#define NT2_SIMD_INTEGRAL_SIGNED_TYPES BOOST_SIMD_SIMD_INTEGRAL_SIGNED_TYPES -#define NT2_SIMD_INTEGRAL_UNSIGNED_TYPES BOOST_SIMD_SIMD_INTEGRAL_UNSIGNED_TYPES -#define NT2_SIMD_INT_CONVERT_TYPES BOOST_SIMD_SIMD_INT_CONVERT_TYPES -#define NT2_SIMD_UINT_CONVERT_TYPES BOOST_SIMD_SIMD_UINT_CONVERT_TYPES -#define NT2_SIMD_GROUPABLE_TYPES BOOST_SIMD_SIMD_GROUPABLE_TYPES -#define NT2_SIMD_SPLITABLE_TYPES BOOST_SIMD_SIMD_SPLITABLE_TYPES -#define NT2_SIMD_REAL_GROUPABLE_TYPES BOOST_SIMD_SIMD_REAL_GROUPABLE_TYPES -#define NT2_SIMD_REAL_SPLITABLE_TYPES BOOST_SIMD_SIMD_REAL_SPLITABLE_TYPES - -#define NT2_SIMD_DEFAULT_EXTENSION BOOST_SIMD_DEFAULT_EXTENSION - -#endif diff --git a/inst/include/nt2/sdk/config/types.hpp b/inst/include/nt2/sdk/config/types.hpp deleted file mode 100644 index fe37a4f..0000000 --- a/inst/include/nt2/sdk/config/types.hpp +++ /dev/null @@ -1,30 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_CONFIG_TYPES_HPP_INCLUDED -#define NT2_SDK_CONFIG_TYPES_HPP_INCLUDED - -//////////////////////////////////////////////////////////////////////////////// -// Types injection into nt2 -// Injects or define some basic types in NT2 namespace for consistency sake. -//////////////////////////////////////////////////////////////////////////////// -#include - -namespace nt2 -{ - using boost::simd::uint8_t; - using boost::simd::uint16_t; - using boost::simd::uint32_t; - using boost::simd::uint64_t; - using boost::simd::int8_t; - using boost::simd::int16_t; - using boost::simd::int32_t; - using boost::simd::int64_t; -} - -#endif diff --git a/inst/include/nt2/sdk/error/assert_as_exceptions.hpp b/inst/include/nt2/sdk/error/assert_as_exceptions.hpp deleted file mode 100644 index e5b407e..0000000 --- a/inst/include/nt2/sdk/error/assert_as_exceptions.hpp +++ /dev/null @@ -1,55 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_ASSERT_AS_EXCEPTIONS_HPP_INCLUDED -#define NT2_SDK_ERROR_ASSERT_AS_EXCEPTIONS_HPP_INCLUDED - -/*! - * \file - * \brief Defines macros and functions controlling runtime assertions - */ - -#if defined(NT2_ASSERTS_AS_EXCEPTIONS) && !defined(BOOST_ENABLE_ASSERT_HANDLER) -#error BOOST_ENABLE_ASSERT_HANDLER must be defined to use NT2_ASSERTS_AS_EXCEPTIONS -#endif - -#include -#if defined(NT2_ASSERTS_AS_EXCEPTIONS) && defined(BOOST_NO_EXCEPTIONS) -#error Exceptions must be enabled to use NT2_ASSERTS_AS_EXCEPTIONS -#endif - -#if defined(NT2_ASSERTS_AS_EXCEPTIONS) -#include -#include - -namespace boost -{ - // INTERNAL ONLY - // Define a BOOST_ASSERT handler for the NT2_ASSERTS_AS_EXCEPTIONS mode. - extern inline - void assertion_failed ( char const* expr, char const* fn - , char const* f, long l - ) - { - nt2::except_assertion_failed(expr, fn, f, l); - } - - // INTERNAL ONLY - // Define a BOOST_ASSERT_MSG handler for the NT2_ASSERTS_AS_EXCEPTIONS mode. - extern inline - void assertion_failed_msg ( char const* expr, char const* msg - , char const* fn, char const* f, long l - ) - { - nt2::except_assertion_failed_msg(expr, msg, fn, f, l); - } -} - -#endif - -#endif diff --git a/inst/include/nt2/sdk/error/assert_as_flexible.hpp b/inst/include/nt2/sdk/error/assert_as_flexible.hpp deleted file mode 100644 index 70b6a4b..0000000 --- a/inst/include/nt2/sdk/error/assert_as_flexible.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_ASSERT_AS_FLEXIBLE_HPP_INCLUDED -#define NT2_SDK_ERROR_ASSERT_AS_FLEXIBLE_HPP_INCLUDED - -/*! - * \file - * \brief Defines macros and functions controlling runtime assertions - */ - -#include -#include - -namespace nt2 -{ - -#ifdef NT2_ASSERTS_AS_FLEXIBLE_SOURCE - extern BOOST_SYMBOL_EXPORT log_mode_t assert_mode; -#else - extern BOOST_SYMBOL_IMPORT log_mode_t assert_mode; -#endif -} - -#if defined(NT2_ASSERTS_AS_FLEXIBLE_SOURCE) && defined(BOOST_NO_EXCEPTIONS) -#error Exceptions must be enabled to use NT2_ASSERTS_AS_FLEXIBLE -#endif - -#ifdef NT2_ASSERTS_AS_FLEXIBLE_SOURCE -#include -#include -#include -#include -#include - -namespace boost -{ - // INTERNAL ONLY - // Define a BOOST_ASSERT handler for the nt2::ASSERTS_AS_EXCEPTIONS mode. - BOOST_SYMBOL_EXPORT - void assertion_failed ( char const* expr, char const* fn - , char const* f, long l - ) - { - if(nt2::assert_mode & nt2::LOG_PRINT) - std::cerr << f << ":" << l << ": " << fn << ": Assertion " << expr << " failed." << std::endl; - - if(nt2::assert_mode & nt2::LOG_STACKDUMP) - nt2::backtrace(std::cerr); - - if(nt2::assert_mode & nt2::LOG_TRAP) - nt2::trap(); - - if(nt2::assert_mode & nt2::LOG_EXCEPT) - nt2::except_assertion_failed(expr, fn, f, l); - - if(nt2::assert_mode & nt2::LOG_ABORT) - std::abort(); - } - - // INTERNAL ONLY - // Define a BOOST_ASSERT_MSG handler for the nt2::ASSERTS_AS_EXCEPTIONS mode. - BOOST_SYMBOL_EXPORT - void assertion_failed_msg ( char const* expr, char const* msg - , char const* fn, char const* f, long l - ) - { - if(nt2::assert_mode & nt2::LOG_PRINT) - std::cerr << f << ":" << l << ": " << fn << ": Assertion " << expr << " failed.\n\t" << msg << std::endl; - - if(nt2::assert_mode & nt2::LOG_STACKDUMP) - nt2::backtrace(std::cerr); - - if(nt2::assert_mode & nt2::LOG_TRAP) - nt2::trap(); - - if(nt2::assert_mode & nt2::LOG_EXCEPT) - nt2::except_assertion_failed_msg(expr, msg, fn, f, l); - - if(nt2::assert_mode & nt2::LOG_ABORT) - std::abort(); - } -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/error/assert_as_trap.hpp b/inst/include/nt2/sdk/error/assert_as_trap.hpp deleted file mode 100644 index 455ca11..0000000 --- a/inst/include/nt2/sdk/error/assert_as_trap.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_ASSERT_AS_TRAP_HPP_INCLUDED -#define NT2_SDK_ERROR_ASSERT_AS_TRAP_HPP_INCLUDED - -/*! - * \file - * \brief Turn assertions into bug trap - */ - -#if defined(NT2_ASSERTS_AS_TRAP) && !defined(BOOST_ENABLE_ASSERT_HANDLER) -#error BOOST_ENABLE_ASSERT_HANDLER must be defined to use NT2_ASSERTS_AS_TRAP -#endif - -#if defined(NT2_ASSERTS_AS_TRAP) && defined(BOOST_ENABLE_ASSERT_HANDLER) -#include -#include -#include - -namespace boost -{ - // INTERNAL ONLY - // Define a BOOST_ASSERT handler for the NT2_ASSERTS_AS_TRAP mode. - extern inline - void assertion_failed ( char const* expr - , char const* fn, char const* f, long l - ) - { - fprintf(stderr,"%s:%ld: %s: Assertion %s failed.\n",f,l,fn,expr); - ::nt2::trap(); - } - - // INTERNAL ONLY - // Define a BOOST_ASSERT_MSG handler for the NT2_ASSERTS_AS_EXCEPTIONS mode. - extern inline - void assertion_failed_msg ( char const* expr, char const* msg - , char const* fn, char const* f, long l - ) - { - fprintf(stderr,"%s:%ld: %s: Assertion %s failed.\n\t%s",f,l,fn,expr,msg); - ::nt2::trap(); - } -} - -#endif - -#endif diff --git a/inst/include/nt2/sdk/error/assert_exception.hpp b/inst/include/nt2/sdk/error/assert_exception.hpp deleted file mode 100644 index d1ec7e3..0000000 --- a/inst/include/nt2/sdk/error/assert_exception.hpp +++ /dev/null @@ -1,81 +0,0 @@ -//============================================================================== -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_ASSERT_EXCEPTION_HPP_INCLUDED -#define NT2_SDK_ERROR_ASSERT_EXCEPTION_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace nt2 -{ - /** - * @brief Runtime assertion exception - * - * assert_exception is thrown when a runtime assertion triggers while the - * preprocessor symbol NT2_ASSERTS_AS_EXCEPTIONS is defined. - * - * @usage - * @include assert_exception.cpp - **/ - struct BOOST_SYMBOL_VISIBLE assert_exception : nt2::exception - { - /** - * Builds an assert_exception from the actual runtime assertion message - **/ - assert_exception(std::string const& msg) : nt2::exception(msg) {} - }; - - // INTERNAL ONLY - // Define a BOOST_ASSERT handler for the NT2_ASSERTS_AS_EXCEPTIONS mode. - extern inline - void except_assertion_failed( char const* expr, char const* fn - , char const* f, long l - ) - { - std::ostringstream ss; - ss << f << ':' << l << ": " << fn << ": Assertion " << expr << " failed."; - - #ifndef BOOST_EXCEPTION_DISABLE - ::boost::throw_exception - ( ::boost::enable_error_info( ::nt2::assert_exception(ss.str()) ) - << ::boost::throw_function(fn) - << ::boost::throw_file(f) - << ::boost::throw_line(int(l)) - ); - #else - ::boost::throw_exception( ::nt2::assert_exception(ss.str()) ); - #endif - } - - // INTERNAL ONLY - // Define a BOOST_ASSERT_MSG handler for the NT2_ASSERTS_AS_EXCEPTIONS mode. - extern inline - void except_assertion_failed_msg( char const* expr, char const* msg - , char const* fn, char const* f, long l - ) - { - std::ostringstream ss; - ss << f << ':' << l << ": " << fn << ": Assertion " - << expr << " failed.\n\t" << msg; - - #ifndef BOOST_EXCEPTION_DISABLE - ::boost::throw_exception( ::boost::enable_error_info( ::nt2::assert_exception(ss.str()) ) << - ::boost::throw_function(fn) << - ::boost::throw_file(f) << - ::boost::throw_line(int(l)) - ); - #else - ::boost::throw_exception( ::nt2::assert_exception(ss.str()) ); - #endif - } -} - -#endif diff --git a/inst/include/nt2/sdk/error/backtrace.hpp b/inst/include/nt2/sdk/error/backtrace.hpp deleted file mode 100644 index 9c475c3..0000000 --- a/inst/include/nt2/sdk/error/backtrace.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_BACKTRACE_HPP_INCLUDED -#define NT2_SDK_ERROR_BACKTRACE_HPP_INCLUDED - -#include -#include -#if defined(__linux__) && !defined(__ANDROID__) -#include -#include -#endif - -namespace nt2 -{ - #if defined(__linux__) && !defined(__ANDROID__) - BOOST_FORCEINLINE void backtrace(std::ostream& os) - { - void *bt[1024]; - int bt_size = ::backtrace(bt, 1024); - for(int i=0; i!=bt_size; ++i) - os << bt[i] << "\n"; - os << std::flush; - } - #else - BOOST_FORCEINLINE void backtrace(std::ostream&) - { - } - #endif -} - -#endif diff --git a/inst/include/nt2/sdk/error/concepts.hpp b/inst/include/nt2/sdk/error/concepts.hpp deleted file mode 100644 index e0eef22..0000000 --- a/inst/include/nt2/sdk/error/concepts.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_CONCEPTS_HPP_INCLUDED -#define NT2_SDK_ERROR_CONCEPTS_HPP_INCLUDED - -/*! - * @file - * @brief Defines macros controlling the handling of Concepts checks - */ - -#include - -#if defined(DOXYGEN_ONLY) -/** -* @brief Concept-based compile-time assertion -* -* This macro, used at any scope, verify that the concept checking template -* specialization \c CONCEPT is satisfied. -**/ -#define NT2_CONCEPT_ASSERT(CONCEPT) - -/** -* @brief Concept-based compile-time function requirement -* -* This macro, that can be used as a function return type, checks that all the -* concept checking templates in the @c CONCEPTS preprocessor list are satisifed. -* If they are, the function is allowed to be defined with a return type equals -* to @c TYPE. -**/ -#define NT2_CONCEPT_REQUIRE(CONCEPTS,TYPE) -#endif - -#if !defined(DOXYGEN_ONLY) - -#if defined(NT2_USE_CONCEPTS) -#define NT2_CONCEPT_ASSERT(CONCEPT) BOOST_CONCEPT_ASSERT(CONCEPT) -#define NT2_CONCEPT_REQUIRE(CONCEPTS,TYPE) BOOST_CONCEPT_REQUIRE(CONCEPT,TYPE) -#else -#define NT2_CONCEPT_ASSERT(CONCEPT) -#define NT2_CONCEPT_REQUIRE(CONCEPTS,TYPE) -#endif - -#endif - -#endif diff --git a/inst/include/nt2/sdk/error/exception.hpp b/inst/include/nt2/sdk/error/exception.hpp deleted file mode 100644 index 9c12a2e..0000000 --- a/inst/include/nt2/sdk/error/exception.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_EXCEPTION_HPP_INCLUDED -#define NT2_SDK_ERROR_EXCEPTION_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - //============================================================================ - /*! - * exception is the base class for all NT2 exceptions. It implements - * the classical STD compliant interface, and is compatible with - * boost::exception. - */ - //============================================================================ - struct BOOST_SYMBOL_VISIBLE exception : boost::exception, std::runtime_error - { - exception(const std::string& msg) : boost::exception() - , std::runtime_error(msg) - {} - }; -} - -#endif diff --git a/inst/include/nt2/sdk/error/log_mode.hpp b/inst/include/nt2/sdk/error/log_mode.hpp deleted file mode 100644 index ab1e103..0000000 --- a/inst/include/nt2/sdk/error/log_mode.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_LOG_MODE_HPP_INCLUDED -#define NT2_SDK_ERROR_LOG_MODE_HPP_INCLUDED - -namespace nt2 -{ - enum log_mode_t - { - LOG_IGNORE = 0, - LOG_PRINT = 1, - LOG_ABORT = 1 << 1, - LOG_TRAP = 1 << 2, - LOG_STACKDUMP = 1 << 3, - LOG_EXCEPT = 1 << 4 - }; -} - -#endif diff --git a/inst/include/nt2/sdk/error/policies.hpp b/inst/include/nt2/sdk/error/policies.hpp deleted file mode 100644 index 52312a7..0000000 --- a/inst/include/nt2/sdk/error/policies.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_POLICIES_HPP_INCLUDED -#define NT2_SDK_ERROR_POLICIES_HPP_INCLUDED - -#include - -namespace nt2 -{ - typedef boost::math::policies:: - policy< boost::math::policies::domain_error - , boost::math::policies::pole_error - , boost::math::policies::overflow_error - , boost::math::policies::evaluation_error - , boost::math::policies::rounding_error - > nt2_policy; -} - -#endif diff --git a/inst/include/nt2/sdk/error/throw_exception.hpp b/inst/include/nt2/sdk/error/throw_exception.hpp deleted file mode 100644 index 1286543..0000000 --- a/inst/include/nt2/sdk/error/throw_exception.hpp +++ /dev/null @@ -1,36 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_THROW_EXCEPTION_HPP_INCLUDED -#define NT2_SDK_ERROR_THROW_EXCEPTION_HPP_INCLUDED - -#include - -#ifdef BOOST_NO_EXCEPTIONS - -#include -#include -#include - -namespace boost -{ - /// INTERNAL ONLY - /// This is a custom Boost.Exception handler that catch exceptions that were - /// not caught by any tests inside the test function. This is usually the sign - /// of something wrong in the test. - extern inline - void throw_exception(std::exception const& e) - { - std::cout << "uncaught exception: " << e.what() << std::endl; - std::abort(); - } -} -#endif - -#endif diff --git a/inst/include/nt2/sdk/error/trap.hpp b/inst/include/nt2/sdk/error/trap.hpp deleted file mode 100644 index 2e8383b..0000000 --- a/inst/include/nt2/sdk/error/trap.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_TRAP_HPP_INCLUDED -#define NT2_SDK_ERROR_TRAP_HPP_INCLUDED - -/** -* @file -* @brief Provides portable, conditionnal breakpoint traps -**/ - -#include -#include - -//============================================================================== -// Detects and define how to emit a TRAP signal -//============================================================================== -#if ( defined(_M_IX86) || defined(__i386__) \ - || defined(_M_IA64) || defined(__ia64__) \ - ) \ - && defined(__GNUC__) -#define NT2_DEBUG_TRAP() __asm("int3") -#elif defined(_MSC_VER) -#define NT2_DEBUG_TRAP() __debugbreak() -#elif defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) -#include -#define NT2_DEBUG_TRAP() ::raise(SIGTRAP) -#else -#define NT2_DEBUG_TRAP() -#endif - -namespace nt2 -{ - /** - * @brief Runtime conditionnal breakpoint trap - * - * If @c cond evaluates to true, triggers a breakpoint trap. - * - * @param cond Conditionnal trigger for the breakpoint trap - **/ - BOOST_FORCEINLINE void trap(bool cond) { if(!cond) { NT2_DEBUG_TRAP(); } } - - /** - * @brief Runtime inconditionnal breakpoint trap - * - * Triggers a breakpoint trap. - **/ - BOOST_FORCEINLINE void trap() { NT2_DEBUG_TRAP(); } - - /** - * @brief Compile-time conditionnal breakpoint trap - * - * If @c Condition::value evaluates true, triggers a breakpoint trap. - * - * @tparam Condition Compile-time boolean integral constant - **/ - template - BOOST_FORCEINLINE void - trap( typename boost::enable_if_c::type* = 0 ) - { - NT2_DEBUG_TRAP(); - } - - template BOOST_FORCEINLINE - void trap( typename boost::disable_if_c::type* = 0 ) - {} -} - -#endif diff --git a/inst/include/nt2/sdk/error/warning.hpp b/inst/include/nt2/sdk/error/warning.hpp deleted file mode 100644 index 527ed0f..0000000 --- a/inst/include/nt2/sdk/error/warning.hpp +++ /dev/null @@ -1,85 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#undef NT2_WARNING - -//============================================================================== -// This file has no global header guards to be able to be used in the -// same fashion boost/assert.hpp is used. -//============================================================================== - -//============================================================================== -// If warning are disabled, NT2_WARNING is a no-op -//============================================================================== -#if defined(NT2_DISABLE_WARNINGS) || defined(NDEBUG) - #define NT2_WARNING(cond,msg) ((void)0) - -//============================================================================== -// If NT2_WARNINGS_AS_ASSERTS is set, warnings turn into asserts -//============================================================================== -#elif defined(NT2_WARNINGS_AS_ASSERTS) - #include - #define NT2_WARNING(cond,msg) BOOST_ASSERT_MSG( cond, msg ) - -//============================================================================== -// If NT2_ENABLE_WARNING_HANDLER is set, user must provide a function to process -// NT2_WARNING calls. -//============================================================================== -#elif defined(NT2_ENABLE_WARNING_HANDLER) - #include - namespace nt2 - { - //========================================================================== - // This warning_handler has to be user defined - //========================================================================== - void warning_handler( char const* cond, char const* msg - , char const* fn, char const* file, long line - ); - } - - #define NT2_WARNING(cond,msg) \ - ((cond) ? ((void)0) \ - : ::nt2::warning_handler( #cond, msg \ - , BOOST_CURRENT_FUNCTION \ - , __FILE__, __LINE__ ) \ - ) \ - /**/ - -//============================================================================== -// Otherwise, warnings is handled as outputs on standard error output -//============================================================================== -#else - #define NT2_WARNING(cond,msg) \ - ((cond) ? ((void)0) \ - : ::nt2::details::warning_handler( #cond, msg \ - , BOOST_CURRENT_FUNCTION \ - , __FILE__, __LINE__ \ - ) \ - ) \ - /**/ - - #ifndef NT2_SDK_ERROR_WARNING_INCLUDED_HPP - #define NT2_SDK_ERROR_WARNING_INCLUDED_HPP - #include - #include - - namespace nt2 { namespace details - { - extern BOOST_FORCEINLINE - void warning_handler( char const* cond, char const* msg - , char const* fn, char const* file, long line - ) - { - ::fprintf ( stderr, "Warning: %s failed: %s\nIn function %s in file %s:%ld\n" - , cond, msg, fn, file, line - ); - } - } } - - #endif -#endif diff --git a/inst/include/nt2/sdk/error/warning_as_flexible.hpp b/inst/include/nt2/sdk/error/warning_as_flexible.hpp deleted file mode 100644 index ef97a5b..0000000 --- a/inst/include/nt2/sdk/error/warning_as_flexible.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_ERROR_WARNING_AS_FLEXIBLE_HPP_INCLUDED -#define NT2_SDK_ERROR_WARNING_AS_FLEXIBLE_HPP_INCLUDED - -/*! - * \file - * \brief Defines macros and functions controlling runtime warningions - */ - -#include -#include - -namespace nt2 -{ - -#ifdef NT2_WARNINGS_AS_FLEXIBLE_SOURCE - extern BOOST_SYMBOL_EXPORT log_mode_t warning_mode; -#else - extern BOOST_SYMBOL_IMPORT log_mode_t warning_mode; -#endif -} - -#if defined(NT2_WARNINGS_AS_FLEXIBLE_SOURCE) && defined(BOOST_NO_EXCEPTIONS) -#error Exceptions must be enabled to use NT2_WARNINGS_AS_FLEXIBLE -#endif - -#ifdef NT2_WARNINGS_AS_FLEXIBLE_SOURCE -#include -#include -#include -#include - -namespace nt2 -{ - // INTERNAL ONLY - // Define a warning handler for NT2 unit tests - BOOST_SYMBOL_EXPORT - void warning_handler( char const* expr, char const* msg - , char const* fn, char const* f, long l - ) - { - if(nt2::warning_mode & nt2::LOG_PRINT) - std::cerr << f << ":" << l << ": " << fn << ": warning: " << expr << "\n\t" << msg << std::endl; - - if(nt2::warning_mode & nt2::LOG_STACKDUMP) - nt2::backtrace(std::cerr); - - if(nt2::warning_mode & nt2::LOG_TRAP) - nt2::trap(); - - if(nt2::warning_mode & nt2::LOG_EXCEPT) - nt2::except_assertion_failed_msg(expr, msg, fn, f, l); - - if(nt2::warning_mode & nt2::LOG_ABORT) - std::abort(); - } -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/exhaustive/exhaustive.hpp b/inst/include/nt2/sdk/exhaustive/exhaustive.hpp deleted file mode 100644 index 445cf88..0000000 --- a/inst/include/nt2/sdk/exhaustive/exhaustive.hpp +++ /dev/null @@ -1,272 +0,0 @@ -//============================================================================== -// Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_EXHAUSTIVE_EXHAUSTIVE_HPP_INCLUDED -#define NT2_SDK_EXHAUSTIVE_EXHAUSTIVE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "omp.hpp" - -namespace nt2 -{ - /*! - @brief Exhaustive precision test for single precision - - Perform a ULP test on every representable single precision value - in a given interval. Results are reported using a bucket histogram that - gives hint on how many values fall in a given range of ULPs, - the smallest and greatest inputs in the chosen range - leading to this precision and the result from this minimum input - against the awaited result. - - @par Note: - Currently this function is designed to take care of single precision only as - running such a test on double precision values take an absurd amount of time. - - @tparam Type Data type used for computation - @param mini Lower bound of the test interval - @param maxi Upper bound of the test interval - @param test_f Function to test - @param reference_f Reference function to compare to - - @par Example: - - Here is an example to test SIMD single-precision nt2::log against scalar double-precision std::log. - - @code - #include - #include - #include - #include - - #include - - // specific to nt2 tests: specify assert handling - #define NT2_ASSERTS_AS_TRAP - #include - - #include - #include - - // function object used for the reference - struct std_log - { - float operator()(float x) const - { - return float(std::log(double(x))); - } - }; - - int main(int argc, char* argv[]) - { - // define boundaries from command-line arguments, - // fallback to default values if not provided - float mini = argc >= 2 ? std::atof(argv[1]) : nt2::Zero(); - float mini = argc >= 3 ? std::atof(argv[2]) : nt2::Valmin(); - - // type to call the function object to test with - typedef boost::simd::native n_t; - - // run the test - nt2::exhaustive_test( mini - , maxi - , nt2::functor() // function object to test - , std_log() - ); - } - @endcode - **/ - template inline - void exhaustive_test(float mini, float maxi, TestF test_f, RefF reference_f) - { - typedef Type n_t; - typedef typename boost::dispatch::meta::as_integer::type in_t; - - static const nt2::uint32_t M = 128; - static const nt2::uint32_t N = boost::simd::meta::cardinal_of::value; - in_t vN = nt2::splat(N); - - nt2::uint32_t histo[M+2]; - float maxin[M+2], minin[M+2], minref[M+2], minval[M+2]; - - for(auto& e : histo ) e = 0; - for(auto& e : minin ) e = nt2::Valmax(); - for(auto& e : maxin ) e = nt2::Valmin(); - for(auto& e : minval) e = nt2::Nan(); - for(auto& e : minref) e = nt2::Valmax(); - - auto t_min = nt2::bitwise_cast(nt2::abs(mini)); - auto t_max = nt2::bitwise_cast(nt2::abs(maxi)); - - auto diff = (mini*maxi < 0) ? std::max(t_max,t_min) + std::min(t_max,t_min) - : std::max(t_max,t_min) - std::min(t_max,t_min); - - std::cout << "Exhaustive test for: " << nt2::type_id(test_f) << "\n" - << " versus: " << nt2::type_id(reference_f) << "\n" - << " With T: " << nt2::type_id() << "\n" - << " in range: [" << mini << ", " << maxi << "]" << "\n" - << " # of tests: " << diff << "\n"; - std::cout << std::endl; - - nt2::uint32_t k = 0; - - #ifdef _OPENMP - #pragma omp parallel firstprivate(mini,maxi,diff) - #endif - { - bool hit_loc[M+2]; - nt2::uint32_t histo_loc[M+2]; - float maxin_loc[M+2] , minin_loc[M+2], minref_loc[M+2], minval_loc[M+2]; - - for(auto& e : hit_loc ) e = false; - for(auto& e : histo_loc ) e = 0; - for(auto& e : minin_loc ) e = nt2::Valmax(); - for(auto& e : maxin_loc ) e = nt2::Valmin(); - for(auto& e : minval_loc) e = nt2::Nan(); - for(auto& e : minref_loc) e = nt2::Valmax(); - - std::size_t numThreads = get_num_threads(); - std::size_t my_id = get_thread_num(); - std::size_t num_inc = diff / numThreads; - - float my_mini = nt2::successor(mini,my_id*num_inc); - float my_maxi = nt2::successor(my_mini,num_inc); - if (my_id == numThreads -1) my_maxi = maxi; - - // Fill up the reference SIMD register data - float a[N]; - a[0] = my_mini; - for(std::size_t i = 1; i < N; i++) a[i] = nt2::successor(a[i-1], 1); - n_t a0 = nt2::load(&a[0],0); - - nt2::uint32_t k_loc = 0, j = 0; - - while( nt2::extract(a0,1) < my_maxi ) - { - n_t z = test_f(a0); - - for(std::size_t i = 0; i < N; i++) - { - if (nt2::extract(a0,i)> my_maxi) break; - float v = reference_f(nt2::extract(a0,i)); - float sz = nt2::extract(z,i); - - double u = nt2::ulpdist(v, sz)*2.0+1.0; - - if(nt2::is_invalid(u)) - { - ++histo_loc[M+1]; - if (!hit_loc[M+1]) - { - maxin_loc [M+1] = minin_loc [M+1] = nt2::extract(a0,i); - minref_loc[M+1] = v; - minval_loc[M+1] = nt2::extract(z,i); - hit_loc[M+1] = true; - } - else - { - maxin_loc [M+1] = nt2::extract(a0,i); - } - } - else - { - int p = nt2::min(int(M), int(nt2::ilog2(nt2::iround(u)))); - - if (!hit_loc[p]) - { - maxin_loc [p] = minin_loc [p] = nt2::extract(a0,i); - minref_loc[p] = v; - minval_loc[p] = nt2::extract(z,i); - hit_loc[p] = true; - } - else - { - maxin_loc [p] = nt2::extract(a0,i); - } - ++histo_loc[p]; - } - - ++k_loc; - } - a0 = nt2::successor(a0, vN); - } - - #ifdef _OPENMP - #pragma omp critical - #endif - { - for (std::size_t kk=0;kk - -inline int get_num_threads() -{ - return omp_get_num_threads(); -} - -inline int get_thread_num() -{ - return omp_get_thread_num(); -} - -#else - -inline int get_num_threads() -{ - return 1; -} - -inline int get_thread_num() -{ - return 0; -} - -#endif - -} -#endif diff --git a/inst/include/nt2/sdk/functor/hierarchy.hpp b/inst/include/nt2/sdk/functor/hierarchy.hpp deleted file mode 100644 index f2a5c24..0000000 --- a/inst/include/nt2/sdk/functor/hierarchy.hpp +++ /dev/null @@ -1,46 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_FUNCTOR_HIERARCHY_HPP_INCLUDED -#define NT2_SDK_FUNCTOR_HIERARCHY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -namespace nt2 -{ - using boost::dispatch::functor; - using boost::dispatch::make_functor; - - namespace tag - { - // Sites - using boost::dispatch::tag::formal_; - using boost::dispatch::tag::cpu_; - } - -namespace ext -{ - // Function object - template - struct implement; -} } - -#endif diff --git a/inst/include/nt2/sdk/functor/meta/call.hpp b/inst/include/nt2/sdk/functor/meta/call.hpp deleted file mode 100644 index faedb4a..0000000 --- a/inst/include/nt2/sdk/functor/meta/call.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_FUNCTOR_META_CALL_HPP_INCLUDED -#define NT2_SDK_FUNCTOR_META_CALL_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::call; -} } - -#endif - diff --git a/inst/include/nt2/sdk/functor/preprocessor/call.hpp b/inst/include/nt2/sdk/functor/preprocessor/call.hpp deleted file mode 100644 index f3697d5..0000000 --- a/inst/include/nt2/sdk/functor/preprocessor/call.hpp +++ /dev/null @@ -1,18 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_FUNCTOR_PREPROCESSOR_CALL_HPP_INCLUDED -#define NT2_SDK_FUNCTOR_PREPROCESSOR_CALL_HPP_INCLUDED - -#include -#include - -#define NT2_FUNCTOR_CALL(N) BOOST_DISPATCH_CALL(N) -#define NT2_FUNCTOR_CALL_REPEAT(N) BOOST_DISPATCH_CALL_REPEAT(N) - -#endif diff --git a/inst/include/nt2/sdk/functor/preprocessor/dispatch.hpp b/inst/include/nt2/sdk/functor/preprocessor/dispatch.hpp deleted file mode 100644 index e18c636..0000000 --- a/inst/include/nt2/sdk/functor/preprocessor/dispatch.hpp +++ /dev/null @@ -1,15 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_FUNCTOR_PREPROCESSOR_DISPATCH_HPP_INCLUDED -#define NT2_SDK_FUNCTOR_PREPROCESSOR_DISPATCH_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/sdk/functor/preprocessor/function.hpp b/inst/include/nt2/sdk/functor/preprocessor/function.hpp deleted file mode 100644 index 9caef8b..0000000 --- a/inst/include/nt2/sdk/functor/preprocessor/function.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_FUNCTOR_PREPROCESSOR_FUNCTION_HPP_INCLUDED -#define NT2_SDK_FUNCTOR_PREPROCESSOR_FUNCTION_HPP_INCLUDED - -#include - -#define NT2_FUNCTION_IMPLEMENTATION(TAG,NAME,N) \ -BOOST_DISPATCH_FUNCTION_IMPLEMENTATION(TAG,NAME,N) \ -/**/ - -#define NT2_FUNCTION_IMPLEMENTATION_TPL(TAG,NAME,ARGS,N) \ -BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_TPL(TAG,NAME,ARGS,N) \ -/**/ - -#define NT2_FUNCTION_INTERFACE(TAG,NAME,N) \ -BOOST_DISPATCH_FUNCTION_INTERFACE(TAG,NAME,N) \ -/**/ - -#define NT2_FUNCTION_BODY(TAG,N) \ -BOOST_DISPATCH_FUNCTION_BODY(TAG,N) \ -/**/ - -#define NT2_FUNCTION_IMPLEMENTATION_SELF(TAG,NAME,N) \ -BOOST_DISPATCH_FUNCTION_IMPLEMENTATION_SELF(TAG,NAME,N) \ -/**/ - -#define NT2_FUNCTION_METHOD_SELF(NAME,TAG,SELF) \ -BOOST_DISPATCH_FUNCTION_METHOD_SELF(NAME,TAG,SELF) \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/functor/site.hpp b/inst/include/nt2/sdk/functor/site.hpp deleted file mode 100644 index c5baf84..0000000 --- a/inst/include/nt2/sdk/functor/site.hpp +++ /dev/null @@ -1,16 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_FUNCTOR_SITE_HPP_INCLUDED -#define NT2_SDK_FUNCTOR_SITE_HPP_INCLUDED - -#include -#include - -#endif diff --git a/inst/include/nt2/sdk/functor/site/shared_memory.hpp b/inst/include/nt2/sdk/functor/site/shared_memory.hpp deleted file mode 100644 index 0e59d59..0000000 --- a/inst/include/nt2/sdk/functor/site/shared_memory.hpp +++ /dev/null @@ -1,15 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_FUNCTOR_SITE_SHARED_MEMORY_HPP_INCLUDED -#define NT2_SDK_FUNCTOR_SITE_SHARED_MEMORY_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/sdk/functor/site/site.hpp b/inst/include/nt2/sdk/functor/site/site.hpp deleted file mode 100644 index 4feca24..0000000 --- a/inst/include/nt2/sdk/functor/site/site.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef NT2_SDK_FUNCTOR_SITE_SITE_HPP_INCLUDED -#define NT2_SDK_FUNCTOR_SITE_SITE_HPP_INCLUDED - -#include - -#endif diff --git a/inst/include/nt2/sdk/memory/adapted/buffer.hpp b/inst/include/nt2/sdk/memory/adapted/buffer.hpp deleted file mode 100644 index 5f20395..0000000 --- a/inst/include/nt2/sdk/memory/adapted/buffer.hpp +++ /dev/null @@ -1,65 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_ADAPTED_BUFFER_HPP_INCLUDED -#define NT2_SDK_MEMORY_ADAPTED_BUFFER_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace memory -{ - //============================================================================ - // Forward declaration - //============================================================================ - template< typename T - , typename Allocator = boost::simd::allocator - > class buffer; - - //============================================================================ - // External append - //============================================================================ - template - BOOST_FORCEINLINE void append( buffer& c, Iterator b, Iterator e ) - { - c.append(b,e); - } -} } - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - // value_of specialization - //============================================================================ - template - struct value_of< nt2::memory::buffer > - { - typedef T type; - }; - - //============================================================================ - // model_of specialization - //============================================================================ - template - struct model_of< nt2::memory::buffer > - { - struct type - { - template - struct apply - { - typedef typename Allocator::template rebind::other alloc_t; - typedef nt2::memory::buffer type; - }; - }; - }; -} } } - -#endif diff --git a/inst/include/nt2/sdk/memory/adapted/composite_buffer.hpp b/inst/include/nt2/sdk/memory/adapted/composite_buffer.hpp deleted file mode 100644 index a48a0f5..0000000 --- a/inst/include/nt2/sdk/memory/adapted/composite_buffer.hpp +++ /dev/null @@ -1,75 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_ADAPTED_COMPOSITE_BUFFER_HPP_INCLUDED -#define NT2_SDK_MEMORY_ADAPTED_COMPOSITE_BUFFER_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace memory -{ - //============================================================================ - // Forward declaration - //============================================================================ - template class composite_buffer; - - //============================================================================ - // External append - //============================================================================ - template - BOOST_FORCEINLINE void append ( composite_buffer& c - , Iterator b, Iterator e - ) - { - c.append(b,e); - } -} } - -namespace boost { namespace dispatch { namespace meta -{ - //============================================================================ - // value_of specializations - //============================================================================ - template - struct value_of< nt2::memory::composite_buffer > : value_of - { - }; - - template - struct value_of< nt2::memory::composite_buffer& > - { - typedef typename nt2::memory::composite_buffer::reference type; - }; - - template - struct value_of< nt2::memory::composite_buffer const&> - { - typedef typename nt2::memory::composite_buffer::const_reference type; - }; - - //============================================================================ - // model_of specialization - //============================================================================ - template - struct model_of< nt2::memory::composite_buffer > - { - struct type - { - template struct apply - { - typedef typename boost::mpl:: - apply::type,X>::type base_t; - typedef nt2::memory::composite_buffer type; - }; - }; - }; -} } } - -#endif diff --git a/inst/include/nt2/sdk/memory/adapted/container.hpp b/inst/include/nt2/sdk/memory/adapted/container.hpp deleted file mode 100644 index 580f7dd..0000000 --- a/inst/include/nt2/sdk/memory/adapted/container.hpp +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_ADAPTED_CONTAINER_HPP_INCLUDED -#define NT2_SDK_MEMORY_ADAPTED_CONTAINER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY memory::container models Container - template - struct is_container< memory::container > : boost::mpl::true_ {}; - - /// INTERNAL ONLY Option of a container use its settings and semantic - template - struct option , Tag> - : option - {}; - - /// INTERNAL ONLY - Addign option directly to a container - template - struct add_settings< memory::container, S2 > - { - typedef memory::container::type> type; - }; - - /// INTERNAL ONLY : Extract settings from container - template - struct settings_of< memory::container > - { - typedef S type; - }; -} } - -namespace boost { namespace dispatch { namespace meta -{ - /// INTERNAL ONLY value_of for container - template - struct value_of< nt2::memory::container > - { - typedef T type; - }; - - /// INTERNAL ONLY value_of for container reference - template - struct value_of< nt2::memory::container& > - { - typedef typename nt2::memory::container::reference type; - }; - - /// INTERNAL ONLY value_of for container const refere,ce - template - struct value_of< nt2::memory::container const&> - { - typedef typename nt2::memory::container::const_reference type; - }; - - /// INTERNAL ONLY model_of for container - template - struct model_of< nt2::memory::container > - { - struct type - { - template struct apply - { - typedef nt2::memory::container type; - }; - }; - }; - - /// INTERNAL ONLY hierarchy_of for container - template - struct hierarchy_of< nt2::memory::container, Origin > - { - typedef container_< Kind - , typename boost::dispatch::meta - ::property_of::type - , S - > type; - }; - - /// INTERNAL ONLY container builds a terminal from its semantic - template - struct terminal_of< nt2::memory::container > - : Kind::template terminal_of - {}; -} } } - -#endif diff --git a/inst/include/nt2/sdk/memory/adapted/container_ref.hpp b/inst/include/nt2/sdk/memory/adapted/container_ref.hpp deleted file mode 100644 index 8ba21ac..0000000 --- a/inst/include/nt2/sdk/memory/adapted/container_ref.hpp +++ /dev/null @@ -1,95 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_ADAPTED_CONTAINER_REF_HPP_INCLUDED -#define NT2_SDK_MEMORY_ADAPTED_CONTAINER_REF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY memory::container_ref models ContainerReference - template - struct is_container_ref< memory::container_ref > - : boost::mpl::true_ - {}; - - /// INTERNAL ONLY Option of a container use its settings and semantic - template - struct option , Tag> - : option - {}; - - /// INTERNAL ONLY - Adding option directly to a container_ref - template - struct add_settings< memory::container_ref, S2 > - { - typedef typename add_settings::type s_t; - typedef memory::container_ref type; - }; - - /// INTERNAL ONLY : Extract settings from container_ref - template - struct settings_of< memory::container_ref > - { - typedef S type; - }; -} } - -namespace boost { namespace dispatch { namespace meta -{ - /// INTERNAL ONLY value_of for container_ref - template - struct value_of< nt2::memory::container_ref > - { - typedef T& type; - }; - - /// INTERNAL ONLY model_of for container_ref - template - struct model_of< nt2::memory::container_ref > - { - struct type - { - template struct apply - { - typedef nt2::memory::container_ref type; - }; - }; - }; - - /// INTERNAL ONLY hierarchy_of for container_ref - template - struct hierarchy_of< nt2::memory::container_ref, Origin > - { - typedef container_< Kind - , typename boost::dispatch::meta - ::property_of::type - , S - > type; - }; - - /// INTERNAL ONLY container builds a terminal from its semantic - template - struct terminal_of< nt2::memory::container_ref > - : Kind::template terminal_of - {}; -} } } - -#endif diff --git a/inst/include/nt2/sdk/memory/adapted/container_shared_ref.hpp b/inst/include/nt2/sdk/memory/adapted/container_shared_ref.hpp deleted file mode 100644 index 435758e..0000000 --- a/inst/include/nt2/sdk/memory/adapted/container_shared_ref.hpp +++ /dev/null @@ -1,117 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_ADAPTED_CONTAINER_SHARED_REF_HPP_INCLUDED -#define NT2_SDK_MEMORY_ADAPTED_CONTAINER_SHARED_REF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -namespace nt2 { namespace tag -{ - struct terminal_; -} } - -namespace nt2 { namespace meta -{ - /// INTERNAL ONLY memory::container_shared_ref models Container - template - struct is_container< memory::container_shared_ref > - : boost::mpl::true_ {}; - - template - struct is_container_ref< memory::container_shared_ref > - : boost::mpl::true_ {}; - - /// INTERNAL ONLY Option of a container use its settings and semantic - template - struct option , Tag> - : option - {}; - - /// INTERNAL ONLY - Adding option directly to a container - template - struct add_settings< memory::container_shared_ref, S2 > - { - typedef typename add_settings::type s_t; - typedef memory::container_shared_ref type; - }; - - /// INTERNAL ONLY : Extract settings from container - template - struct settings_of< memory::container_shared_ref > - { - typedef S type; - }; -} } - -namespace boost { namespace dispatch { namespace meta -{ - /// INTERNAL ONLY value_of for container_shared_ref - template - struct value_of< nt2::memory::container_shared_ref > - { - typedef T& type; - }; - - /// INTERNAL ONLY model_of for container_shared_ref - template - struct model_of< nt2::memory::container_shared_ref > - { - struct type - { - template struct apply - { - typedef nt2::memory::container_shared_ref type; - }; - }; - }; - - /// INTERNAL ONLY hierarchy_of for container_shared_ref - template - struct hierarchy_of < nt2::memory::container_shared_ref - , Origin - > - { - typedef container_< Kind - , typename boost::dispatch::meta - ::property_of::type - , S - > type; - }; - - /// INTERNAL ONLY terminal_of_shared specialization - template - struct terminal_of_shared< nt2::memory::container > - { - typedef nt2::memory::container container; - typedef nt2::memory::container_shared_ref container_ref; - typedef boost::proto::basic_expr< nt2::tag::terminal_ - , boost::proto::term - , 0 - > basic_expr; - typedef nt2::container::expression< basic_expr, container&> type; - - static type make() - { - return type(basic_expr::make(container_ref())); - } - }; -} } } - -#endif diff --git a/inst/include/nt2/sdk/memory/buffer.hpp b/inst/include/nt2/sdk/memory/buffer.hpp deleted file mode 100644 index 74db745..0000000 --- a/inst/include/nt2/sdk/memory/buffer.hpp +++ /dev/null @@ -1,369 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_BUFFER_HPP_INCLUDED -#define NT2_SDK_MEMORY_BUFFER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Growth factor is globally optimizable -#ifndef NT2_BUFFER_GROWTH_FACTOR -#define NT2_BUFFER_GROWTH_FACTOR 2 -#endif - -namespace nt2 { namespace memory -{ - //============================================================================ - /**! - * @brief buffer is a dynamically-sized sequence using dynamic storage. - **/ - //=========================================================================== - template - class buffer : private Allocator - { - public: - //========================================================================== - // Container types - //========================================================================== - typedef typename Allocator::template rebind::other allocator_type; - typedef typename allocator_type::value_type value_type; - typedef typename allocator_type::reference reference; - typedef typename allocator_type::const_reference const_reference; - typedef typename allocator_type::pointer pointer; - typedef typename allocator_type::const_pointer const_pointer; - typedef typename allocator_type::pointer iterator; - typedef typename allocator_type::const_pointer const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - typedef typename allocator_type::size_type size_type; - typedef typename allocator_type::difference_type difference_type; - - //========================================================================== - // Default constructor - //========================================================================== - buffer( allocator_type a = allocator_type()) - : allocator_type(a) - , begin_(0), end_(0), capacity_(0) - {} - - private: - //========================================================================== - // Local helper for constructor dealing with memory - //========================================================================== - struct deleter - { - std::size_t size_; - allocator_type& alloc_; - - deleter(std::size_t s, allocator_type& a) : size_(s), alloc_(a) {} - void operator()(pointer ptr) { alloc_.deallocate(ptr,size_); } - private: - deleter& operator=(deleter const&); - }; - - public: - //========================================================================== - // Size constructor - //========================================================================== - buffer( size_type n, allocator_type a = allocator_type()) - : allocator_type(a) - , begin_(0), end_(0), capacity_(0) - { - if(!n) return; - - local_ptr that ( allocator_type::allocate(n) - , deleter(n,get_allocator()) - ); - - self_construct( that.get(), that.get() + n - , typename boost::is_same < Allocator - , fixed_allocator - >::type() - ); - - begin_ = that.release(); - end_ = capacity_ = begin_ + n; - } - - //========================================================================== - // Copy constructor with extra capacity - //========================================================================== - buffer( buffer const& src, std::size_t capa ) - : allocator_type(src.get_allocator()) - , begin_(0), end_(0), capacity_(0) - { - if(!capa) return; - - local_ptr that ( allocator_type::allocate(capa) - , deleter(capa,get_allocator()) - ); - - nt2::memory::copy_construct ( src.begin(),src.end() - , that.get() - , get_allocator() - ); - - begin_ = that.release(); - end_ = begin_ + src.size(); - capacity_ = begin_ + capa; - } - - //========================================================================== - // Copy constructor - //========================================================================== - buffer( buffer const& src ) - : allocator_type(src.get_allocator()) - , begin_(0), end_(0), capacity_(0) - { - if(!src.size()) return; - - local_ptr that ( allocator_type::allocate(src.size()) - , deleter(src.size(),get_allocator()) - ); - - nt2::memory::copy_construct ( src.begin(),src.end() - , that.get() - , get_allocator() - ); - - begin_ = that.release(); - end_ = capacity_ = begin_ + src.size(); - } - - //========================================================================== - // Destructor - //========================================================================== - ~buffer() - { - if(begin_) - { - self_destruct ( typename boost::is_same < Allocator - , fixed_allocator - >::type() - ); - - allocator_type::deallocate(begin_,capacity()); - } - } - - //========================================================================== - // Assignment - //========================================================================== - buffer& operator=(buffer const& src) - { - resize(src.size()); - nt2::memory::copy(src.begin(),src.end(),begin()); - return *this; - } - - //========================================================================== - // Non-conservative resize - //========================================================================== - void resize( size_type sz ) - { - if(sz > capacity() ) - { - // Resize to twice the requested size to optimize capacity usage - buffer that(sz,get_allocator()); - swap(that); - return; - } - - finish_resize ( sz - , typename boost::is_same < Allocator - , fixed_allocator - >::type() - ); - - end_ = begin_ + sz; - } - - //========================================================================== - // Resizes and add one element at the end - //========================================================================== - void push_back( T const& t ) - { - std::ptrdiff_t osz = size(); - - if( end_ >= capacity_ ) - { - typename boost::is_same >::type is_fixed; - buffer that(*this, new_size(osz, 1, is_fixed)); - swap(that); - } - - new(end_) T(t); - ++end_; - } - - //========================================================================== - // Resizes and add a range of elements at the end - //========================================================================== - template void append( Iterator b, Iterator e ) - { - std::ptrdiff_t osz = size(); - std::ptrdiff_t sz = e-b; - - if( end_ >= capacity_ ) - { - typename boost::is_same >::type is_fixed; - buffer that(*this, new_size(osz, sz, is_fixed)); - swap(that); - } - - nt2::memory::copy(b,e,begin_+osz); - - end_ += sz; - } - - //========================================================================== - // Swap - //========================================================================== - void swap( buffer& src ) - { - boost::swap(begin_ , src.begin_ ); - boost::swap(end_ , src.end_ ); - boost::swap(capacity_ , src.capacity_ ); - boost::swap(get_allocator() , src.get_allocator() ); - } - - //========================================================================== - // Iterators - //========================================================================== - iterator begin() { return begin_; } - const_iterator begin() const { return begin_; } - iterator end() { return end_; } - const_iterator end() const { return end_; } - - reverse_iterator rbegin() { return reverse_iterator(end()); } - reverse_iterator rend() { return reverse_iterator(begin()); } - - const_reverse_iterator rbegin() const - { - return const_reverse_iterator(end()); - } - - const_reverse_iterator rend() const - { - return const_reverse_iterator(begin()); - } - - //========================================================================== - // Allocator access - //========================================================================== - allocator_type& get_allocator() - { - return static_cast(*this); - } - - allocator_type const& get_allocator() const - { - return static_cast(*this); - } - - //========================================================================== - // Raw values - //========================================================================== - pointer data() { return begin_; } - const_pointer data() const { return begin_; } - - //========================================================================== - // Size related members - //========================================================================== - inline size_type size() const { return end_ - begin_; } - inline size_type capacity() const { return capacity_ - begin_; } - inline bool empty() const { return size() == 0; } - - //========================================================================== - // Random access - //========================================================================== - inline reference operator[](size_type i) - { - BOOST_ASSERT_MSG( nt2::memory::is_safe(*this,i) - , "Out of range acces on buffer" - ); - return begin_[i]; - } - - inline const_reference operator[](size_type i) const - { - BOOST_ASSERT_MSG( nt2::memory::is_safe(*this,i) - , "Out of range acces on buffer" - ); - return begin_[i]; - } - - private: - - inline std::size_t new_size ( std::size_t osz, std::size_t - , boost::mpl::true_ const& - ) - { - return osz; - } - - inline std::size_t new_size ( std::size_t osz, std::size_t extra - , boost::mpl::false_ const& - ) - { - return NT2_BUFFER_GROWTH_FACTOR*(osz + extra); - } - - inline void self_destruct(boost::mpl::false_ const&) - { - nt2::memory::destruct(begin_,end_,get_allocator()); - } - - inline void self_destruct(boost::mpl::true_ const&) {} - - inline void self_construct( T* b, T* e, boost::mpl::false_ const& ) - { - nt2::memory::default_construct(b,e,get_allocator()); - } - - inline void self_construct( T*, T*, boost::mpl::true_ const&) {} - - inline void finish_resize(size_type sz, boost::mpl::false_ const&) - { - if(sz < size()) - nt2::memory::destruct(begin_ + sz, end_, get_allocator()); - else - nt2::memory::default_construct(end_, begin_ + sz, get_allocator()); - } - - inline void finish_resize(size_type, boost::mpl::true_ const&) {} - - private: - pointer begin_, end_, capacity_; - }; - - //============================================================================ - /**! - * Swap the contents of two buffer of same type and allocator settings - * \param x First \c pointer_buffer to swap - * \param y Second \c pointer_buffer to swap - **/ - //============================================================================ - template inline void swap(buffer& x, buffer& y) - { - x.swap(y); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/category.hpp b/inst/include/nt2/sdk/memory/category.hpp deleted file mode 100644 index bcb22f9..0000000 --- a/inst/include/nt2/sdk/memory/category.hpp +++ /dev/null @@ -1,44 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_CATEGORY_HPP_INCLUDED -#define NT2_SDK_MEMORY_CATEGORY_HPP_INCLUDED - -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - /*! - @brief Container hierarchy - - A Container hierarchy is computed from the original type T anc - contains informations about the actual container semantic and its - settings. - **/ - template - struct container_ : container_ - { - typedef container_ parent; - }; - - /// INTERNAL ONLY - template - struct container_< Kind, unspecified_, Settings > - : generic_< typename property_of::type > - { - typedef generic_< typename property_of::type > parent; - }; -} } } - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::container_; -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/composite_buffer.hpp b/inst/include/nt2/sdk/memory/composite_buffer.hpp deleted file mode 100644 index 0300e5e..0000000 --- a/inst/include/nt2/sdk/memory/composite_buffer.hpp +++ /dev/null @@ -1,443 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_COMPOSITE_BUFFER_HPP_INCLUDED -#define NT2_SDK_MEMORY_COMPOSITE_BUFFER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace memory -{ - //============================================================================ - /** - * \brief Buffer for composite types - * - * composite_buffer allow type registered as composite to automatically be - * promoted to a structure of array instead of an array of structure. - * - * \tparam Buffer Buffer to use as an underlying storage - **/ - //============================================================================ - template class composite_buffer - { - public: - //========================================================================== - // Extract the value type of Buffer and its meta-model, convert the value - // to its equivalent fusion tuple and apply a transform to turn each types - // in this tuple into a buffer of proper model. - //========================================================================== - typedef typename Buffer::value_type base_t; - typedef typename boost::dispatch::meta::model_of::type model_t; - typedef typename boost::fusion::result_of::as_vector::type types_t; - typedef typename boost::mpl::transform::type data_t; - - //========================================================================== - // Container types - //========================================================================== - typedef base_t value_type; - - typedef typename boost::mpl:: - transform < data_t - , meta::allocator_type_ - >::type allocator_type; - - typedef typename boost::mpl:: - transform < data_t - , meta::pointer_ - >::type pointer; - - typedef typename boost::mpl:: - transform < data_t - , meta::const_pointer_ - >::type const_pointer; - - typedef nt2::container::composite_reference reference; - typedef nt2::container::composite_reference const_reference; - - typedef composite_iterator< pointer - , value_type - , reference - > iterator; - - typedef composite_iterator< const_pointer - , value_type - , const_reference - > const_iterator; - - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; - - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - private: - //========================================================================== - // Some helper - //========================================================================== - struct resizer - { - std::size_t n_; - resizer( std::size_t n ) : n_(n) {} - template BOOST_FORCEINLINE - void operator()(T& t) const { t.resize(n_); } - }; - - struct unary_ctor - { - template BOOST_FORCEINLINE - void operator()(T const& t) const - { - typename meta::strip < typename boost::fusion::result_of - ::value_at_c::type - >::type that(boost::fusion::at_c<1>(t)); - - boost::fusion::at_c<0>(t).swap(that); - } - }; - - typedef boost::fusion::vector2 seq_t; - typedef boost::fusion::zip_view view_t; - - public: - //========================================================================== - // Default constructor - //========================================================================== - composite_buffer() {} - - //========================================================================== - // Constructor from allocator - //========================================================================== - composite_buffer(allocator_type a) - { - boost::fusion::for_each( view_t( seq_t(data_,a) ), unary_ctor() ); - } - - //========================================================================== - // Size constructor - //========================================================================== - composite_buffer( size_type n ) - { - boost::fusion::for_each(data_, resizer(n) ); - } - - //========================================================================== - // Size+Allocator constructor - //========================================================================== - composite_buffer( size_type n, allocator_type a) - { - boost::fusion::for_each( view_t( seq_t(data_,a) ), unary_ctor() ); - boost::fusion::for_each( data_, resizer(n) ); - } - - //========================================================================== - // Resize - //========================================================================== - void resize( size_type sz ) - { - boost::fusion::for_each(data_, resizer(sz) ); - } - - private: - //========================================================================== - // push_back helpers - //========================================================================== - struct pusher - { - template BOOST_FORCEINLINE - void operator()(T const& t) const - { - boost::fusion::at_c<0>(t).push_back(boost::fusion::at_c<1>(t)); - } - }; - - public: - //========================================================================== - // Resizes and add one element at the end - //========================================================================== - template void push_back( T const& t ) - { - typedef boost::fusion::vector2 pseq_t; - typedef boost::fusion::zip_view pview_t; - - boost::fusion::for_each( pview_t( pseq_t(data_,t) ), pusher() ); - } - - //========================================================================== - // Resizes and add a range of elements at the end - //========================================================================== - struct appender - { - template BOOST_FORCEINLINE - void operator()(T const& t) const - { - nt2::memory::append( boost::fusion::at_c<0>(t) - , boost::fusion::at_c<1>(t) - , boost::fusion::at_c<2>(t) - ); - } - }; - - template - void append( Iterator const& b, Iterator const& e ) - { - typedef typename Iterator::sequence_type iseq_t; - typedef boost::fusion::vector3< data_t& - , iseq_t const& - , iseq_t const& - > pseq_t; - typedef boost::fusion::zip_view pview_t; - - boost::fusion::for_each( pview_t(pseq_t(data_,b,e)), appender() ); - } - - //========================================================================== - // Swap - //========================================================================== - void swap( composite_buffer& src ) - { - boost::fusion::swap(data_,src.data_); - } - - private: - //========================================================================== - // Iterators helper - //========================================================================== - struct beginer - { - template struct result; - template struct result : result {}; - template struct result - { - typedef typename Elem::iterator type; - }; - template struct result - { - typedef typename Elem::const_iterator type; - }; - - template BOOST_FORCEINLINE - typename result::type - operator()(T& t) const { return t.begin(); } - - template BOOST_FORCEINLINE - typename result::type - operator()(T const& t) const { return t.begin(); } - }; - - struct ender - { - template struct result; - template struct result : result {}; - template struct result - { - typedef typename Elem::iterator type; - }; - template struct result - { - typedef typename Elem::const_iterator type; - }; - - template BOOST_FORCEINLINE - typename result::type - operator()(T& t) const { return t.end(); } - - template BOOST_FORCEINLINE - typename result::type - operator()(T const& t) const { return t.end(); } - }; - - public: - //========================================================================== - // Iterators API - //========================================================================== - BOOST_FORCEINLINE iterator begin() - { - boost::fusion::transform_view that(data_,beginer()); - return iterator(that); - } - - BOOST_FORCEINLINE const_iterator begin() const - { - boost::fusion::transform_view that(data_,beginer()); - return const_iterator(that); - } - - BOOST_FORCEINLINE iterator end() - { - boost::fusion::transform_view that(data_, ender() ); - return iterator(that); - } - - BOOST_FORCEINLINE const_iterator end() const - { - boost::fusion::transform_view that(data_, ender() ); - return const_iterator(that); - } - - BOOST_FORCEINLINE reverse_iterator rbegin() - { - return reverse_iterator(end()); - } - - BOOST_FORCEINLINE const_reverse_iterator rbegin() const - { - return const_reverse_iterator(end()); - } - - BOOST_FORCEINLINE reverse_iterator rend() - { - return reverse_iterator(begin()); - } - - BOOST_FORCEINLINE const_reverse_iterator rend() const - { - return const_reverse_iterator(begin()); - } - - private: - //========================================================================== - // Raw values helper - //========================================================================== - struct rawer - { - template struct result; - template struct result : result {}; - template struct result - { - typedef typename Elem::pointer type; - }; - template struct result - { - typedef typename Elem::const_pointer type; - }; - - template BOOST_FORCEINLINE - typename result::type - operator()(T& t) const { return t.data(); } - - template BOOST_FORCEINLINE - typename result::type - operator()(T const& t) const { return t.data(); } - }; - - public: - //========================================================================== - // Raw values - //========================================================================== - BOOST_FORCEINLINE pointer data() - { - boost::fusion::transform_view that(data_, rawer() ); - return that; - } - - BOOST_FORCEINLINE const_pointer data() const - { - boost::fusion::transform_view that(data_, rawer() ); - return that; - } - - //========================================================================== - // Size related members - //========================================================================== - BOOST_FORCEINLINE size_type size() const - { - return boost::fusion::at_c<0>(data_).size(); - } - - BOOST_FORCEINLINE size_type capacity() const - { - return boost::fusion::at_c<0>(data_).capacity(); - } - - BOOST_FORCEINLINE bool empty() const - { - return boost::fusion::at_c<0>(data_).empty(); - } - - //========================================================================== - // Random access helper - //========================================================================== - private: - struct indexer - { - template struct result; - template struct result : result {}; - template struct result - { - typedef typename Elem::reference type; - }; - template struct result - { - typedef typename Elem::const_reference type; - }; - - size_type i_; - indexer(size_type i) : i_(i) {} - - template BOOST_FORCEINLINE - typename result::type - operator()(T& t) const { return t[i_]; } - - template BOOST_FORCEINLINE - typename result::type - operator()(T const& t) const { return t[i_]; } - }; - - //========================================================================== - // Random access - //========================================================================== - public: - BOOST_FORCEINLINE reference operator[](size_type i) - { - boost::fusion::transform_view that(data_,indexer(i)); - return that; - } - - BOOST_FORCEINLINE const_reference operator[](size_type i) const - { - boost::fusion::transform_view that(data_,indexer(i)); - return that; - } - - private: - data_t data_; - }; - - //============================================================================ - /**! - * Swap the contents of two composite_buffer of same type and allocator - * settings - * \param x First \c composite_buffer to swap - * \param y Second \c composite_buffer to swap - **/ - //============================================================================ - template - inline void swap(composite_buffer& x, composite_buffer& y) - { - x.swap(y); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/composite_iterator.hpp b/inst/include/nt2/sdk/memory/composite_iterator.hpp deleted file mode 100644 index 8b450f8..0000000 --- a/inst/include/nt2/sdk/memory/composite_iterator.hpp +++ /dev/null @@ -1,171 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_COMPOSITE_ITERATOR_HPP_INCLUDED -#define NT2_SDK_MEMORY_COMPOSITE_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -//============================================================================== -/** - * \file - * \brief Defines and implements the \c nt2::memory::composite_iterator class - **/ -//============================================================================== - -namespace nt2 { namespace memory -{ - template - class composite_iterator - : public boost:: - iterator_facade < composite_iterator - , V, std::random_access_iterator_tag - // boost::random_access_traversal_tag - , R - > - { - private: - struct enabler {}; - - public: - typedef P sequence_type; - - //========================================================================== - // Default constructor - //========================================================================== - composite_iterator() {} - - //========================================================================== - // Construct from a fusion sequence of pointer - //========================================================================== - explicit composite_iterator(P const& p) : composites_(p) {} - - //========================================================================== - // Construct from a compatible composite_iterator - //========================================================================== - template - composite_iterator( composite_iterator const& other - , typename boost:: - enable_if < boost::is_convertible - , enabler - >::type = enabler() - ) - : composites_(other.composites_) - {} - - void display(std::ostream& os) const - { - os << boost::fusion::as_vector(composites_); - } - - //XXXMathias: needed for iterator-to-pointer conversion in container_ref constructor - //TODO: find a better way to deal with this? - operator P const&() const - { - return composites_; - } - - private: - friend class boost::iterator_core_access; - template friend class composite_iterator; - - //========================================================================== - // Various Fusion for_each helpers - //========================================================================== - struct inc - { - template BOOST_FORCEINLINE void operator()(T& t) const { t++; } - }; - - struct dec - { - template BOOST_FORCEINLINE void operator()(T& t) const { t--; } - }; - - struct adv - { - std::ptrdiff_t n_; - adv(std::ptrdiff_t n) : n_(n) {} - template - BOOST_FORCEINLINE void operator()(T& t) const { t += n_; } - }; - - struct derefer - { - template struct result; - template struct result - { - typedef typename boost::iterator_reference::type type; - }; - - template BOOST_FORCEINLINE - typename result::type - operator()(T const& t) const { return *t; } - }; - - //========================================================================== - // Implement ++ for RandomAccessIterator interface - //========================================================================== - void increment() { boost::fusion::for_each(composites_,inc()); } - - //========================================================================== - // Implement -- for RandomAccessIterator interface - //========================================================================== - void decrement() { boost::fusion::for_each(composites_,dec()); } - - //========================================================================== - // Implement it + n for RandomAccessIterator interface - //========================================================================== - void advance(std::ptrdiff_t n) - { - boost::fusion::for_each(composites_,adv(n)); - } - - //========================================================================== - // Implement distance for RandomAccessIterator interface - //========================================================================== - std::ptrdiff_t distance_to(composite_iterator const& z) const - { - return std::distance( boost::fusion::at_c<0>(composites_) - , boost::fusion::at_c<0>(z.composites_) - ); - } - - //========================================================================== - // Implement equality comparison for RandomAccessIterator interface - //========================================================================== - bool equal(composite_iterator const& other) const - { - return composites_ == other.composites_; - } - - //========================================================================== - // Implement oeprator* for RandomAccessIterator interface - //========================================================================== - R dereference() const - { - boost::fusion::transform_view

that(composites_,derefer()); - return that; - } - - P composites_; - }; - - template - std::ostream& operator<<(std::ostream& os,composite_iterator const& i) - { - i.display(os); - return os; - } -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/composite_reference.hpp b/inst/include/nt2/sdk/memory/composite_reference.hpp deleted file mode 100644 index f8cedd5..0000000 --- a/inst/include/nt2/sdk/memory/composite_reference.hpp +++ /dev/null @@ -1,208 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_COMPOSITE_REFERENCE_HPP_INCLUDED -#define NT2_SDK_MEMORY_COMPOSITE_REFERENCE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -//============================================================================== -/** - * \file - * \brief Defines and implements the \c nt2::memory::composite_reference class - **/ -//============================================================================== -namespace nt2 { namespace container -{ - template - class composite_reference - : public boost::mpl:: - transform < typename boost::fusion::result_of:: - as_vector::type - , boost::mpl::if_ - < boost::is_const - , meta::const_reference_ - , meta::reference_ - > - >::type - { - public: - typedef typename boost::remove_const::type value_type; - typedef typename boost::mpl:: - transform < typename boost::fusion::result_of::as_vector::type - , boost::mpl::if_ < boost::is_const - , meta::const_reference_ - , meta::reference_ - > - >::type parent; - - template - composite_reference ( U& src - , typename boost - ::enable_if< boost::is_convertible >::type* = 0 - ) : parent( src ) - {} - - template - composite_reference& operator=(U const& src) - { - boost::fusion::copy(src,*this); - return *this; - } - - operator value_type() const - { - return boost::simd::as_tuple(*this); - } - }; - - template - std::ostream& operator<<(std::ostream& os,composite_reference const& cr) - { - return boost::fusion::out(os, cr); - } -} } - -// composite_reference is a proxy type -namespace boost { namespace dispatch { namespace meta -{ - template - struct hierarchy_of< nt2::container::composite_reference - , Origin - > - { - typedef meta::proxy_ type; - }; -} } } - -// composite_reference is a pseudo-reference type, adapt meta-functions -// that removes reference qualifiers accordingly -namespace boost { namespace dispatch { namespace meta -{ - template - struct strip< nt2::container::composite_reference > - { - typedef typename nt2::container::composite_reference::value_type type; - }; - - template - struct value_of< nt2::container::composite_reference > - : add_reference::type> - { - }; - - template - struct scalar_of< nt2::container::composite_reference > - : boost::mpl::if_< boost::is_same< typename scalar_of::type - , T - > - , nt2::container::composite_reference - , typename add_reference::type>::type - > - { - }; - - template - struct model_of< nt2::container::composite_reference > - { - template - struct apply - { - typedef nt2::container::composite_reference type; - }; - }; -} } } - -namespace boost -{ - template - struct remove_reference< nt2::container::composite_reference > - { - typedef T type; - }; -} - -// disable Fusion overloads, use our own -namespace boost { namespace simd -{ - template - struct is_value; - - template - struct is_value< nt2::container::composite_reference > - : is_value - { - }; -} } - -namespace boost { namespace fusion { namespace traits -{ - template - struct enable_equality < nt2::container::composite_reference - , nt2::container::composite_reference - > - : boost::mpl::not_< simd::is_value > - {}; - - template - struct enable_equality < nt2::container::composite_reference - , T - > - : boost::mpl::not_< simd::is_value > - {}; - - template - struct enable_equality < T - , nt2::container::composite_reference - > - : boost::mpl::not_< simd::is_value > - {}; - - template - struct enable_comparison < nt2::container::composite_reference - , nt2::container::composite_reference - > - : boost::mpl::not_< simd::is_value > - {}; - - template - struct enable_comparison < nt2::container::composite_reference - , T - > - : boost::mpl::not_< simd::is_value > - {}; - - template - struct enable_comparison < T - , nt2::container::composite_reference - > - : boost::mpl::not_< simd::is_value > - {}; -} } } - -#endif diff --git a/inst/include/nt2/sdk/memory/construct.hpp b/inst/include/nt2/sdk/memory/construct.hpp deleted file mode 100644 index 9dbaa4c..0000000 --- a/inst/include/nt2/sdk/memory/construct.hpp +++ /dev/null @@ -1,76 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_CONSTRUCT_HPP_INCLUDED -#define NT2_SDK_MEMORY_CONSTRUCT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - template inline - void default_construct(In, In, Alloc&, boost::mpl::true_ const&) {} - - template inline - void default_construct(In begin, In end, Alloc&, boost::mpl::false_ const&) - { - typedef typename Alloc::value_type value_type; - - while(begin != end) - { - begin = new (begin) value_type; - begin++; - } - } - - template inline - void copy_construct ( In b, In e, Out d, Alloc const& - , boost::mpl::true_ const& - ) - { - nt2::memory::copy(b,e,d); - } - - template inline - void copy_construct ( In begin, In end, Out dst - , Alloc& alloc, boost::mpl::false_ const& - ) - { - while(begin != end) alloc.construct(dst++, *begin++); - } -} } - -namespace nt2 { namespace memory -{ - /*! - * Wrapper around potential idem-potent default constructor calls - **/ - template inline - void default_construct(In begin, In end, Alloc& alloc) - { - typedef typename Alloc::value_type value_type; - typename boost::has_trivial_default_constructor::type status; - nt2::details::default_construct(begin,end,alloc,status); - } - - /*! - * Wrapper around in-place copy-constructor - **/ - template inline - void copy_construct(In begin, In end, Out dst, Alloc alloc) - { - typedef typename Alloc::value_type value_type; - typename boost::has_trivial_copy_constructor::type status; - nt2::details::copy_construct(begin,end,dst,alloc,status); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/container.hpp b/inst/include/nt2/sdk/memory/container.hpp deleted file mode 100644 index 2efb1b7..0000000 --- a/inst/include/nt2/sdk/memory/container.hpp +++ /dev/null @@ -1,517 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_CONTAINER_HPP_INCLUDED -#define NT2_SDK_MEMORY_CONTAINER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef NT2_LOG_COPIES -#include -#endif - -namespace nt2 { namespace tag -{ - struct table_; -} } - -namespace nt2 { namespace memory -{ - /*! - @brief Memory handling typename for nt2 Container - - container is the base typename handling a container semantic, layout and - memory used by nt2 terminals. It is built from a value - @c Type, a list of @c Settings describing how it should behave both at - runtime and compile-time and a @c Kind describing which kind of - high-level behavior the container will have. - - @tparam Kind Describe the behavior of the container - @tparam Type Value type to store in the table - @tparam Setting Options list describing the options of the container - **/ - template - struct container : public container_base - { - public: - - /// INTERNAL ONLY Precomputed semantic type - typedef Kind kind_type; - - /// INTERNAL ONLY Precomputed settings type - typedef Settings settings_type; - - /// INTERNAL ONLY locality option - typedef typename meta::option < Settings - , tag::locality_ - , Kind - >::type locality_t; - - /// INTERNAL ONLY storage_scheme option - typedef typename meta::option < Settings - , tag::storage_scheme_ - , Kind - >::type scheme_t; - - /// INTERNAL ONLY Storage Scheme option - typedef typename scheme_t::template apply scheme_type; - - /// INTERNAL ONLY Base buffer type - typedef typename locality_t::template traits::buffer_type buffer_t; - - /// INTERNAL ONLY Retrieve interleaving option - typedef typename meta::option < Settings - , tag::interleaving_ - , Kind - >::type::interleaving_type inter_t; - - /// INTERNAL ONLY Check if Type is a Fusion Sequence - typedef boost::fusion::traits::is_sequence composite_t; - - /*! - @brief Container memory buffer type - - This typedef defines the type used by container to store its values. - This type is computed by using the various settings the container may - have. - **/ - typedef typename boost::mpl::if_< boost::mpl::and_ - , composite_buffer - , buffer_t - >::type buffer_type; - - /*! - @brief Hardware specific data type - - Depending on current architecture, container data block may need to be - augmented by a hardware specific member that take care of said hardware - specificities - - @see spec_data - **/ - typedef typename specific_data< typename boost::dispatch:: - default_site::type - , Type - >::type specific_data_type; - - /// @brief Allocator type used by the Container - typedef typename meta::allocator_type_::type allocator_type; - - /// @brief Value type stored by the Container - typedef typename buffer_type::value_type value_type; - - /// @brief Iterator type exposed by the Container - typedef typename buffer_type::iterator iterator; - - /// @brief Constant iterator type exposed by the Container - typedef typename buffer_type::const_iterator const_iterator; - - /// @brief Reference type exposed by the Container - typedef typename buffer_type::reference reference; - - /// @brief Constant reference type exposed by the Container - typedef typename buffer_type::const_reference const_reference; - - /// @brief Size type exposed by the Container - typedef typename buffer_type::size_type size_type; - - /// @brief Interval type exposed by the Container - typedef typename buffer_type::difference_type difference_type; - - /// @brief Pointer type exposed by the Container - typedef typename buffer_type::pointer pointer; - - /// @brief Constant pointer type exposed by the Container - typedef typename buffer_type::const_pointer const_pointer; - - /// @brief Type used to store extent of the data - typedef typename meta::option < Settings - , tag::of_size_ - , Kind - >::type extent_type; - - /// @brief Type used to store base index value of the data - typedef typename meta::option < Settings - , tag::index_ - , Kind - >::type index_type; - - /// @brief Type used to represent the container storage order - typedef typename meta::option < Settings - , tag::storage_order_ - , Kind - >::type order_type; - - /// INTERNAL ONLY detects if default initialization is required - typedef typename meta::option < Settings - , tag::storage_duration_ - , Kind - >::type::storage_duration_type duration_t; - - typedef boost::is_same is_automatic_t; - /// INTERNAL ONLY Check if static initialization is required - /// This is true for non-automatic, non-empty container - typedef boost::mpl:: - bool_ < ! ( boost::mpl::at_c - ::type::value <= 0 - ) - && !is_automatic_t::value - > require_static_init; - - /// INTERNAL ONLY detects if container size is known at compile time - typedef boost::mpl:: - bool_ has_static_size; - - /*! - @brief Default constructor - - A default-constructed container is initialized to be: - - empty if its size is dynamic - - preallocated if its size is static or its storage is automatic - **/ - container() : data_() - { - init(sizes_, require_static_init()); - } - -#ifdef NT2_LOG_COPIES - container(container const& other) : data_(other.data_), sizes_(other.sizes_) - { - std::cout << "copying container" << std::endl; - } - - container& operator=(container const& other) - { - data_ = other.data_; - sizes_ = other.sizes_; - std::cout << "assigning container" << std::endl; - return *this; - } -#endif - - /*! - @brief Constructor from an allocator - - Construct a container from an allocator instance. Such container is - initialized to be: - - empty if its size is dynamic - - pre-allocated if its size is static or its storage is automatic - - container is aware of stateful allocator and will handle - them properly. - - @param a Allocator used for container construction - **/ - container ( allocator_type const& a ) : data_(a) - { - init(sizes_, require_static_init()); - } - - - /*! - @brief Constructor from a container with different settings - - Should be called only if both containers are layout compatible - and an implementation of copy is available for these buffers. - **/ - template - void assign(nt2::memory::container const& other) - { - sizes_ = other.sizes_; - copy(other.data_,data_); - } - - /*! - @brief Construct a container from a dimension set - - Construct a container from a Fusion RandomAccessSequence of integral - values representing the logical number of element in each dimensions. - - Passing a dimension set to container with automatic storage or set up - to use a static dimension set will result in a assert being raised if - said dimension set is not compatible with its static size. - - container is aware of stateful allocator and will handle them properly. - - @param sz Fusion Sequence to use as dimensions - @param a Allocator used for container construction - **/ - template - container ( Size const& sz, allocator_type const& a = allocator_type() ) - : data_(a), sizes_(sz) - { - BOOST_ASSERT_MSG( !has_static_size::value || sz == extent_type() - , "Invalid constructor for statically sized container" - ); - init(sizes_); - } - - /*! - @brief container swapping - - Swap the contents of current container with another container - - @param y container to swap @c *this with - **/ - template - BOOST_FORCEINLINE void swap(container& y) - { - data_.swap(y.data_); - sizes_.swap(y.sizes_); - this->specifics().swap(y.specifics()); - } - - BOOST_FORCEINLINE void swap(Type& y) - { - BOOST_ASSERT_MSG( sizes_ == _0D(), "swapping non-singleton container with scalar" ); - boost::swap(y, data_[0]); - } - - //========================================================================== - /*! - * @brief Resize a container using new dimensions set - */ - //========================================================================== - template void resize( Size const& szs ) - { - resize( szs - , boost::mpl::bool_() - , typename is_automatic_t::type() - ); - } - - //========================================================================== - /*! - * @brief Add element at end of container, reshape to 1D - */ - //========================================================================== - void push_back( value_type const& t ) - { - data_.push_back(t); - sizes_ = extent_type(numel(sizes_) + 1); - } - - //========================================================================== - /*! - * @brief Add range of element at end of container's most external dimension - */ - //========================================================================== - template void push_back(Container const& c, std::size_t d) - { - BOOST_ASSERT_MSG( d >= (nt2::ndims(sizes_)-1u) - , "Dimension for push_back isn't outer dimension" - ); - BOOST_ASSERT_MSG( d < extent_type::static_size && (empty() || std::equal(c.extent().begin(), c.extent().begin()+std::min(d,c.extent().size()), sizes_.begin())) - , "Incompatible size in range push_back" - ); - - if(empty()) - sizes_ = c.extent(); - else - sizes_[d] += (d < c.extent().size()) ? c.extent()[d] : 1u; - - nt2::memory::append(data_,c.begin(), c.end()); - }; - - template void push_back(Container const& c) - { - return this->push_back(c, nt2::ndims(c.extent())); - } - - /*! - @brief Return the container dimensions set - @return A reference to a constant Fusion RandomAccessSequence containing - the size of the container over each of its dimensions. - **/ - BOOST_FORCEINLINE extent_type const& extent() const { return sizes_; } - - /*! - @brief Return the container number of element - @return The number of logical element stored in the buffer. - **/ - BOOST_FORCEINLINE size_type size() const { return data_.size(); } - - /*! - @brief Return the container number of element along the main dimension - @return The number of elements stored on the main dimension - **/ - BOOST_FORCEINLINE size_type leading_size() const - { - typedef typename boost::mpl - ::apply < order_type - , boost::mpl::size_t - , boost::mpl::size_t<0U> - >::type dim_t; - return sizes_[dim_t::value]; - } - - /*! - @brief Check for if container is empty - @return A boolean that evaluates to @c true if the container - number of elements is 0. - **/ - BOOST_FORCEINLINE bool empty() const { return data_.empty(); } - - /*! - @brief Raw memory accessor - @return Pointer to the raw memory of the container - **/ - BOOST_FORCEINLINE pointer data() { return data_.data(); } - - /// @overload - BOOST_FORCEINLINE const_pointer data() const { return data_.data(); } - - /*! - @brief Container's beginning of data - @return Pointer to the beginning of the container underlying sequence - **/ - BOOST_FORCEINLINE iterator begin() { return data_.begin(); } - - /// @overload - BOOST_FORCEINLINE const_iterator begin() const { return data_.begin(); } - - /*! - @brief Container's end of data - @return Pointer to the end of the container underlying sequence - **/ - BOOST_FORCEINLINE iterator end() { return data_.end(); } - - /// @overload - BOOST_FORCEINLINE const_iterator end() const { return data_.end(); } - - /*! - @brief Random access to container's data - @param i Index of the element to access - @return Reference to the ith element of the container - **/ - BOOST_FORCEINLINE reference operator[](size_type i) - { - this->specifics().synchronize(); - return data_[i]; - } - - /// @overload - BOOST_FORCEINLINE const_reference operator[](size_type i) const - { - this->specifics().synchronize(); - return data_[i]; - } - - protected: - - /// INTERNAL ONLY - /// Initialization of inner data_ and sizes_ - /// Note that the number of non-trivial (nnz) is delegated to storage scheme - template BOOST_FORCEINLINE void init( Size const& ) - { - data_.resize( scheme_type::nnz( sizes_ ) ); - } - - /// INTERNAL ONLY - /// Handle the default initialization of statically-sized dynamic container - template BOOST_FORCEINLINE - void init(Size const& sz, boost::mpl::true_ const& ) { init(sz); } - - template BOOST_FORCEINLINE - void init(Size const&, boost::mpl::false_ const& ) {} - - /// INTERNAL ONLY - Handle the resize of statically sized container - template BOOST_FORCEINLINE - void resize ( Size const& szs - , boost::mpl::true_ const& - , boost::mpl::true_ const& - ) - { - boost::ignore_unused(szs); - BOOST_ASSERT_MSG( szs == extent_type() - , "Statically sized container can't be resized dynamically" - ); - } - - /// INTERNAL ONLY - Handle the resize of dynamic container - template BOOST_FORCEINLINE - void resize ( Size const& szs - , boost::mpl::false_ const& - , boost::mpl::false_ const& - ) - { - if( szs != sizes_ ) - { - sizes_ = extent_type(szs); - init(sizes_); - } - } - - /// INTERNAL ONLY - Handle the resize of container with static storage_size - template BOOST_FORCEINLINE - void resize ( Size const& szs - , boost::mpl::false_ const& - , boost::mpl::true_ const& - ) - { - sizes_ = extent_type(szs); - } - - private: - buffer_type data_; - extent_type sizes_; - - template - friend struct container; - }; - - /*! - @brief Container generalized swap - - Swap the contents of two containers - - @param x First @c container to swap - @param y Second @c container to swap - **/ - template< typename Kind1, typename Kind2 - , typename T - , typename S1, typename S2 - > - BOOST_FORCEINLINE - void swap(container& x, container& y) { x.swap(y); } - - /// @overload - template - BOOST_FORCEINLINE - void swap(T& x, container& y) { y.swap(x); } - - /// @overload - template - BOOST_FORCEINLINE - void swap(container& x, T& y) { x.swap(y); } - -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/container_ref.hpp b/inst/include/nt2/sdk/memory/container_ref.hpp deleted file mode 100644 index ce1bb75..0000000 --- a/inst/include/nt2/sdk/memory/container_ref.hpp +++ /dev/null @@ -1,300 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_CONTAINER_REF_HPP_INCLUDED -#define NT2_SDK_MEMORY_CONTAINER_REF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace memory -{ - //============================================================================ - /*! - * container_ref is like container, but instead of wrapping a buffer it wraps - * a pointer. Copying a container_ref does not copy any data. - * - * \tparam Type Value type to store in the table - * \tparam Setting Options list describing the behavior of the container - **/ - //============================================================================ - template - struct container_ref - { - /// INTERNAL ONLY Precomputed semantic type - typedef Kind kind_type; - typedef S settings_type; - typedef typename boost::remove_const::type value_type; - typedef std::size_t size_type; - typedef typename meta::option::type extent_type; - typedef typename meta::option::type order_type; - typedef typename meta::option::type locality_t; - - typedef typename specific_data< typename boost::dispatch:: - default_site::type - , value_type - >::type specific_data_type; - - typedef typename boost::mpl:: - if_< boost::is_const - , container const - , container - >::type base_t; - - typedef typename boost::mpl:: - if_< boost::is_const - , container_base const - , container_base - >::type cbase_t; - - typedef typename boost::mpl:: - if_< boost::is_const - , typename base_t::const_reference - , typename base_t::reference - >::type reference; - typedef typename boost::mpl:: - if_< boost::is_const - , typename base_t::const_pointer - , typename base_t::pointer - >::type pointer; - typedef typename boost::mpl:: - if_< boost::is_const - , typename base_t::const_iterator - , typename base_t::iterator - >::type iterator; - typedef typename base_t::const_reference const_reference; - typedef typename base_t::const_pointer const_pointer; - typedef typename base_t::const_iterator const_iterator; - - container_ref() : ptr(), base_() - { - } - - container_ref(T& value) : ptr(&value), sz(_0D()), base_() - { - } - - template - container_ref (container_ref const& other) - : ptr(other.ptr), sz(other.sz), base_(other.base_) - { - } - - template - container_ref (container_shared_ref const& other) - : ptr(other.ptr), sz(other.sz), base_(other.base_.get()) - { - } - - template - container_ref (container_shared_ref const& other) - : ptr(other.data()), sz(other.extent()) - , base_(other.base_.get()) - { - } - - container_ref(pointer p, extent_type const& sz_) : ptr(p), sz(sz_), base_() - { - } - - template - container_ref (container& c) - : ptr(c.data()), sz(c.extent()), base_(&c) - { - } - template - container_ref (container const& c) - : ptr(c.data()), sz(c.extent()), base_(&c) - { - } - - template - container_ref (container& c, pointer p, extent_type const& sz_) - : ptr(p), sz(sz_), base_(&c) - { - } - template - container_ref (container const& c - , pointer p, extent_type const& sz_ - ) - : ptr(p), sz(sz_), base_(&c) - { - } - - template - container_ref ( container_ref const& c - , pointer p, extent_type const& sz_ - ) - : ptr(p), sz(sz_), base_(c.base_) - { - } - - //========================================================================== - /**! - * Swap the contents of two container of same type and settings - * \param y Second \c container to swap, the first being *this - **/ - //========================================================================== - BOOST_FORCEINLINE void swap(container_ref& y) - { - boost::swap(*this, y); - } - - //========================================================================== - /*! - * @brief Resize a container using new dimensions set - */ - //========================================================================== - template - void resize( Size const& ) const - { - // do nothing - } - - //========================================================================== - /*! - * @brief Add element at end of container, reshape to 1D - */ - //========================================================================== - void push_back( value_type const& ) - { - // do nothing - } - - //========================================================================== - /*! - * @brief Add range of element at end of container's most external dimension - */ - //========================================================================== - template void push_back( Container const& ) - { - // do nothing - }; - - //========================================================================== - /*! - * @brief Return the container dimensions set - * @return A reference to a constant Fusion RandomAccessSequence containing - * the size of the container over each of its dimensions. - **/ - //========================================================================== - BOOST_FORCEINLINE extent_type const& extent() const - { - return sz; - } - - //========================================================================== - /*! - * @brief Return the container number of element - * @return The number of logical element stored in the buffer. - **/ - //========================================================================== - BOOST_FORCEINLINE size_type size() const - { - return numel(sz); - } - - //========================================================================== - /*! - * @brief Return the container number of element along the main dimension - * - * leading_size retrieves the number of element of the leading dimension in - * a settings independant way. - * - * @return The number of elements stored on the main dimension - */ - //========================================================================== - BOOST_FORCEINLINE size_type leading_size() const - { - typedef typename boost::mpl - ::apply < order_type - , boost::mpl::size_t - , boost::mpl::size_t<0U> - >::type dim_t; - return extent()[dim_t::value]; - } - - //========================================================================== - /*! - * @brief Check for container emptyness - * @return A boolean that evaluates to \c true if the container stores no - * value, \c false otherwise. - */ - //========================================================================== - BOOST_FORCEINLINE bool empty() const { return size() == 0u; } - - //========================================================================== - /*! - * Return the begin of the raw memory - */ - //========================================================================== - BOOST_FORCEINLINE pointer data() const { return ptr; } - - //========================================================================== - /*! - * Return the begin of the data - */ - //========================================================================== - BOOST_FORCEINLINE iterator begin() const { return iterator(ptr); } - - //========================================================================== - /*! - * Return the end of the data - */ - //========================================================================== - BOOST_FORCEINLINE iterator end() const { return begin() + size(); } - - //========================================================================== - // Linear Random Access - //========================================================================== - BOOST_FORCEINLINE reference operator[](size_type i) const - { - return begin()[i]; - } - - //========================================================================== - /*! - * @brief Access to the architecture specific container data - * As the inner structure of a container may change with the hardware - * configuration, a specific data segment is provided to gather informations - * that may be required for proper operation on said configuration. - * - * @return A reference to the specific data of the container. - **/ - //========================================================================== - specific_data_type& specifics() const { return base_->specifics(); } - - cbase_t* base() const { return base_; } - - private: - template - friend struct container_ref; - - pointer ptr; - extent_type sz; - cbase_t* base_; - }; - - //============================================================================ - /**! - * Swap the contents of two container of same type and settings - * \param x First \c container to swap - * \param y Second \c container to swap - **/ - //============================================================================ - template inline - void swap(container_ref& x, container_ref& y) - { - x.swap(y); - } - -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/container_shared_ref.hpp b/inst/include/nt2/sdk/memory/container_shared_ref.hpp deleted file mode 100644 index bf7193d..0000000 --- a/inst/include/nt2/sdk/memory/container_shared_ref.hpp +++ /dev/null @@ -1,470 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_CONTAINER_SHARED_REF_HPP_INCLUDED -#define NT2_SDK_MEMORY_CONTAINER_SHARED_REF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace memory -{ - //============================================================================ - /*! - * container_shared_ref is like container_ref, but references a shared_ptr - * to a container to keep it alive. - * - * \tparam Type Value type to store in the table - * \tparam Setting Options list describing the behavior of the container - **/ - //============================================================================ - template - struct container_shared_ref - { - /// INTERNAL ONLY Precomputed semantic type - typedef Kind kind_type; - - typedef S settings_type; - - typedef typename boost::remove_const::type value_type; - typedef std::size_t size_type; - - typedef typename meta::option::type extent_type; - typedef typename meta::option::type order_type; - - typedef typename specific_data< typename boost::dispatch:: - default_site::type - , value_type - >::type specific_data_type; - - typedef typename boost::mpl:: - if_< boost::is_const - , container const - , container - >::type base_t; - - typedef typename boost::mpl:: - if_< boost::is_const - , container_base const - , container_base - >::type cbase_t; - - typedef typename boost::mpl:: - if_< boost::is_const - , typename base_t::const_reference - , typename base_t::reference - >::type reference; - typedef typename boost::mpl:: - if_< boost::is_const - , typename base_t::const_pointer - , typename base_t::pointer - >::type pointer; - typedef typename boost::mpl:: - if_< boost::is_const - , typename base_t::const_iterator - , typename base_t::iterator - >::type iterator; - typedef typename base_t::const_reference const_reference; - typedef typename base_t::const_pointer const_pointer; - typedef typename base_t::const_iterator const_iterator; - - container_shared_ref() : ptr() - { - } - - template - container_shared_ref(container_shared_ref const& other) - : ptr(other.data()) - , sz(other.extent()) - , base_(other.base_) - { - } - - template - container_shared_ref( container_shared_ref const& other - , pointer p - , extent_type const& sz_ - ) - : ptr(p), sz(sz_), base_(other.base_) - { - } - - //========================================================================== - /**! - * Swap the contents of two container of same type and settings - * \param y Second \c container to swap, the first being *this - **/ - //========================================================================== - BOOST_FORCEINLINE void swap(container_shared_ref& y) - { - boost::swap(*this, y); - } - - //========================================================================== - /*! - * @brief Resize a container using new dimensions set - */ - //========================================================================== - template - void resize( Size const& ) const - { - // do nothing - } - - //========================================================================== - /*! - * @brief Add element at end of container, reshape to 1D - */ - //========================================================================== - void push_back( value_type const& ) - { - // do nothing - } - - //========================================================================== - /*! - * @brief Return the container dimensions set - * @return A reference to a constant Fusion RandomAccessSequence containing - * the size of the container over each of its dimensions. - **/ - //========================================================================== - BOOST_FORCEINLINE extent_type const& extent() const - { - return sz; - } - - //========================================================================== - /*! - * @brief Return the container number of element - * @return The number of logical element stored in the buffer. - **/ - //========================================================================== - BOOST_FORCEINLINE size_type size() const - { - return numel(extent()); - } - - //========================================================================== - /*! - * @brief Return the container number of element along the main dimension - * - * leading_size retrieves the number of element of the leading dimension in - * a settings independant way. - * - * @return The number of elements stored on the main dimension - */ - //========================================================================== - BOOST_FORCEINLINE size_type leading_size() const - { - typedef typename boost::mpl - ::apply < order_type - , boost::mpl::size_t - , boost::mpl::size_t<0U> - >::type dim_t; - return extent()[dim_t::value]; - } - - //========================================================================== - /*! - * @brief Check for container emptyness - * @return A boolean that evaluates to \c true if the container stores no - * value, \c false otherwise. - */ - //========================================================================== - BOOST_FORCEINLINE bool empty() const { return size() == 0u; } - - //========================================================================== - /*! - * Return the begin of the raw memory - */ - //========================================================================== - BOOST_FORCEINLINE pointer data() const { return ptr; } - - //========================================================================== - /*! - * Return the begin of the data - */ - //========================================================================== - BOOST_FORCEINLINE iterator begin() const { return iterator(ptr); } - - //========================================================================== - /*! - * Return the end of the data - */ - //========================================================================== - BOOST_FORCEINLINE iterator end() const { return begin() + size(); } - - //========================================================================== - // Linear Random Access - //========================================================================== - BOOST_FORCEINLINE reference operator[](size_type i) const - { - return begin()[i]; - } - - //========================================================================== - /*! - * @brief Access to the architecture specific container data - * As the inner structure of a container may change with the hardware - * configuration, a specific data segment is provided to gather informations - * that may be required for proper operation on said configuration. - * - * @return A reference to the specific data of the container. - **/ - //========================================================================== - specific_data_type& specifics() const { BOOST_ASSERT_MSG(0, "unimplemented"); } - - boost::shared_ptr base() const { return base_; } - - private: - template - friend struct container_shared_ref; - - template - friend struct container_ref; - - pointer ptr; - extent_type sz; - boost::shared_ptr base_; - }; - - // this is really just a container adaptor with shallow copying - template - struct container_shared_ref - { - typedef T value_type; - typedef std::size_t size_type; - - typedef typename meta::option::type extent_type; - typedef typename meta::option::type order_type; - - typedef typename specific_data< typename boost::dispatch:: - default_site::type - , value_type - >::type specific_data_type; - - typedef container base_t; - - typedef typename base_t::reference reference; - typedef typename base_t::const_reference const_reference; - typedef typename base_t::pointer pointer; - typedef typename base_t::const_pointer const_pointer; - typedef typename base_t::iterator iterator; - typedef typename base_t::const_iterator const_iterator; - - container_shared_ref() : base_(boost::make_shared()) - { - } - - //========================================================================== - /**! - * Swap the contents of two container of same type and settings - * \param y Second \c container to swap, the first being *this - **/ - //========================================================================== - BOOST_FORCEINLINE void swap(container_shared_ref const& y) const - { - base_->swap(*y.base_); - } - - template - BOOST_FORCEINLINE void swap(container& x) const - { - base_->swap(x); - } - - //========================================================================== - /*! - * @brief Resize a container using new dimensions set - */ - //========================================================================== - template - void resize( Size const& sz_ ) const - { - base_->resize(sz_); - } - - //========================================================================== - /*! - * @brief Add element at end of container, reshape to 1D - */ - //========================================================================== - void push_back( value_type const& v ) - { - base_->push_back(v); - } - - //========================================================================== - /*! - * @brief Add range of element at end of container's most external dimension - */ - //========================================================================== - template void push_back( Container const& c) - { - base_->push_back(c); - }; - - //========================================================================== - /*! - * @brief Return the container dimensions set - * @return A reference to a constant Fusion RandomAccessSequence containing - * the size of the container over each of its dimensions. - **/ - //========================================================================== - BOOST_FORCEINLINE extent_type const& extent() const - { - return base_->extent(); - } - - //========================================================================== - /*! - * @brief Return the container number of element - * @return The number of logical element stored in the buffer. - **/ - //========================================================================== - BOOST_FORCEINLINE size_type size() const - { - return numel(extent()); - } - - //========================================================================== - /*! - * @brief Return the container number of element along the main dimension - * - * leading_size retrieves the number of element of the leading dimension in - * a settings independant way. - * - * @return The number of elements stored on the main dimension - */ - //========================================================================== - BOOST_FORCEINLINE size_type leading_size() const - { - typedef typename boost::mpl - ::apply < order_type - , boost::mpl::size_t - , boost::mpl::size_t<0U> - >::type dim_t; - return extent()[dim_t::value]; - } - - //========================================================================== - /*! - * @brief Check for container emptyness - * @return A boolean that evaluates to \c true if the container stores no - * value, \c false otherwise. - */ - //========================================================================== - BOOST_FORCEINLINE bool empty() const { return size() == 0u; } - - //========================================================================== - /*! - * Return the begin of the raw memory - */ - //========================================================================== - BOOST_FORCEINLINE pointer data() const { return base_->data(); } - - //========================================================================== - /*! - * Return the begin of the data - */ - //========================================================================== - BOOST_FORCEINLINE iterator begin() const { return base_->begin(); } - - //========================================================================== - /*! - * Return the end of the data - */ - //========================================================================== - BOOST_FORCEINLINE iterator end() const { return begin() + size(); } - - //========================================================================== - // Linear Random Access - //========================================================================== - BOOST_FORCEINLINE reference operator[](size_type i) const - { - return begin()[i]; - } - - //========================================================================== - /*! - * @brief Access to the architecture specific container data - * As the inner structure of a container may change with the hardware - * configuration, a specific data segment is provided to gather informations - * that may be required for proper operation on said configuration. - * - * @return A reference to the specific data of the container. - **/ - //========================================================================== - specific_data_type& specifics() const { return base_->specifics(); } - - private: - template - friend struct container_shared_ref; - - template - friend struct container_ref; - - boost::shared_ptr base_; - }; - - //============================================================================ - /**! - * Swap the contents of two container of same type and settings - * \param x First \c container to swap - * \param y Second \c container to swap - **/ - //============================================================================ - template - BOOST_FORCEINLINE - void swap ( container_shared_ref& x - , container_shared_ref& y - ) - { - x.swap(y); - } - - template< typename Kind1, typename Kind2 - , typename T - , typename S1, typename S2 - > - BOOST_FORCEINLINE - void swap ( container_shared_ref const& x - , container_shared_ref const& y - ) - { - x.swap(y); - } - - template< typename Kind1, typename Kind2 - , typename T - , typename S1, typename S2 - > - BOOST_FORCEINLINE - void swap ( container_shared_ref const& x - , container& y - ) - { - x.swap(y); - } - - template< typename Kind1, typename Kind2 - , typename T - , typename S1, typename S2 - > - BOOST_FORCEINLINE - void swap ( container& x - , container_shared_ref const& y - ) - { - y.swap(x); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/data.hpp b/inst/include/nt2/sdk/memory/data.hpp deleted file mode 100644 index e889e9c..0000000 --- a/inst/include/nt2/sdk/memory/data.hpp +++ /dev/null @@ -1,145 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_DATA_HPP_INCLUDED -#define NT2_SDK_MEMORY_DATA_HPP_INCLUDED - -#include - -namespace nt2 -{ - namespace details - { - template - struct data_from - { - typedef T* type; - - static type call(T& c) { return &c; } - }; - - template - struct data_from - { - typedef T const* type; - - static type call(T const& c) { return &c; } - }; - - template - struct data_from< T - , typename boost::dispatch::meta:: - enable_if_type::type - > - { - typedef typename T::pointer type; - - static type call(T& c) { return c.data(); } - }; - - template - struct data_from< T const - , typename boost::dispatch::meta:: - enable_if_type::type - > - { - typedef typename T::const_pointer type; - - static type call(T const& c) { return c.data(); } - }; - } - - namespace memory - { - /*! - @brief Generic access to internal data pointer - - Return a possibly const-qualified pointer to the data of any object. - - @par Semantic: - - For any instance @c t of type @c T, - - @code - T* p = data(t); - @endcode - - is equivalent to : - - @code - T* p = t.data(); - @endcode - - if T provides a @c data() member function. - - Otherwise, it is equivalent to : - - @code - T* p = &t; - @endcode - - If @c t is @c const, the returned pointer is const-qualified. - - @param t Object to access - - @return a possibly const-qualified pointer to its arguments data - **/ - template - BOOST_FORCEINLINE typename details::data_from::type data(T& t) - { - return details::data_from::call(t); - } - - /// @overload - template - BOOST_FORCEINLINE typename details::data_from::type data(T const& t) - { - return details::data_from::call(t); - } - - // container_ref and container_shared_ref have special behavior w/r to - // pointer and const_pointer. Those specialization are required for them - // to work correctly. - - /// @overload - template - BOOST_FORCEINLINE typename memory::container_ref::pointer - data(memory::container_ref const& c) - { - return c.data(); - } - - /// @overload - template - BOOST_FORCEINLINE typename memory::container_ref::pointer - data(memory::container_ref& c) - { - return c.data(); - } - - /// @overload - template - BOOST_FORCEINLINE - typename memory::container_shared_ref::pointer - data(memory::container_shared_ref const& c) - { - return c.data(); - } - - /// @overload - template - BOOST_FORCEINLINE - typename memory::container_shared_ref::pointer - data(memory::container_shared_ref& c) - { - return c.data(); - } - } -} - -#endif diff --git a/inst/include/nt2/sdk/memory/destruct.hpp b/inst/include/nt2/sdk/memory/destruct.hpp deleted file mode 100644 index 341d1f4..0000000 --- a/inst/include/nt2/sdk/memory/destruct.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_DESTRUCT_HPP_INCLUDED -#define NT2_SDK_MEMORY_DESTRUCT_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - template inline - void destruct(In, In, Alloc& , boost::mpl::true_ const&) {} - - template inline - void destruct(In begin, In end, Alloc& alloc, boost::mpl::false_ const&) - { - while(begin != end) alloc.destroy(begin++); - } -} } - -namespace nt2 { namespace memory -{ - /*! - * Wrapper around potential idem-potent destructor calls - **/ - template inline - void destruct(In begin, In end, Alloc& alloc) - { - typedef typename Alloc::value_type value_type; - typename boost::has_trivial_destructor::type status; - nt2::details::destruct(begin,end,alloc,status); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/fixed_allocator.hpp b/inst/include/nt2/sdk/memory/fixed_allocator.hpp deleted file mode 100644 index 92dd4f3..0000000 --- a/inst/include/nt2/sdk/memory/fixed_allocator.hpp +++ /dev/null @@ -1,129 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_FIXED_ALLOCATOR_HPP_INCLUDED -#define NT2_SDK_MEMORY_FIXED_ALLOCATOR_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace memory -{ - //============================================================================ - /**! - * fixed_allocator is a stateful allocator that wraps an already allocated - * memory range into an allocator interface. - **/ - //============================================================================ - template struct fixed_allocator - { - //========================================================================== - // Allocator static expression conformance - //========================================================================== - typedef T value_type; - typedef T* pointer; - typedef T const* const_pointer; - typedef T& reference; - typedef T const& const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - template struct rebind { typedef fixed_allocator other; }; - - //========================================================================== - // Ctor/dtor - //========================================================================== - fixed_allocator() : begin_(0), end_(0) {} - fixed_allocator( pointer b, pointer e ) : begin_(b), end_(e) {} - ~fixed_allocator() {} - - //========================================================================== - // Transtyping constructor - Only valid if T* and U* are convertible - //========================================================================== - template - fixed_allocator(fixed_allocator const& src) - { - begin_ = static_cast(src.begin()); - end_ = static_cast(src.end()); - } - - //========================================================================== - // Original pointer value - //========================================================================== - pointer begin_, end_; - - //========================================================================== - // Pointer accessors - //========================================================================== - pointer& begin() { return begin_; } - pointer const& begin() const { return begin_; } - - pointer& end() { return end_; } - pointer const& end() const { return end_; } - - //////////////////////////////////////////////////////////////////////////// - // Address handling - //////////////////////////////////////////////////////////////////////////// - pointer address(reference r) { return &r; } - const_pointer address(const_reference r) { return &r; } - - //////////////////////////////////////////////////////////////////////////// - // Size handling - //////////////////////////////////////////////////////////////////////////// - size_type max_size() const { return size_type(end_ - begin_); } - - //////////////////////////////////////////////////////////////////////////// - // Object lifetime handling - //////////////////////////////////////////////////////////////////////////// - void construct(pointer p, const T& t) { p = new (p) value_type(t); } - void destroy(pointer p) { p->~value_type(); } - - //////////////////////////////////////////////////////////////////////////// - // Memory handling - //////////////////////////////////////////////////////////////////////////// - pointer allocate( size_type s, const void* = 0 ) const - { - boost::ignore_unused(s); - BOOST_ASSERT_MSG - ( (s <= max_size()) - , "Allocation requests more memory than available in fixed_allocator" - ); - - return begin_; - } - - void deallocate(pointer, size_type) const {} - }; - - //============================================================================ - /**! - * Checks if two fixed_allocator are equal. Such allocators are equal if and - * only if they share the same pointee. - **/ - //============================================================================ - template - bool operator==(fixed_allocator const& lhs, fixed_allocator const& rhs) - { - return (lhs.begin() == rhs.begin()) && (lhs.end() == rhs.end()); - } - - //============================================================================ - /**! - * Checks if two fixed_allocator are non-equal. Such allocators are not equal - * only if they share different pointees. - **/ - //============================================================================ - template - bool operator!=(fixed_allocator const& lhs, fixed_allocator const& rhs) - { - return !(lhs == rhs); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/forward/container.hpp b/inst/include/nt2/sdk/memory/forward/container.hpp deleted file mode 100644 index b2e6019..0000000 --- a/inst/include/nt2/sdk/memory/forward/container.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_FORWARD_CONTAINER_HPP_INCLUDED -#define NT2_SDK_MEMORY_FORWARD_CONTAINER_HPP_INCLUDED - -#include - -//============================================================================== -// Forward declaration -//============================================================================== -namespace nt2 { namespace memory -{ - template struct container_base - { - typedef T declared_value_type; - - container_base() : specific_() {} - - //========================================================================== - // Specific data type - Used for per-hardware site special member - //========================================================================== - typedef typename specific_data< typename boost::dispatch:: - default_site::type - , T - >::type specific_data_type; - - //========================================================================== - /*! - * @brief Access to the architecture specific container data - * As the inner structure of a container may change with the hardware - * configuration, a specific data segment is provided to gather informations - * that may be required for proper operation on said configuration. - * - * @return A reference to the specific data of the container. - **/ - //========================================================================== - specific_data_type& specifics() const { return specific_; } - - private: - mutable specific_data_type specific_; - }; - - template struct container; - template struct container_ref; - template - struct container_shared_ref; - - template< typename Kind1, typename Kind2 - , typename T - , typename S1, typename S2 - > - BOOST_FORCEINLINE - void swap(container&, container&); -} } - -#endif diff --git a/inst/include/nt2/sdk/memory/is_safe.hpp b/inst/include/nt2/sdk/memory/is_safe.hpp deleted file mode 100644 index d7934d1..0000000 --- a/inst/include/nt2/sdk/memory/is_safe.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_IS_SAFE_HPP_INCLUDED -#define NT2_SDK_MEMORY_IS_SAFE_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - namespace details - { - // Retrieve the biggest valid index when reading a SIMD vector - template std::size_t maxpos(A0 const& a0) - { - return a0 + boost::simd::meta::cardinal_of::value - 1; - } - - // Retrieve the biggest valid index when gathering/scattering a SIMD vector - template - std::size_t maxpos(boost::simd::native const& a0) - { - return boost::simd::maximum(a0); - } - } - - namespace memory - { - /*! - @brief Enforce safe container access - - For any given Container, checks if accessing a value of type Type - at index p is correct. - - @tparam Type Type to be read from Container - @param c Container to use as reference - @param p Index to check - **/ - template - bool is_safe(Container const& c, Position const& p) - { - std::size_t pos = details::maxpos(p); - return pos < c.size(); - } - - /// @overload - template - bool is_safe(Container const& c, Position const& p) - { - return p < c.size(); - } - } -} - -#endif diff --git a/inst/include/nt2/sdk/memory/local_ptr.hpp b/inst/include/nt2/sdk/memory/local_ptr.hpp deleted file mode 100644 index 10e8a84..0000000 --- a/inst/include/nt2/sdk/memory/local_ptr.hpp +++ /dev/null @@ -1,68 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_MEMORY_LOCAL_PTR_HPP_INCLUDED -#define NT2_SDK_MEMORY_LOCAL_PTR_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace memory -{ - //============================================================================ - /**! - * @brief local_ptr is a lightweight exception safe pointer holder - **/ - //=========================================================================== - template - class local_ptr : boost::noncopyable - { - public: - typedef T* pointer; - - local_ptr(pointer p, Deleter a) : pointee_(p), deleter_(a) {} - - ~local_ptr() { deleter_(pointee_); } - - pointer release() - { - pointer p = pointee_; - pointee_ = 0; - - return p; - } - - pointer get() const { return pointee_; } - - void swap(local_ptr& that) - { - boost::swap(pointee_, that.pointee_); - boost::swap(deleter_, that.deleter_); - } - - private: - pointer pointee_; - Deleter deleter_; - }; - - //============================================================================ - /**! - * Swap the contents of two buffer of same type and allocator settings - * \param x First \c pointer_buffer to swap - * \param y Second \c pointer_buffer to swap - **/ - //============================================================================ - template inline - void swap(local_ptr& x, local_ptr& y) - { - x.swap(y); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/adapted_traits.hpp b/inst/include/nt2/sdk/meta/adapted_traits.hpp deleted file mode 100644 index 34ba4a4..0000000 --- a/inst/include/nt2/sdk/meta/adapted_traits.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_ADAPTED_TRAITS_HPP_INCLUDED -#define NT2_SDK_META_ADAPTED_TRAITS_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::is_floating_point; - using boost::dispatch::meta::is_integral; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/all.hpp b/inst/include/nt2/sdk/meta/all.hpp deleted file mode 100644 index 361ec13..0000000 --- a/inst/include/nt2/sdk/meta/all.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_ALL_HPP_INCLUDED -#define NT2_SDK_META_ALL_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::all; - using boost::dispatch::meta::all_seq; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/any.hpp b/inst/include/nt2/sdk/meta/any.hpp deleted file mode 100644 index 63d31f3..0000000 --- a/inst/include/nt2/sdk/meta/any.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_ANY_HPP_INCLUDED -#define NT2_SDK_META_ANY_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::any; - using boost::dispatch::meta::any_seq; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/as.hpp b/inst/include/nt2/sdk/meta/as.hpp deleted file mode 100644 index 2c65fa1..0000000 --- a/inst/include/nt2/sdk/meta/as.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_AS_HPP_INCLUDED -#define NT2_SDK_META_AS_HPP_INCLUDED - -#include -#include - -#include - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::target_; -} } - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::as_; - using boost::dispatch::meta::target_value; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/as_floating.hpp b/inst/include/nt2/sdk/meta/as_floating.hpp deleted file mode 100644 index 646e116..0000000 --- a/inst/include/nt2/sdk/meta/as_floating.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_AS_FLOATING_HPP_INCLUDED -#define NT2_SDK_META_AS_FLOATING_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::as_floating; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/as_index.hpp b/inst/include/nt2/sdk/meta/as_index.hpp deleted file mode 100644 index 0ef4f6d..0000000 --- a/inst/include/nt2/sdk/meta/as_index.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_AS_INDEX_HPP_INCLUDED -#define NT2_SDK_META_AS_INDEX_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - using boost::simd::meta::as_index; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/as_integer.hpp b/inst/include/nt2/sdk/meta/as_integer.hpp deleted file mode 100644 index 3ad657f..0000000 --- a/inst/include/nt2/sdk/meta/as_integer.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_AS_INTEGER_HPP_INCLUDED -#define NT2_SDK_META_AS_INTEGER_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::as_integer; -} } - -#endif - diff --git a/inst/include/nt2/sdk/meta/as_logical.hpp b/inst/include/nt2/sdk/meta/as_logical.hpp deleted file mode 100644 index dafa38e..0000000 --- a/inst/include/nt2/sdk/meta/as_logical.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_AS_LOGICAL_HPP_INCLUDED -#define NT2_SDK_META_AS_LOGICAL_HPP_INCLUDED - -#include - -namespace nt2 -{ - using boost::simd::logical; - namespace meta - { - using boost::simd::meta::as_logical; - } -} - -#endif diff --git a/inst/include/nt2/sdk/meta/as_real.hpp b/inst/include/nt2/sdk/meta/as_real.hpp deleted file mode 100644 index 75624c3..0000000 --- a/inst/include/nt2/sdk/meta/as_real.hpp +++ /dev/null @@ -1,18 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_AS_REAL_HPP_INCLUDED -#define NT2_SDK_META_AS_REAL_HPP_INCLUDED - -#include -namespace nt2 { namespace meta -{ - using boost::simd::meta::as_real; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/as_signed.hpp b/inst/include/nt2/sdk/meta/as_signed.hpp deleted file mode 100644 index 50ee711..0000000 --- a/inst/include/nt2/sdk/meta/as_signed.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_AS_SIGNED_HPP_INCLUDED -#define NT2_SDK_META_AS_SIGNED_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::as_signed; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/as_unsigned.hpp b/inst/include/nt2/sdk/meta/as_unsigned.hpp deleted file mode 100644 index 23d707d..0000000 --- a/inst/include/nt2/sdk/meta/as_unsigned.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_AS_UNSIGNED_HPP_INCLUDED -#define NT2_SDK_META_AS_UNSIGNED_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::as_unsigned; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/behave_as.hpp b/inst/include/nt2/sdk/meta/behave_as.hpp deleted file mode 100644 index 5cf296a..0000000 --- a/inst/include/nt2/sdk/meta/behave_as.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_BEHAVE_AS_HPP_INCLUDED -#define NT2_SDK_META_BEHAVE_AS_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::behave_as; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/boxed_size.hpp b/inst/include/nt2/sdk/meta/boxed_size.hpp deleted file mode 100644 index 9de0043..0000000 --- a/inst/include/nt2/sdk/meta/boxed_size.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_BOXED_SIZE_HPP_INCLUDED -#define NT2_SDK_META_BOXED_SIZE_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - /*! - @brief - - - **/ - template struct boxed_size - { - // The size is contained in the first child : box - typedef typename boost::proto::result_of::child_c::type c0_t; - typedef typename boost::proto::result_of::value::value_type result_type; - - BOOST_FORCEINLINE result_type operator()(Expr& e) const - { - return boost::proto::value( boost::proto::child_c(e) ); - } - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/cardinal_of.hpp b/inst/include/nt2/sdk/meta/cardinal_of.hpp deleted file mode 100644 index 214cdb0..0000000 --- a/inst/include/nt2/sdk/meta/cardinal_of.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_CARDINAL_OF_HPP_INCLUDED -#define NT2_SDK_META_CARDINAL_OF_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace meta -{ - using boost::simd::meta::cardinal_of; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/concrete.hpp b/inst/include/nt2/sdk/meta/concrete.hpp deleted file mode 100644 index 1ed2d48..0000000 --- a/inst/include/nt2/sdk/meta/concrete.hpp +++ /dev/null @@ -1,73 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_CONCRETE_HPP_INCLUDED -#define NT2_SDK_META_CONCRETE_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace meta - { - template< typename Expr - , int Arity = boost::proto::arity_of::value - > - struct concrete - { - typedef typename boost::dispatch::meta:: - terminal_of < typename boost::dispatch::meta:: - semantic_of::type - >::type type; - - static BOOST_FORCEINLINE type call(Expr& a0) - { - return a0; - } - - template - static BOOST_FORCEINLINE type shallow_call(Expr&, Values const& v) - { - type that = v; - return that; - } - }; - - template - struct concrete - { - typedef typename boost::add_reference::type type; - - static BOOST_FORCEINLINE type call(Expr& a0) { return a0; } - - template - static BOOST_FORCEINLINE type shallow_call(Expr& a0, Values const& v) - { - a0 = v; - return a0; - } - }; - } - - template - BOOST_FORCEINLINE typename meta::concrete::type - concrete( Expr& xpr ) - { - return meta::concrete::call(xpr); - } - - template - BOOST_FORCEINLINE typename meta::concrete::type - shallow_concrete( Expr& xpr, Values const& v ) - { - return meta::concrete::shallow_call(xpr,v); - } -} - -#endif diff --git a/inst/include/nt2/sdk/meta/constant_adaptor.hpp b/inst/include/nt2/sdk/meta/constant_adaptor.hpp deleted file mode 100644 index 36f50cd..0000000 --- a/inst/include/nt2/sdk/meta/constant_adaptor.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_CONSTANT_ADAPTOR_HPP_INCLUDED -#define NT2_SDK_META_CONSTANT_ADAPTOR_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace meta -{ - /*! - @brief Adapt a tag to be a generative-compliant functor - - Generative functions require its embedded functor to have a very specific - interface: - * it exposes a default_type that contains the value expected as an output - * a ternary operator() taking a Position,Size and actual Target that - computes the actual value to store. - - constant_ acts as a variation point to turn regular constant functor into - a type generative function can handle. - - @tparam Functor Functor tag to implement - @tparam Base Type of the expected output. - **/ - template struct constant_ - { - /// INTERNAL ONLY - typedef typename Functor::default_type default_type; - - /// INTERNAL ONLY - typedef typename meta::call)>::type base_type; - - /// INTERNAL ONLY - template - BOOST_FORCEINLINE typename Target::type - operator()(Pos const&, Size const&, Target const& ) const - { - // Type casting constants need to recompute their input target or - // the wrong specialization is called. - typedef typename boost::dispatch::meta - ::factory_of< Target - , typename boost::dispatch::meta - ::scalar_of::type - >::type factory_t; - - typedef typename factory_t::template apply::type target_type; - - typename boost::dispatch::make_functor::type callee; - return callee(target_type()); - } - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/container_traits.hpp b/inst/include/nt2/sdk/meta/container_traits.hpp deleted file mode 100644 index 762ccde..0000000 --- a/inst/include/nt2/sdk/meta/container_traits.hpp +++ /dev/null @@ -1,151 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_CONTAINER_TRAITS_HPP_INCLUDED -#define NT2_SDK_META_CONTAINER_TRAITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace tag { struct table_; } } - -namespace nt2 { namespace meta -{ - //============================================================================== - //============================================================================== - template - struct kind_ - { - typedef tag::table_ type; - }; - - - template - struct kind_ < T - , typename boost::dispatch::meta:: - enable_if_type::type - > - { - typedef typename T::kind_type type; - }; - - //============================================================================== - //============================================================================== - template struct size_type_ - { - typedef std::size_t type; - }; - - template struct size_type_ : size_type_ {}; - - //============================================================================== - //============================================================================== - template struct allocator_type_ - { - typedef struct none_ {} type; - }; - - //============================================================================== - //============================================================================== - template - struct pointer_ - : boost::add_pointer< typename boost::dispatch::meta:: - scalar_of::type - > - { - }; - - //============================================================================== - //============================================================================== - template - struct const_pointer_ - : boost::add_pointer< typename boost::dispatch::meta:: - scalar_of::type const - > - { - }; - - template struct pointer_ : const_pointer_ {}; - template struct pointer_ : pointer_ {}; - template struct const_pointer_ : pointer_ {}; - - //============================================================================== - //============================================================================== - template - struct reference_ : boost::dispatch::meta::scalar_of - {}; - - //============================================================================== - //============================================================================== - template - struct const_reference_ : boost::dispatch::meta::scalar_of - { - }; - - template struct reference_ : const_reference_ {}; - template struct reference_ : reference_ {}; - template struct const_reference_ : reference_ {}; - - //============================================================================== - //============================================================================== - template - struct value_type_ - : boost::dispatch::meta::scalar_of - { - }; - template struct value_type_ : value_type_ {}; - template struct value_type_ : value_type_ {}; - - template - struct allocator_type_< T - , typename boost::dispatch::meta:: - enable_if_type< typename T::allocator_type >::type - > - { - typedef typename T::allocator_type type; - }; - - template - struct size_type_ < T - , typename boost::dispatch::meta:: - enable_if_type< typename T::size_type >::type - > - { - typedef typename T::size_type type; - }; - - template - struct pointer_ < T - , typename boost::dispatch::meta:: - enable_if_type< typename T::pointer - , typename boost::disable_if< boost::is_const >::type - >::type - > - { - typedef typename T::pointer type; - }; - - template - struct const_pointer_ < T - , typename boost::dispatch::meta:: - enable_if_type< typename T::const_pointer >::type - > - { - typedef typename T::const_pointer type; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/details/demangle.hpp b/inst/include/nt2/sdk/meta/details/demangle.hpp deleted file mode 100644 index 724aeda..0000000 --- a/inst/include/nt2/sdk/meta/details/demangle.hpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_DETAILS_DEMANGLE_HPP_INCLUDED -#define NT2_SDK_META_DETAILS_DEMANGLE_HPP_INCLUDED - -#if (__GNUC__ && __cplusplus && __GNUC__ >= 3) -#include -#endif - -#include -#include -#include - -namespace nt2 { namespace details -{ - /// INTERNAL ONLY - /// demangle a type name retrieved through typeid() - inline std::string demangle(const char* name) - { - #if(__GNUC__ && __cplusplus && __GNUC__ >= 3) - std::size_t len; - int stat; - - char* realname = ::abi::__cxa_demangle(name,NULL,&len,&stat); - - if(realname != NULL) - { - std::string out(realname); - ::free(realname); - return out; - } - else - { - return std::string("?"); - } - #else - std::string out(name); - return out; - #endif - } - /// INTERNAL ONLY - /// Prevent spurrious warning on MSVC - inline void add_const(std::string& s, boost::mpl::true_ const&) - { - s += " const"; - } - - /// INTERNAL ONLY - /// Prevent spurrious warning on MSVC - inline void add_ref(std::string& s, boost::mpl::true_ const&) - { - s += "&"; - } - - /// INTERNAL ONLY - /// Prevent spurrious warning on MSVC - inline void add_const(std::string&, boost::mpl::false_ const&) {} - - /// INTERNAL ONLY - /// Prevent spurrious warning on MSVC - inline void add_ref(std::string&, boost::mpl::false_ const&) {} -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/display_type.hpp b/inst/include/nt2/sdk/meta/display_type.hpp deleted file mode 100644 index f155cea..0000000 --- a/inst/include/nt2/sdk/meta/display_type.hpp +++ /dev/null @@ -1,119 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_DISPLAY_TYPE_HPP_INCLUDED -#define NT2_SDK_META_DISPLAY_TYPE_HPP_INCLUDED - -/** -* @file -* @brief Defines types to string conversion utility functions -**/ -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace details - { - // INTERNAL ONLY - // Stream some indentation on a output stream - inline std::ostream& indent(std::ostream& os, size_t depth) - { - for(size_t i=0; i - * > - * @endcode - **/ - template inline void display_type() - { - std::string s = type_id(); - - size_t depth = 0; - size_t tab = 4; - bool prevspace = true; - for(std::string::const_iterator it = s.begin(); it != s.end(); ++it) - { - switch(*it) - { - case '<': - case '(': - depth += tab; - std::cout << *it; - std::cout << '\n'; - details::indent(std::cout, depth); - prevspace = true; - break; - - case '>': - case ')': - depth -= tab; - std::cout << '\n'; - details::indent(std::cout, depth); - std::cout << *it; - prevspace = false; - break; - - case ',': - std::cout << '\n'; - details::indent(std::cout, depth-2); - std::cout << ", "; - prevspace = true; - break; - - case ' ': - if(!prevspace) - std::cout << *it; - break; - - default: - std::cout << *it; - prevspace = false; - } - } - std::cout << std::endl; - } - - /// @overload - template inline void display_type( const T& ) - { - return display_type(); - } -} - -#endif diff --git a/inst/include/nt2/sdk/meta/downgrade.hpp b/inst/include/nt2/sdk/meta/downgrade.hpp deleted file mode 100644 index 91507a9..0000000 --- a/inst/include/nt2/sdk/meta/downgrade.hpp +++ /dev/null @@ -1,27 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_DOWNGRADE_HPP_INCLUDED -#define NT2_SDK_META_DOWNGRADE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::downgrade; -} } - -#endif - diff --git a/inst/include/nt2/sdk/meta/enable_if_type.hpp b/inst/include/nt2/sdk/meta/enable_if_type.hpp deleted file mode 100644 index 0e3bbfa..0000000 --- a/inst/include/nt2/sdk/meta/enable_if_type.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_ENABLE_IF_TYPE_HPP_INCLUDED -#define NT2_SDK_META_ENABLE_IF_TYPE_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::enable_if_type; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/factory_of.hpp b/inst/include/nt2/sdk/meta/factory_of.hpp deleted file mode 100644 index 7fd5732..0000000 --- a/inst/include/nt2/sdk/meta/factory_of.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_FACTORY_OF_HPP_INCLUDED -#define NT2_SDK_META_FACTORY_OF_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::factory_of; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/fix_index.hpp b/inst/include/nt2/sdk/meta/fix_index.hpp deleted file mode 100644 index 0956924..0000000 --- a/inst/include/nt2/sdk/meta/fix_index.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_FIX_INDEX_HPP_INCLUDED -#define NT2_SDK_META_FIX_INDEX_HPP_INCLUDED - -namespace nt2 -{ - namespace result_of - { - template< class Indexer, class Base, class Size - , std::size_t I, std::size_t N - > - struct fix_index - { - typedef Indexer const& type; - - static BOOST_FORCEINLINE type - call(Indexer const& i , Base const&, Size const&) - { - return i; - } - }; - } - - template - BOOST_FORCEINLINE - typename result_of::fix_index::type - fix_index(Indexer const& i, Base const& b, Size const& s) - { - return result_of::fix_index::call(i,b,s); - } - -} - -#endif diff --git a/inst/include/nt2/sdk/meta/fusion.hpp b/inst/include/nt2/sdk/meta/fusion.hpp deleted file mode 100644 index b9c9216..0000000 --- a/inst/include/nt2/sdk/meta/fusion.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_FUSION_HPP_INCLUDED -#define NT2_SDK_META_FUSION_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::fusion_sequence_; - using boost::dispatch::meta::array_; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/generative_hierarchy.hpp b/inst/include/nt2/sdk/meta/generative_hierarchy.hpp deleted file mode 100644 index 017800f..0000000 --- a/inst/include/nt2/sdk/meta/generative_hierarchy.hpp +++ /dev/null @@ -1,35 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_GENERATIVE_HIERARCHY_HPP_INCLUDED -#define NT2_SDK_META_GENERATIVE_HIERARCHY_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace dispatch { namespace meta -{ - //========================================================================== - // Stateful Constant node hierarchy - //========================================================================== - template struct state_constant_ : constant_ - { - typedef constant_ parent; - }; -} } } - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::constant_; - using boost::dispatch::meta::pure_constant_; - using boost::dispatch::meta::state_constant_; -} } - -#endif - diff --git a/inst/include/nt2/sdk/meta/hierarchy_of.hpp b/inst/include/nt2/sdk/meta/hierarchy_of.hpp deleted file mode 100644 index bd6560c..0000000 --- a/inst/include/nt2/sdk/meta/hierarchy_of.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_HIERARCHY_OF_HPP_INCLUDED -#define NT2_SDK_META_HIERARCHY_OF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace meta - { - using boost::dispatch::meta::hierarchy_of; - using boost::dispatch::meta::hierarchy_of_t; - } - -namespace ext -{ - //============================================================================ - // Basic hierarchies to be forwarded here - //============================================================================ - using boost::dispatch::meta::generic_; - using boost::dispatch::meta::scalar_; - using boost::dispatch::meta::unknown_; - using boost::dispatch::meta::unspecified_; - using boost::dispatch::meta::fundamental_; - using boost::dispatch::meta::bool_; - using boost::dispatch::meta::void_; - using boost::dispatch::meta::arithmetic_; - using boost::dispatch::meta::integer_; - using boost::dispatch::meta::unsigned_; - using boost::dispatch::meta::signed_; - using boost::dispatch::meta::floating_; - using boost::dispatch::meta::int_; - using boost::dispatch::meta::uint_; - using boost::dispatch::meta::type8_; - using boost::dispatch::meta::type16_; - using boost::dispatch::meta::floating_sized_; - using boost::dispatch::meta::type32_; - using boost::dispatch::meta::type64_; - using boost::dispatch::meta::ints8_; - using boost::dispatch::meta::ints16_; - using boost::dispatch::meta::ints32_; - using boost::dispatch::meta::ints64_; - using boost::dispatch::meta::int8_; - using boost::dispatch::meta::int16_; - using boost::dispatch::meta::int32_; - using boost::dispatch::meta::int64_; - using boost::dispatch::meta::uint8_; - using boost::dispatch::meta::uint16_; - using boost::dispatch::meta::uint32_; - using boost::dispatch::meta::uint64_; - using boost::dispatch::meta::double_; - using boost::dispatch::meta::single_; - using boost::dispatch::meta::long_double_; - - using boost::dispatch::meta::ast_; - using boost::dispatch::meta::node_; - using boost::dispatch::meta::expr_; - - using boost::dispatch::meta::proxy_; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/is_colon.hpp b/inst/include/nt2/sdk/meta/is_colon.hpp deleted file mode 100644 index a8fc3b7..0000000 --- a/inst/include/nt2/sdk/meta/is_colon.hpp +++ /dev/null @@ -1,42 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_IS_COLON_HPP_INCLUDED -#define NT2_SDK_META_IS_COLON_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - namespace container { struct colon_; } - - namespace meta - { - template - struct is_colon - : boost::mpl::false_ - { - }; - - template - struct is_colon::value == 0 >::type> - : boost:: - boost::is_same< typename boost::dispatch::meta:: - strip< typename boost::proto::result_of:: - value::type - >::type - , container::colon_ - > - { - }; - } -} - -#endif diff --git a/inst/include/nt2/sdk/meta/is_container.hpp b/inst/include/nt2/sdk/meta/is_container.hpp deleted file mode 100644 index acb1624..0000000 --- a/inst/include/nt2/sdk/meta/is_container.hpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_IS_CONTAINER_HPP_INCLUDED -#define NT2_SDK_META_IS_CONTAINER_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace details - { - template - struct is_container : boost::mpl::false_ {}; - - template - struct is_container_ref : boost::mpl::false_ {}; - } - - namespace meta - { - //========================================================================== - /*! - * Checks if a given type satisfy the Container concept. - * - * \tparam T Type to qualify as a potential Container - */ - //========================================================================== - template - struct is_container - : details::is_container {}; - - template struct is_container : is_container {}; - template struct is_container : is_container {}; - - template - struct is_container_ref - : details::is_container_ref {}; - - template struct is_container_ref : is_container_ref {}; - template struct is_container_ref : is_container_ref {}; - - template - struct is_container_or_ref - : boost::mpl::or_< is_container - , is_container_ref - > - { - }; - - /*! - @brief Is an expression a container terminal - - Checks if a given type T is a terminal holding a container. - - @tparam T Type to check - **/ - template - struct is_container_terminal - : boost::mpl::false_ - { - }; - - /// INTERNAL ONLY - template - struct is_container_terminal - : meta::is_container - { - }; - - template - struct is_container_and_terminal : boost::mpl::false_ - { - }; - - template - struct is_container_and_terminal - : meta::is_container_terminal - { - }; - - } -} - -#endif diff --git a/inst/include/nt2/sdk/meta/is_fundamental.hpp b/inst/include/nt2/sdk/meta/is_fundamental.hpp deleted file mode 100644 index 3eeb403..0000000 --- a/inst/include/nt2/sdk/meta/is_fundamental.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_IS_FUNDAMENTAL_HPP_INCLUDED -#define NT2_SDK_META_IS_FUNDAMENTAL_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::is_fundamental; -} } - -#endif - diff --git a/inst/include/nt2/sdk/meta/is_iterator.hpp b/inst/include/nt2/sdk/meta/is_iterator.hpp deleted file mode 100644 index 0849a6c..0000000 --- a/inst/include/nt2/sdk/meta/is_iterator.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_IS_ITERATOR_HPP_INCLUDED -#define NT2_SDK_META_IS_ITERATOR_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::is_iterator; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/is_result_of_supported.hpp b/inst/include/nt2/sdk/meta/is_result_of_supported.hpp deleted file mode 100644 index 6765fa9..0000000 --- a/inst/include/nt2/sdk/meta/is_result_of_supported.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_IS_RESULT_OF_SUPPORTED_HPP_INCLUDED -#define NT2_SDK_META_IS_RESULT_OF_SUPPORTED_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::is_result_of_supported; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/is_scalar.hpp b/inst/include/nt2/sdk/meta/is_scalar.hpp deleted file mode 100644 index a23136a..0000000 --- a/inst/include/nt2/sdk/meta/is_scalar.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_IS_SCALAR_HPP_INCLUDED -#define NT2_SDK_META_IS_SCALAR_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::is_scalar; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/is_signed.hpp b/inst/include/nt2/sdk/meta/is_signed.hpp deleted file mode 100644 index b52f781..0000000 --- a/inst/include/nt2/sdk/meta/is_signed.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_IS_SIGNED_HPP_INCLUDED -#define NT2_SDK_META_IS_SIGNED_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::is_signed; - using boost::dispatch::meta::is_unsigned; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/is_target.hpp b/inst/include/nt2/sdk/meta/is_target.hpp deleted file mode 100644 index 8d9a54b..0000000 --- a/inst/include/nt2/sdk/meta/is_target.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_IS_TARGET_HPP_INCLUDED -#define NT2_SDK_META_IS_TARGET_HPP_INCLUDED -#include - -namespace nt2 { namespace meta -{ - template < class T > struct is_target : boost::mpl::false_{}; - template < class T > struct is_target < meta::as_ > : boost::mpl::true_{}; -} } - -#endif - diff --git a/inst/include/nt2/sdk/meta/is_unspecified.hpp b/inst/include/nt2/sdk/meta/is_unspecified.hpp deleted file mode 100644 index 2e1c41d..0000000 --- a/inst/include/nt2/sdk/meta/is_unspecified.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_IS_UNSPECIFIED_HPP_INCLUDED -#define NT2_SDK_META_IS_UNSPECIFIED_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::is_unspecified; -} } - -#endif - diff --git a/inst/include/nt2/sdk/meta/layout.hpp b/inst/include/nt2/sdk/meta/layout.hpp deleted file mode 100644 index 4ec23a3..0000000 --- a/inst/include/nt2/sdk/meta/layout.hpp +++ /dev/null @@ -1,39 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_LAYOUT_HPP_INCLUDED -#define NT2_SDK_META_LAYOUT_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - template - struct layout - { - typedef typename Expr::value_type vt; - typedef typename meta::option::type so; - typedef typename meta::option::type ss; - typedef typename meta::option::type sd; - typedef typename sd::storage_duration_type sdt; - - typedef boost::mpl::vector4 type; - }; - - template - struct is_layout_compatible - : boost::is_same::type, typename layout::type> - {}; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/make_dependent.hpp b/inst/include/nt2/sdk/meta/make_dependent.hpp deleted file mode 100644 index 6b03e06..0000000 --- a/inst/include/nt2/sdk/meta/make_dependent.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_MAKE_DEPENDENT_HPP_INCLUDED -#define NT2_SDK_META_MAKE_DEPENDENT_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - using boost::simd::meta::make_dependent; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/make_floating.hpp b/inst/include/nt2/sdk/meta/make_floating.hpp deleted file mode 100644 index 855b24d..0000000 --- a/inst/include/nt2/sdk/meta/make_floating.hpp +++ /dev/null @@ -1,20 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_MAKE_FLOATING_HPP_INCLUDED -#define NT2_SDK_META_MAKE_FLOATING_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::make_floating; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/make_integer.hpp b/inst/include/nt2/sdk/meta/make_integer.hpp deleted file mode 100644 index a6f24e3..0000000 --- a/inst/include/nt2/sdk/meta/make_integer.hpp +++ /dev/null @@ -1,20 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_MAKE_INTEGER_HPP_INCLUDED -#define NT2_SDK_META_MAKE_INTEGER_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::make_integer; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/make_type.hpp b/inst/include/nt2/sdk/meta/make_type.hpp deleted file mode 100644 index 32d68cd..0000000 --- a/inst/include/nt2/sdk/meta/make_type.hpp +++ /dev/null @@ -1,19 +0,0 @@ - //============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_MAKE_TYPE_HPP_INCLUDED -#define NT2_SDK_META_MAKE_TYPE_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - using boost::simd::meta::make_type; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/mpl.hpp b/inst/include/nt2/sdk/meta/mpl.hpp deleted file mode 100644 index e6ff3bd..0000000 --- a/inst/include/nt2/sdk/meta/mpl.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_MPL_HPP_INCLUDED -#define NT2_SDK_META_MPL_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - using boost::dispatch::meta::mpl_integral_; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/na.hpp b/inst/include/nt2/sdk/meta/na.hpp deleted file mode 100644 index 25dd49e..0000000 --- a/inst/include/nt2/sdk/meta/na.hpp +++ /dev/null @@ -1,19 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_NA_HPP_INCLUDED -#define NT2_SDK_META_NA_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::na_; -} } - -#endif diff --git a/inst/include/nt2/sdk/meta/permute_meta.hpp b/inst/include/nt2/sdk/meta/permute_meta.hpp deleted file mode 100644 index d4dabd4..0000000 --- a/inst/include/nt2/sdk/meta/permute_meta.hpp +++ /dev/null @@ -1,115 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_PERMUTE_META_HPP_INCLUDED -#define NT2_SDK_META_PERMUTE_META_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - //============================================================================ - // Register permute_ expression as fusion random access sequence - //============================================================================ - template<> struct is_sequence_impl - { - template struct apply : boost::mpl::true_ {}; - }; - - template<> struct is_view_impl - { - template struct apply : boost::mpl::true_ {}; - }; - - template<> struct category_of_impl - { - typedef random_access_traversal_tag type; - }; - - //============================================================================ - // Size of permute_ is given by its static_size member - //============================================================================ - template<> struct size_impl - { - template - struct apply - : boost::fusion::result_of::size::type - {}; - }; - - //============================================================================ - // at_c value of permute_ is given by its static size or dynamic size if -1 - //============================================================================ - template<> struct at_impl - { - template - struct apply - { - typedef typename Sequence::permutation_type perm_type; - typedef typename Sequence::sequence_type seq_type; - typedef typename boost::fusion::result_of::size::type size_type; - typedef typename boost::mpl::apply::type index_type; - typedef typename boost::fusion::result_of::at_c::type type; - - static type call(Sequence& seq) - { - return at_c(seq.seq); - } - }; - }; - - template<> struct value_at_impl - { - template - struct apply - { - typedef typename Sequence::permutation_type perm_type; - typedef typename Sequence::sequence_type seq_type; - typedef typename boost::fusion::result_of::size::type size_type; - typedef typename boost::mpl::apply::type index_type; - typedef typename boost::fusion::result_of::value_at::type type; - }; - }; - - //========================================================================== - // begin returns the inner data_type begin as it is itself a Fusion Sequence - //========================================================================== - template<> struct begin_impl - { - template struct apply - { - typedef boost::simd::at_iterator type; - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; - - //========================================================================== - // end returns the inner data_type end as it is itself a Fusion Sequence - //========================================================================== - template<> struct end_impl - { - template - struct apply - { - typedef typename boost::fusion::result_of::size::type size_type; - typedef boost::simd::at_iterator type; - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; -} } } - -#endif diff --git a/inst/include/nt2/sdk/meta/permute_view.hpp b/inst/include/nt2/sdk/meta/permute_view.hpp deleted file mode 100644 index 5ded614..0000000 --- a/inst/include/nt2/sdk/meta/permute_view.hpp +++ /dev/null @@ -1,63 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_PERMUTE_VIEW_HPP_INCLUDED -#define NT2_SDK_META_PERMUTE_VIEW_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - namespace tag - { - struct permute_ {}; - } - - namespace meta - { - /*! - permute_view_ gives an other view of a sequence. - - @tparam Sequence Sequence to change the view - @tparam Permutation metafunction with rules of the view - **/ - template - struct permute_view - { - typedef Seq sequence_type; - typedef Permutation permutation_type; - typedef tag::permute_ fusion_tag; - - permute_view(Seq& s) : seq(s) {} - - Seq& seq; - - private: - permute_view& operator=(permute_view const& s); - }; - - template - permute_view permute(Seq const& seq) - { - permute_view that(seq); - return that; - } - - template - permute_view permute(Seq const& seq) - { - permute_view that(seq); - return that; - } - } -} - -#include - -#endif diff --git a/inst/include/nt2/sdk/meta/policy.hpp b/inst/include/nt2/sdk/meta/policy.hpp deleted file mode 100644 index 20e677b..0000000 --- a/inst/include/nt2/sdk/meta/policy.hpp +++ /dev/null @@ -1,29 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_POLICY_HPP_INCLUDED -#define NT2_SDK_META_POLICY_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - template - struct policy : boost::dispatch::meta::unspecified_< policy {}; - - template<> - struct not_< meta::indeterminate_ > : meta::indeterminate_ {}; - } - - namespace meta - { - template - struct and_ : details::and_ {}; - - template - struct or_ : details::or_ {}; - - template - struct not_ : details::not_ {}; - } -} - -#endif diff --git a/inst/include/nt2/sdk/meta/type_id.hpp b/inst/include/nt2/sdk/meta/type_id.hpp deleted file mode 100644 index a1b565a..0000000 --- a/inst/include/nt2/sdk/meta/type_id.hpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_TYPE_ID_HPP_INCLUDED -#define NT2_SDK_META_TYPE_ID_HPP_INCLUDED - -/** -* @file -* @brief Defines types to string conversion utility functions -**/ -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - /** - @brief Portable type name demangling function - - For any given type @c T or any value @c x of type @c T, type_id returns - a @c std::string containing the fully qualified name of type @c T in a - human readable format including @c const and reference qualifiers. - - @usage - - @include type_id.cpp - - This examples output: - - @code - char [21] - float - std::vector > - @endcode - - @return a @c std::string containing the type of @c T - **/ - template inline std::string type_id() - { - typedef boost::is_const::type> const_t; - typedef boost::is_reference ref_t; - - std::string s = details::demangle(typeid(T).name()); - details::add_const(s, boost::mpl::bool_()); - details::add_ref(s, boost::mpl::bool_()); - return s; - } - - /// @overload - template inline std::string type_id( const T& ) - { - return type_id(); - } -} - -#endif diff --git a/inst/include/nt2/sdk/meta/upgrade.hpp b/inst/include/nt2/sdk/meta/upgrade.hpp deleted file mode 100644 index 6a73487..0000000 --- a/inst/include/nt2/sdk/meta/upgrade.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_UPGRADE_HPP_INCLUDED -#define NT2_SDK_META_UPGRADE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace meta -{ - using boost::dispatch::meta::upgrade; -} } - -#endif - diff --git a/inst/include/nt2/sdk/meta/value_as.hpp b/inst/include/nt2/sdk/meta/value_as.hpp deleted file mode 100644 index 24f0a86..0000000 --- a/inst/include/nt2/sdk/meta/value_as.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2011 - 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_META_VALUE_AS_HPP_INCLUDED -#define NT2_SDK_META_VALUE_AS_HPP_INCLUDED - -/*! - @file - @brief Defines the value_as @metafunction - **/ - -#include - -namespace nt2 { namespace meta -{ - /*! - @brief value_type helper for child-like value_type cases - - This @metafunction extracts the value type of the @c Nth child of an - nt2 expression @c Expr to use as @c Expr value_type specialization. - - @note value_as doesn't perform any checks on the validity of the result - with respect to a given expression hierarchy. Additionnal compile-time - assertiosn may be included in the value_type specialisation itself. - - @tparam Expr nt2 expression to extract the value type from. - @tparam N Integral index of the chidl providing the value type. - - @par Semantic: - - For any given nt2 expression @c Expr and any integral @c N, - - @code - typedef meta::value_as::type r; - @endcode - - is equivalent to: - - @code - typedef boost::proto::result_of::child_c::value_type::value_type r; - @endcode - - This behavior is tied to the fact nt2 expression stores their children by - values. - **/ - template struct value_as - { - typedef typename boost::proto::result_of - ::child_c::value_type::value_type type; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/option/option.hpp b/inst/include/nt2/sdk/option/option.hpp deleted file mode 100644 index 07ccf5a..0000000 --- a/inst/include/nt2/sdk/option/option.hpp +++ /dev/null @@ -1,17 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_OPTION_OPTION_HPP_INCLUDED -#define NT2_SDK_OPTION_OPTION_HPP_INCLUDED - -namespace nt2 { namespace details -{ - template struct option { typedef Tag type; }; -} } - -#endif diff --git a/inst/include/nt2/sdk/option/option_domain.hpp b/inst/include/nt2/sdk/option/option_domain.hpp deleted file mode 100644 index 16bf21d..0000000 --- a/inst/include/nt2/sdk/option/option_domain.hpp +++ /dev/null @@ -1,22 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_OPTION_OPTION_DOMAIN_HPP_INCLUDED -#define NT2_SDK_OPTION_OPTION_DOMAIN_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - struct option_domain - : boost::proto::domain > - {}; -} } - -#endif diff --git a/inst/include/nt2/sdk/option/option_expr.hpp b/inst/include/nt2/sdk/option/option_expr.hpp deleted file mode 100644 index f8526de..0000000 --- a/inst/include/nt2/sdk/option/option_expr.hpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_OPTION_OPTION_EXPR_HPP_INCLUDED -#define NT2_SDK_OPTION_OPTION_EXPR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 { namespace details -{ - template struct option_expr - { - BOOST_PROTO_BASIC_EXTENDS(Expr, option_expr, option_domain) - BOOST_PROTO_EXTENDS_ASSIGN() - - template struct result; - - template - struct has_option - : boost::mpl::bool_< - !boost::is_same < typename result::type - , option_not_found - >::value - > - {}; - - template - struct result : meta::result_of - {}; - - template - struct result - : boost::mpl::if_c< has_option(a)... - ); - } -} - - -#endif diff --git a/inst/include/nt2/sdk/shared_memory/shared_memory.hpp b/inst/include/nt2/sdk/shared_memory/shared_memory.hpp deleted file mode 100644 index 3bfbb71..0000000 --- a/inst/include/nt2/sdk/shared_memory/shared_memory.hpp +++ /dev/null @@ -1,21 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_SHARED_MEMORY_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_SHARED_MEMORY_HPP_INCLUDED - -namespace nt2 { namespace tag -{ - template struct shared_memory_ : Site - { - typedef Site parent; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/shared_memory/spawner.hpp b/inst/include/nt2/sdk/shared_memory/spawner.hpp deleted file mode 100644 index 158528f..0000000 --- a/inst/include/nt2/sdk/shared_memory/spawner.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_SPAWNER_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_SPAWNER_HPP_INCLUDED - -namespace nt2 -{ - template< class Tag, class Arch, class result_type = void > - struct spawner; -} - -#endif - diff --git a/inst/include/nt2/sdk/shared_memory/worker.hpp b/inst/include/nt2/sdk/shared_memory/worker.hpp deleted file mode 100644 index d6d41da..0000000 --- a/inst/include/nt2/sdk/shared_memory/worker.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_WORKER_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_WORKER_HPP_INCLUDED - -namespace nt2 -{ - template< class Tag - , class BackEnd - , class Site - , class Out - , class In - , class A2 = void - , class A3 = void - , class A4 = void - > - struct worker; -} -#endif diff --git a/inst/include/nt2/sdk/shared_memory/worker/inner_fold.hpp b/inst/include/nt2/sdk/shared_memory/worker/inner_fold.hpp deleted file mode 100644 index 52894ea..0000000 --- a/inst/include/nt2/sdk/shared_memory/worker/inner_fold.hpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_WORKER_INNER_FOLD_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_WORKER_INNER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include - -#include - -namespace nt2 -{ - - namespace tag - { - struct inner_fold_step_; - struct fold_; - } - - // Inner Fold Step worker - template - struct worker - { - worker(In & in, Neutral const & neutral, Bop const & bop) - :in_(in),neutral_(neutral),bop_(bop) - {} - - template - Out operator()(Out & out, std::size_t begin, std::size_t size) - { - static const std::size_t N = boost::simd::meta::cardinal_of::value; - return details::fold_step(out, in_, bop_, begin, size/N, N); - }; - - In & in_; - Neutral const & neutral_; - Bop const & bop_; - - private: - worker& operator=(worker const&); - }; - - // Inner Fold worker - template - struct worker - { - typedef typename boost::remove_reference::type::extent_type extent_type; - typedef typename Out::value_type value_type; - typedef typename details::target_type_from_site::type target_type; - - worker(Out& out, In& in, Neutral const& n, Bop const& bop, Uop const& uop) - : out_(out), in_(in), neutral_(n), bop_(bop), uop_(uop) - {} - - void operator()(std::size_t begin, std::size_t size) const - { - extent_type ext = in_.extent(); - std::size_t top_cache_line_size = config::top_cache_line_size(2)/sizeof(value_type); - std::size_t grain = top_cache_line_size; - - std::size_t ibound = boost::fusion::at_c<0>(ext); - std::size_t iibound = (ibound/grain) * grain; - std::size_t obound = nt2::numel(boost::fusion::pop_front(ext)); - - nt2::worker - vec_w(in_,neutral_,bop_); - - nt2::worker - scalar_w(in_,neutral_,bop_); - - nt2::spawner s; - - for(std::size_t j = begin, k=begin*ibound; j < begin+size; ++j, k+=ibound) - { - target_type vec_out = neutral_(nt2::meta::as_()); - value_type s_out = neutral_(nt2::meta::as_()); - - if( (size == obound) && (grain < iibound) ) - vec_out = s( vec_w, k, iibound, grain ); - - else if( iibound != 0 ) - vec_out = vec_w(vec_out, k, iibound); - - s_out = uop_( vec_out ); - s_out = scalar_w(s_out, k+iibound, ibound-iibound); - - nt2::run(out_, j, s_out); - } - } - - Out& out_; - In& in_; - Neutral const & neutral_; - Bop const & bop_; - Uop const & uop_; - - private: - worker& operator=(worker const&); - }; - -} -#endif diff --git a/inst/include/nt2/sdk/shared_memory/worker/inner_scan.hpp b/inst/include/nt2/sdk/shared_memory/worker/inner_scan.hpp deleted file mode 100644 index 1621c0c..0000000 --- a/inst/include/nt2/sdk/shared_memory/worker/inner_scan.hpp +++ /dev/null @@ -1,103 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_WORKER_INNER_SCAN_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_WORKER_INNER_SCAN_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - - namespace tag - { - struct inner_scan_step_; - struct scan_; - } - - // Inner Scan Step worker - template - struct worker - { - worker(Out& out, In & in, Neutral const & neutral, Bop const & bop) - :out_(out),in_(in),neutral_(neutral),bop_(bop) - {} - - template - Summary operator()(Summary summary, std::size_t begin, std::size_t size, bool prescan) - { - return details::scan_step(summary,out_,in_,bop_,begin,size,1,prescan); - }; - - Out & out_; - In & in_; - Neutral const & neutral_; - Bop const & bop_; - - private: - worker& operator=(worker const&); - }; - - // Inner Scan worker - template - struct worker - { - typedef typename boost::remove_reference::type::extent_type extent_type; - typedef typename Out::value_type value_type; - - worker(Out& out, In& in, Neutral const& n, Bop const& bop) - : out_(out), in_(in), neutral_(n), bop_(bop) - {} - - void operator()(std::size_t begin, std::size_t size) const - { - extent_type ext = in_.extent(); - std::size_t top_cache_line_size = config::top_cache_line_size(2)/sizeof(value_type); - std::size_t grain = top_cache_line_size; - - std::size_t ibound = boost::fusion::at_c<0>(ext); - std::size_t iibound = (ibound/grain) * grain; - std::size_t obound = nt2::numel(boost::fusion::pop_front(ext)); - - nt2::worker - w(out_,in_,neutral_,bop_); - - nt2::spawner s; - - for(std::size_t j = begin, k=begin*ibound; j < begin+size; ++j, k+=ibound) - { - value_type s_out = neutral_(nt2::meta::as_()); - - if( (size == obound) && (8*grain < iibound) ) - s_out = s( w, k, iibound, grain ); - - else if( iibound != 0 ) - s_out = w(s_out, k, iibound, false); - - w(s_out, k+iibound, ibound -iibound, false); - } - } - - Out& out_; - In& in_; - Neutral const & neutral_; - Bop const & bop_; - - private: - worker& operator=(worker const&); - }; - -} -#endif diff --git a/inst/include/nt2/sdk/shared_memory/worker/outer_fold.hpp b/inst/include/nt2/sdk/shared_memory/worker/outer_fold.hpp deleted file mode 100644 index 2e119c1..0000000 --- a/inst/include/nt2/sdk/shared_memory/worker/outer_fold.hpp +++ /dev/null @@ -1,158 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_WORKER_OUTER_FOLD_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_WORKER_OUTER_FOLD_HPP_INCLUDED - -#include -#include -#include -#include - -#include - -namespace nt2 -{ - - namespace tag - { - struct outer_fold_step_outcache_; - struct outer_fold_step_incache_; - struct fold_; - } - - // Outer Fold worker - template - struct worker - { - typedef typename boost::remove_reference::type::extent_type extent_type; - typedef typename Out::value_type value_type; - typedef typename details::target_type_from_site::type target_type; - - worker(Out& out, In& in, Neutral const& n, Bop const& bop, Uop const& uop) - : out_(out), in_(in), neutral_(n), bop_(bop), uop_(uop) - {} - - void operator()(std::size_t begin, std::size_t size) const - { - extent_type ext = in_.extent(); - static const std::size_t N = boost::simd::meta::cardinal_of::value; - std::size_t ibound = boost::fusion::at_c<0>(ext); - std::size_t mbound = boost::fusion::at_c<1>(ext); - std::size_t obound = boost::fusion::at_c<2>(ext); - std::size_t iboundxmbound = ibound * mbound; - - std::size_t cache_line_size = nt2::config::top_cache_line_size(2) / sizeof(value_type); - std::size_t grain = cache_line_size; - - // Compute the lower multiple of cache_line of ibound - std::size_t cache_bound = (cache_line_size / (sizeof(value_type)*N))*N; - std::size_t iibound = boost::simd::align_under(ibound, cache_bound); - - // Compute the lower multiple of grain of mbound - std::size_t mmbound = (mbound/grain)*grain; - - if( iibound < grain ) - { - // Instanciate the spawner/worker associated to the mbound dimension - nt2::spawner s_simd; - nt2::spawner s_scalar; - - nt2::worker - w(in_,neutral_,bop_); - - for(std::size_t o = begin, oout_ = begin*ibound, oin_ = begin * iboundxmbound; - o < begin + size; - ++o, oout_+=ibound, oin_+= iboundxmbound) - { - // parallelized part - for (std::size_t i = 0, kout_ = oout_, kin_ = oin_; - i < iibound; - i+=N, kout_+=N, kin_+=N) - { - w.update(kin_); - - target_type result = neutral_(nt2::meta::as_()); - - if( (size == obound) && (grain < mmbound) ) - result = s_simd( w, 0, mmbound, grain); - else if(mmbound != 0) - result = w(result, 0, mmbound); - - result = w(result, mmbound, mbound-mmbound); - - nt2::run(out_, kout_, result); - } - - // scalar part - for(std::size_t i = iibound, kout_ = oout_ + iibound, kin_ = oin_ + iibound; - i < ibound; - ++i, ++kout_, ++kin_) - { - w.update(kin_); - - value_type result = neutral_(nt2::meta::as_()); - - if( (size == obound) && (grain < mmbound) ) - result = s_scalar(w, 0, mmbound, grain); - else if(mmbound != 0) - result = w(result, 0, mmbound); - - result = w(result, mmbound, mbound-mmbound); - - nt2::run(out_, kout_, result); - } - } - } - - else - { - // Instanciate the spawner/worker associated to the ibound dimension - nt2::spawner s; - - // vectorized worker - nt2::worker - w1(out_,in_,neutral_,bop_); - - // scalar worker - nt2::worker - w2(out_,in_,neutral_,bop_); - - for(std::size_t o = 0, oout_ = begin*ibound, oin_ = begin * iboundxmbound; - o < size; - ++o, oout_+=ibound, oin_+= iboundxmbound) - { - w1.update(oout_, oin_); - w2.update(oout_, oin_); - - // parallelized part - if((size == obound) && (grain < iibound)) - s(w1,0,iibound,grain); - - else if(iibound != 0) - w1(0,iibound); - - // scalar part - w2(iibound,ibound-iibound); - } - } - } - - Out& out_; - In& in_; - Neutral const & neutral_; - Bop const & bop_; - Uop const & uop_; - - private: - worker& operator=(worker const&); - }; - -} -#endif diff --git a/inst/include/nt2/sdk/shared_memory/worker/outer_fold_step.hpp b/inst/include/nt2/sdk/shared_memory/worker/outer_fold_step.hpp deleted file mode 100644 index d8d0590..0000000 --- a/inst/include/nt2/sdk/shared_memory/worker/outer_fold_step.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_WORKER_OUTER_FOLD_STEP_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_WORKER_OUTER_FOLD_STEP_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - - namespace tag - { - struct outer_fold_step_incache_; - struct outer_fold_step_outcache_; - } - // Outer Fold Step worker incache - template - struct worker - { - typedef typename boost::remove_reference::type::extent_type extent_type; - typedef typename Out::value_type value_type; - typedef typename details::target_type_from_site::type target_type; - - worker(Out & out, In & in, Neutral const & neutral, Bop const & bop) - :out_(out),in_(in),neutral_(neutral),bop_(bop) - {} - - void operator()(std::size_t begin, std::size_t size) - { - details::outer_fold_step - (out_, in_, neutral_, bop_, begin, size, oout_, oin_); - } - - void update(std::size_t oout, std::size_t oin) - { - oout_ = oout; - oin_ = oin; - } - - Out & out_; - In & in_; - Neutral const & neutral_; - Bop const & bop_; - std::size_t oout_; - std::size_t oin_; - - private: - worker& operator=(worker const&); - }; - - // Outer Fold Step worker outcache - template - struct worker - { - typedef typename boost::remove_reference::type::extent_type extent_type; - - worker(In & in, Neutral const & neutral, Bop const & bop) - :in_(in),neutral_(neutral),bop_(bop) - {} - - template - Out operator()(Out const & out, std::size_t begin, std::size_t size) - { - extent_type ext = in_.extent(); - std::size_t ibound = boost::fusion::at_c<0>(ext); - - return details::fold_step(out, in_, bop_, o_ + begin*ibound, size, ibound); - }; - - void update(std::size_t o) - { - o_ = o; - } - - - - In & in_; - Neutral const & neutral_; - Bop const & bop_; - std::size_t o_; - - private: - worker& operator=(worker const&); - }; - -} -#endif diff --git a/inst/include/nt2/sdk/shared_memory/worker/outer_scan.hpp b/inst/include/nt2/sdk/shared_memory/worker/outer_scan.hpp deleted file mode 100644 index e82a690..0000000 --- a/inst/include/nt2/sdk/shared_memory/worker/outer_scan.hpp +++ /dev/null @@ -1,114 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_WORKER_OUTER_SCAN_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_WORKER_OUTER_SCAN_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 -{ - - namespace tag - { - struct outer_scan_; - } - - // Outer Fold worker - template - struct worker - { - typedef typename boost::remove_reference::type::extent_type extent_type; - typedef typename Out::value_type value_type; - - worker(Out& out, In& in, Neutral const& n, Bop const& bop, Uop const& uop) - : out_(out), in_(in), neutral_(n), bop_(bop), uop_(uop) - {} - - void operator()(std::size_t begin, std::size_t size) const - { - extent_type ext = in_.extent(); - std::size_t ibound = boost::fusion::at_c<0>(ext); - std::size_t mbound = boost::fusion::at_c<1>(ext); - std::size_t obound = boost::fusion::at_c<2>(ext); - std::size_t iboundxmbound = ibound * mbound; - - std::size_t cache_line_size = nt2::config::top_cache_line_size(2)/sizeof(value_type); - - std::size_t grain = cache_line_size; - - // Compute the lower multiple of grain of mbound - std::size_t mmbound = (mbound/grain)*grain; - - if( ibound < grain ) - { - // Instanciate the spawner/worker associated to the mbound dimension - - nt2::spawner s; - - for(std::size_t o = 0, o_ = begin * iboundxmbound; - o < size; - ++o, o_+= iboundxmbound) - { - for(std::size_t i = 0, i_ = o_; - i < ibound; - ++i, ++i_) - { - - nt2::worker - w(out_,in_,neutral_,bop_,i_); - - value_type s_out = neutral_(nt2::meta::as_()); - - if( (size == obound) && (grain < mmbound) ) - s_out = s( w, 0, mmbound, grain); - - else if (mmbound != 0) - s_out = w(s_out, 0, mmbound, false); - - s_out = w(s_out, mmbound, mbound-mmbound, false); - } - } - } - - else - { - // Instanciate the spawner/worker associated to the ibound dimension - nt2::spawner s; - - for(std::size_t o = 0, o_ = begin * iboundxmbound; - o < size; - ++o, o_+= iboundxmbound) - { - nt2::worker - w(out_,in_,neutral_,bop_, o_); - - if( size == obound ) - s(w,0,ibound,grain); - - else - w(0,ibound); - } - } - } - - Out& out_; - In& in_; - Neutral const & neutral_; - Bop const & bop_; - Uop const & uop_; - - private: - worker& operator=(worker const&); - }; - -} -#endif diff --git a/inst/include/nt2/sdk/shared_memory/worker/outer_scan_step.hpp b/inst/include/nt2/sdk/shared_memory/worker/outer_scan_step.hpp deleted file mode 100644 index 7281b83..0000000 --- a/inst/include/nt2/sdk/shared_memory/worker/outer_scan_step.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_WORKER_OUTER_SCAN_STEP_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_WORKER_OUTER_SCAN_STEP_HPP_INCLUDED - -#include -#include -#include -#include - -namespace nt2 -{ - - namespace tag - { - struct outer_scan_step_incache_; - struct outer_scan_step_outcache_; - } - // Outer Scan Step worker incache - template - struct worker - { - typedef typename boost::remove_reference::type::extent_type extent_type; - typedef typename Out::value_type value_type; - - worker(Out & out, In & in, Neutral const & neutral, Bop const & bop - ,std::size_t o) - :out_(out),in_(in),neutral_(neutral),bop_(bop),o_(o) - {} - - void operator()(std::size_t begin, std::size_t size) - { - extent_type ext = in_.extent(); - std::size_t ibound = boost::fusion::at_c<0>(ext); - std::size_t mbound = boost::fusion::at_c<1>(ext); - - for( std::size_t i=0, i_ = o_ + begin; i()); - summary = details::scan_step( summary - , out_, in_ - , bop_ - , i_, mbound, ibound - , false); - } - } - - Out & out_; - In & in_; - Neutral const & neutral_; - Bop const & bop_; - std::size_t o_; - - private: - worker& operator=(worker const&); - }; - - // Outer Scan Step worker outcache - template - struct worker - { - typedef typename boost::remove_reference::type::extent_type extent_type; - - worker(Out & out, In & in, Neutral const & neutral, Bop const & bop, std::size_t o) - :out_(out),in_(in),neutral_(neutral),bop_(bop),o_(o) - {} - - template - Summary operator()(Summary summary, std::size_t begin, std::size_t size, bool prescan) - { - extent_type ext = in_.extent(); - std::size_t ibound = boost::fusion::at_c<0>(ext); - - return details::scan_step( summary - , out_, in_ - , bop_ - , o_ + begin*ibound, size, ibound - , prescan); - }; - - Out & out_; - In & in_; - Neutral const & neutral_; - Bop const & bop_; - std::size_t o_; - - private: - worker& operator=(worker const&); - }; - -} -#endif diff --git a/inst/include/nt2/sdk/shared_memory/worker/transform.hpp b/inst/include/nt2/sdk/shared_memory/worker/transform.hpp deleted file mode 100644 index bc3e367..0000000 --- a/inst/include/nt2/sdk/shared_memory/worker/transform.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SHARED_MEMORY_WORKER_TRANSFORM_HPP_INCLUDED -#define NT2_SDK_SHARED_MEMORY_WORKER_TRANSFORM_HPP_INCLUDED - -#include -#include - -namespace nt2 -{ - - namespace tag - { - struct transform_; - } - - // Transform Worker - template - struct worker - { - worker(Out & out, In & in) - :out_(out),in_(in) - {} - - void operator()(std::size_t begin, std::size_t size) - { - work(out_,in_,std::make_pair(begin,size)); - }; - - Out & out_; - In & in_; - - nt2::functor work; - - private: - worker& operator=(worker const&); - }; - -} -#endif diff --git a/inst/include/nt2/sdk/simd/category.hpp b/inst/include/nt2/sdk/simd/category.hpp deleted file mode 100644 index 59638a2..0000000 --- a/inst/include/nt2/sdk/simd/category.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SIMD_CATEGORY_HPP_INCLUDED -#define NT2_SDK_SIMD_CATEGORY_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace ext -{ - using boost::simd::ext::simd_; - using boost::simd::ext::logical_; - - using boost::simd::ext::abstract_; - using boost::simd::ext::elementwise_; - using boost::simd::ext::reduction_; - using boost::simd::ext::cumulative_; - using boost::simd::ext::constant_; -} } - -#endif diff --git a/inst/include/nt2/sdk/simd/logical.hpp b/inst/include/nt2/sdk/simd/logical.hpp deleted file mode 100644 index ac9864d..0000000 --- a/inst/include/nt2/sdk/simd/logical.hpp +++ /dev/null @@ -1,28 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SIMD_LOGICAL_HPP_INCLUDED -#define NT2_SDK_SIMD_LOGICAL_HPP_INCLUDED -#include - -namespace nt2 -{ - using boost::simd::logical; - namespace meta - { - using boost::simd::meta::as_logical; - } -} - - - -#endif - -// ///////////////////////////////////////////////////////////////////////////// -// End of logical.hpp -// ///////////////////////////////////////////////////////////////////////////// diff --git a/inst/include/nt2/sdk/simd/meta/is_real_convertible.hpp b/inst/include/nt2/sdk/simd/meta/is_real_convertible.hpp deleted file mode 100644 index da33354..0000000 --- a/inst/include/nt2/sdk/simd/meta/is_real_convertible.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SIMD_META_IS_REAL_CONVERTIBLE_HPP_INCLUDED -#define NT2_SDK_SIMD_META_IS_REAL_CONVERTIBLE_HPP_INCLUDED - -#include - -namespace nt2 { namespace meta -{ - template - struct is_real_convertible - : boost::mpl::bool_ < ( sizeof(float) - <= sizeof(typename meta::scalar_of::type) - ) - > {}; -} } - -#endif diff --git a/inst/include/nt2/sdk/simd/tags.hpp b/inst/include/nt2/sdk/simd/tags.hpp deleted file mode 100644 index faf4eb3..0000000 --- a/inst/include/nt2/sdk/simd/tags.hpp +++ /dev/null @@ -1,20 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_SIMD_TAGS_HPP_INCLUDED -#define NT2_SDK_SIMD_TAGS_HPP_INCLUDED - -#include - -namespace nt2 { namespace tag -{ - using boost::simd::tag::not_simd_type; - using boost::simd::tag::simd_type; -} } - -#endif diff --git a/inst/include/nt2/sdk/tbb/blocked_range.hpp b/inst/include/nt2/sdk/tbb/blocked_range.hpp deleted file mode 100644 index e07ef48..0000000 --- a/inst/include/nt2/sdk/tbb/blocked_range.hpp +++ /dev/null @@ -1,92 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_BLOCKED_RANGE_HPP_INCLUDED -#define NT2_SDK_TBB_BLOCKED_RANGE_HPP_INCLUDED - -#include - -namespace nt2 { - -template -class blocked_range { -public: - //! Type of a value - /** Called a const_iterator for sake of algorithms that need to treat a blocked_range - as an STL container. */ - typedef Value const_iterator; - - //! Type for size of a range - typedef std::size_t size_type; - - //! Construct range with default-constructed values for begin and end. - /** Requires that Value have a default constructor. */ - blocked_range() : my_end(), my_begin() {} - - //! Construct range over half-open interval [begin,end), with the given grainsize. - blocked_range( Value begin_, Value end_, size_type grainsize_=1 ) : - my_end(end_), my_begin(begin_), my_grainsize(grainsize_) - {} - - //! Beginning of range. - const_iterator begin() const {return my_begin;} - - //! One past last value in range. - const_iterator end() const {return my_end;} - - //! Size of the range - /** Unspecified if end()= (2*my_grainsize) ); - } - - //! Split range. - /** The new Range *this has the second half, the old range r has the first half. - Unspecified if end() -#include - -#endif diff --git a/inst/include/nt2/sdk/tbb/future/details/empty_body.hpp b/inst/include/nt2/sdk/tbb/future/details/empty_body.hpp deleted file mode 100644 index ae9e125..0000000 --- a/inst/include/nt2/sdk/tbb/future/details/empty_body.hpp +++ /dev/null @@ -1,32 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_FUTURE_DETAILS_EMPTY_BODY_HPP_INCLUDED -#define NT2_SDK_TBB_FUTURE_DETAILS_EMPTY_BODY_HPP_INCLUDED - -#if defined(NT2_USE_TBB) - -#include -#include - -namespace nt2 -{ - namespace details - { - - struct empty_body - { - void operator()( tbb::flow::continue_msg ) const - {} - }; - } -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/tbb/future/details/tbb_future.hpp b/inst/include/nt2/sdk/tbb/future/details/tbb_future.hpp deleted file mode 100644 index 31b3ede..0000000 --- a/inst/include/nt2/sdk/tbb/future/details/tbb_future.hpp +++ /dev/null @@ -1,229 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_FUTURE_DETAILS_TBB_FUTURE_HPP_INCLUDED -#define NT2_SDK_TBB_FUTURE_DETAILS_TBB_FUTURE_HPP_INCLUDED - -#if defined(NT2_USE_TBB) - -#include -#include - -#include -#include -#include -#include - -#include -#include - -namespace nt2 -{ - namespace tag - { - template struct tbb_; - } - - namespace details - { - class tbb_future_base - { - protected: - - tbb_future_base () {} - ~tbb_future_base () {} - - public: - - static tbb::flow::graph * - getWork () - { - if(NULL == nt2_graph_) - { - nt2_graph_ = new tbb::flow::graph; - } - return nt2_graph_; - } - - static tbb::flow::continue_node * - getStart () - { - if (NULL == start_task_) - { - start_task_ = - new tbb::flow::continue_node - - (*getWork(), details::empty_body()); - } - return (start_task_); - } - - static std::vector< - tbb::flow::continue_node< tbb::flow::continue_msg> * - > * - getTaskQueue () - { - if (NULL == task_queue_) - { - task_queue_ = new std::vector< - tbb::flow::continue_node * - >; - - task_queue_->reserve(1000); - } - return task_queue_; - } - - static void kill_graph () - { - if (NULL != nt2_graph_) - { - delete nt2_graph_; - nt2_graph_ = NULL; - } - - if (NULL != start_task_) - { - delete start_task_; - start_task_ = NULL; - } - - if (NULL != task_queue_) - { - for (std::size_t i =0; isize(); i++) - { - delete( (*task_queue_)[i] ); - } - - delete task_queue_; - task_queue_ = NULL; - } - } - - private: - -// static members - static tbb::flow::graph * - nt2_graph_; - - static tbb::flow::continue_node * - start_task_; - - static std::vector< - tbb::flow::continue_node * - > * - task_queue_; - }; - - tbb::flow::graph * - tbb_future_base::nt2_graph_ = NULL; - - tbb::flow::continue_node * - tbb_future_base::start_task_ = NULL; - - std::vector< - tbb::flow::continue_node * - > * - tbb_future_base::task_queue_ = NULL; - - template - struct tbb_future : public tbb_future_base - { - typedef typename tbb::flow::continue_node< - tbb::flow::continue_msg> node_type; - - tbb_future() - : node_(NULL),res_(new result_type),ready_(new bool(false)) - {} - - bool is_ready() - { - return *ready_; - } - - void wait() - { - getStart()->try_put(tbb::flow::continue_msg()); - getWork()->wait_for_all(); - kill_graph(); - } - - result_type get() - { - if(!is_ready()) - { - wait(); - } - return *res_; - } - - template - details::tbb_future< - typename std::result_of::type - > - then(F&& f) - { - typedef typename std::result_of::type - then_result_type; - - typedef typename details::tbb_future - then_future_type; - - then_future_type then_future; - - then_future.attach_previous_future(*this); - - node_type * c - = new node_type - ( *getWork(), - details::tbb_task_wrapper< - F, - then_future_type, - tbb_future - > - (std::forward(f) - ,then_future_type(then_future) - ,tbb_future(*this) ) - ); - - tbb::flow::make_edge(*node_,*c); - - getTaskQueue()->push_back(c); - then_future.attach_task(c); - - return then_future; - } - - template< typename previous_future> - void attach_previous_future(previous_future const & pfuture) - { - pfutures_.push_back( - std::shared_ptr( - new previous_future(pfuture) - ) - ); - } - - - void attach_task(node_type * node) - { - node_ = node; - } - -// own members - node_type * node_; - std::vector< std::shared_ptr > pfutures_; - std::shared_ptr res_; - std::shared_ptr ready_; - }; - } -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/tbb/future/details/tbb_task_wrapper.hpp b/inst/include/nt2/sdk/tbb/future/details/tbb_task_wrapper.hpp deleted file mode 100644 index a8f107d..0000000 --- a/inst/include/nt2/sdk/tbb/future/details/tbb_task_wrapper.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_FUTURE_DETAILS_TBB_TASK_WRAPPER_HPP_INCLUDED -#define NT2_SDK_TBB_FUTURE_DETAILS_TBB_TASK_WRAPPER_HPP_INCLUDED - -#if defined(NT2_USE_TBB) - -#include -#include - -#include -#include -#include -#include - -namespace nt2 -{ - namespace details - { - - template - struct tbb_sequence{ - template - typename std::result_of::type - apply(F& f, std::tuple & tuple) - { - return f( std::get(tuple)... ); - } - }; - - template - struct generate_tbb_sequence - : generate_tbb_sequence { }; - - template - struct generate_tbb_sequence<0, S...> { - typedef tbb_sequence type; - }; - - template< class F, typename future_type, typename ... A> - struct tbb_task_wrapper - { - typedef typename generate_tbb_sequence::type seq; - - tbb_task_wrapper( F && f, future_type && future_result, A&& ... a) - : f_(std::forward(f)) - , future_result_(std::forward(future_result)) - , a_( std::make_tuple(std::forward(a) ...) ) - {} - - void operator()(const tbb::flow::continue_msg ) - { - *(future_result_.res_) = seq().apply(f_,a_); - *(future_result_.ready_) = true; - } - - F f_; - future_type future_result_; - std::tuple < A ... > a_; - }; - } -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/tbb/future/future.hpp b/inst/include/nt2/sdk/tbb/future/future.hpp deleted file mode 100644 index eb63791..0000000 --- a/inst/include/nt2/sdk/tbb/future/future.hpp +++ /dev/null @@ -1,99 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_FUTURE_FUTURE_HPP_INCLUDED -#define NT2_SDK_TBB_FUTURE_FUTURE_HPP_INCLUDED - -#if defined(NT2_USE_TBB) - -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace tag - { - template struct tbb_; - } - - template - struct make_future , result_type> - { - typedef details::tbb_future type; - }; - - template< class Site, class result_type> - struct make_ready_future_impl< tag::tbb_, result_type> - { - inline details::tbb_future - call(result_type && value) - { - details::tbb_future future_res; - future_res.res_ = - std::make_shared - ( std::forward(value) ); - - *(future_res.ready_) = true; - - future_res.attach_task(future_res.getStart()); - - return future_res; - } - }; - - template - struct async_impl< tag::tbb_ > - { - typedef typename - tbb::flow::continue_node node_type; - - template< typename F , typename ... A> - inline typename make_future< tag::tbb_ - , typename std::result_of< F(A...)>::type - >::type - call(F&& f, A&& ... a) - { - typedef typename std::result_of< F(A...)>::type result_type; - typedef typename details::tbb_future async_future; - - async_future future_res; - - node_type * node = - new node_type( *future_res.getWork() - , details::tbb_task_wrapper< F, async_future, A ... > - ( std::forward(f) - , async_future(future_res) - , std::forward(a)... - ) - ); - - tbb::flow::make_edge( *(future_res.getStart()), *(node) ); - - future_res.getTaskQueue()->push_back(node); - future_res.attach_task(node); - - return future_res; - } - - }; - -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/tbb/future/when_all.hpp b/inst/include/nt2/sdk/tbb/future/when_all.hpp deleted file mode 100644 index 5cd4619..0000000 --- a/inst/include/nt2/sdk/tbb/future/when_all.hpp +++ /dev/null @@ -1,112 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_FUTURE_WHEN_ALL_HPP_INCLUDED -#define NT2_SDK_TBB_FUTURE_WHEN_ALL_HPP_INCLUDED - -#if defined(NT2_USE_TBB) - -#include -#include - -#include - -#include -#include - -#include -#include - -namespace nt2 -{ - - namespace details - { - struct empty_functor - { - typedef int result_type; - - int operator()() const - { - return 0; - } - }; - - - template - static void link_node(Future & f, Node_raw & c, A & a) - { - tbb::flow::make_edge( *(a.node_) - , *c - ); - f.attach_previous_future( a ); - } - } - - template - struct when_all_impl< tag::tbb_ > - { - typedef typename tbb::flow::continue_node< - tbb::flow::continue_msg> node_type; - - typedef typename details::tbb_future - whenall_future; - - template - whenall_future static call( std::vector & lazy_values ) - { - whenall_future future_res; - - node_type * c = new node_type( *(future_res.getWork()), - details::tbb_task_wrapper - (details::empty_functor() - ,whenall_future(future_res) - ) - ); - - future_res.getTaskQueue()->push_back(c); - - for (std::size_t i=0; i - whenall_future static call( details::tbb_future & ...a ) - { - whenall_future future_res; - - node_type * c = new node_type( *future_res.getWork(), - details::tbb_task_wrapper - ( details::empty_functor() - , whenall_future(future_res) - ) - ); - - future_res.getTaskQueue()->push_back(c); - future_res.attach_task(c); - - // Some trick to call link_node multiple times - return (void)std::initializer_list - { ( static_cast( details::link_node(future_res, c, a) ) - , 0 - )... - } - , future_res; - } - }; -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/tbb/shared_memory.hpp b/inst/include/nt2/sdk/tbb/shared_memory.hpp deleted file mode 100644 index 3fb5880..0000000 --- a/inst/include/nt2/sdk/tbb/shared_memory.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_SHARED_MEMORY_HPP_INCLUDED -#define NT2_SDK_TBB_SHARED_MEMORY_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace tag -{ - template struct tbb_ : shared_memory_< tbb_, Site > - { - typedef shared_memory_< tbb_, Site > parent; - }; -} } - -#if defined(NT2_USE_TBB) -BOOST_DISPATCH_COMBINE_SITE( nt2::tag::tbb_ ) - -#include -#include - -#endif -#endif diff --git a/inst/include/nt2/sdk/tbb/spawner.hpp b/inst/include/nt2/sdk/tbb/spawner.hpp deleted file mode 100644 index 72882d3..0000000 --- a/inst/include/nt2/sdk/tbb/spawner.hpp +++ /dev/null @@ -1,17 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_SPAWNER_HPP_INCLUDED -#define NT2_SDK_TBB_SPAWNER_HPP_INCLUDED - -#include -#include -#include - -#endif diff --git a/inst/include/nt2/sdk/tbb/spawner/fold.hpp b/inst/include/nt2/sdk/tbb/spawner/fold.hpp deleted file mode 100644 index da5bf62..0000000 --- a/inst/include/nt2/sdk/tbb/spawner/fold.hpp +++ /dev/null @@ -1,107 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_SPAWNER_FOLD_HPP_INCLUDED -#define NT2_SDK_TBB_SPAWNER_FOLD_HPP_INCLUDED - -#if defined(NT2_USE_TBB) - -#include -#include -#include -#include - -#ifndef BOOST_NO_EXCEPTIONS -#include -#endif - -namespace nt2 -{ - - namespace tag - { - struct fold_; - template struct tbb_; - } - - namespace details - { - template - struct Tbb_Folder - { - Tbb_Folder(Worker & w) - :w_(w) - { - out_ = w.neutral_(nt2::meta::as_()); - } - - Tbb_Folder(Tbb_Folder& src, tbb::split) - : w_(src.w_) - { - out_ = w_.neutral_(nt2::meta::as_()); - } - - void operator()(nt2::blocked_range const& r) - { - out_ = w_(out_,r.begin(),r.size()); - }; - - void join(Tbb_Folder& rhs) { out_ = w_.bop_(out_, rhs.out_); } - - Worker & w_; - result_type out_; - - private: - Tbb_Folder& operator=(Tbb_Folder const&); - - }; - } - - template - struct spawner< tag::fold_, tag::tbb_, result_type> - { - - spawner(){} - - template - result_type operator()(Worker & w, std::size_t begin, std::size_t size, std::size_t grain) - { - -#ifndef BOOST_NO_EXCEPTIONS - boost::exception_ptr exception; -#endif - - BOOST_ASSERT_MSG( size % grain == 0, "Reduce size not divisible by grain"); - - details::Tbb_Folder tbb_w ( w ); - -#ifndef BOOST_NO_EXCEPTIONS - try - { -#endif - tbb::parallel_reduce( nt2::blocked_range(begin,begin+size,grain) - ,tbb_w - ); - -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - exception = boost::current_exception(); - } -#endif - - return tbb_w.out_; - } - -}; -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/tbb/spawner/scan.hpp b/inst/include/nt2/sdk/tbb/spawner/scan.hpp deleted file mode 100644 index 7ab447e..0000000 --- a/inst/include/nt2/sdk/tbb/spawner/scan.hpp +++ /dev/null @@ -1,115 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_SPAWNER_SCAN_HPP_INCLUDED -#define NT2_SDK_TBB_SPAWNER_SCAN_HPP_INCLUDED - -#if defined(NT2_USE_TBB) - -#include -#include -#include -#include - -#ifndef BOOST_NO_EXCEPTIONS -#include -#endif - -namespace nt2 -{ - namespace tag - { - struct scan_; - template struct tbb_; - } - - namespace details - { - template - struct Tbb_Scaner - { - Tbb_Scaner(Worker & w) - :w_(w) - { - out_ = w.neutral_(nt2::meta::as_()); - } - - Tbb_Scaner(Tbb_Scaner& src, tbb::split) - : w_(src.w_) - { - out_ = w_.neutral_(nt2::meta::as_()); - } - - template - void operator()(nt2::blocked_range const& r, Tag) - { - out_ = w_(out_,r.begin(),r.size(),!Tag::is_final_scan()); - }; - - void reverse_join(Tbb_Scaner& rhs) - { - out_ = w_.bop_(rhs.out_,out_); - } - - void assign( Tbb_Scaner& b ) - { - out_ = b.out_; - } - - Worker & w_; - result_type out_; - - private: - Tbb_Scaner& operator=(Tbb_Scaner const&); - - }; - } - - template - struct spawner< tag::scan_, tag::tbb_ , result_type> - { - spawner(){} - - template - result_type operator()(Worker & w, std::size_t begin, std::size_t size, std::size_t grain) - { - -#ifndef BOOST_NO_EXCEPTIONS - boost::exception_ptr exception; -#endif - - BOOST_ASSERT_MSG( size % grain == 0, "Reduce size not divisible by grain"); - - details::Tbb_Scaner tbb_w ( w ); - -#ifndef BOOST_NO_EXCEPTIONS - try - { -#endif - tbb::parallel_scan( nt2::blocked_range(begin,begin+size,grain) - , tbb_w - ); - -#ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - exception = boost::current_exception(); - } -#endif - - return tbb_w.out_; - } - }; -} - - -#endif - -#endif diff --git a/inst/include/nt2/sdk/tbb/spawner/transform.hpp b/inst/include/nt2/sdk/tbb/spawner/transform.hpp deleted file mode 100644 index 8a47e40..0000000 --- a/inst/include/nt2/sdk/tbb/spawner/transform.hpp +++ /dev/null @@ -1,89 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2013 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TBB_SPAWNER_TRANSFORM_HPP_INCLUDED -#define NT2_SDK_TBB_SPAWNER_TRANSFORM_HPP_INCLUDED - -#if defined(NT2_USE_TBB) - -#include -#include -#include - -#ifndef BOOST_NO_EXCEPTIONS -#include -#endif - -namespace nt2 -{ - namespace tag - { - struct transform_; - template struct tbb_; - } - - namespace details - { - template - struct Tbb_Transformer - { - Tbb_Transformer(Worker & w) - :w_(w) - {} - - void operator()(nt2::blocked_range const& r) const - { - w_(r.begin(),r.size()); - }; - - Worker & w_; - - private: - Tbb_Transformer& operator=(Tbb_Transformer const&); - - }; - } - - template - struct spawner< tag::transform_, tag::tbb_ > - { - - spawner(){} - - template - void operator()(Worker & w, std::size_t begin, std::size_t size, std::size_t grain) - { - -#ifndef BOOST_NO_EXCEPTIONS - boost::exception_ptr exception; -#endif - - #ifndef BOOST_NO_EXCEPTIONS - try - { - #endif - details::Tbb_Transformer tbb_w ( w ); - - tbb::parallel_for( nt2::blocked_range(begin,begin+size,grain), - tbb_w - ); - - #ifndef BOOST_NO_EXCEPTIONS - } - catch(...) - { - exception = boost::current_exception(); - } - #endif - } -}; -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/timing/config.hpp b/inst/include/nt2/sdk/timing/config.hpp deleted file mode 100644 index d5d988b..0000000 --- a/inst/include/nt2/sdk/timing/config.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TIMING_CONFIG_HPP_INCLUDED -#define NT2_SDK_TIMING_CONFIG_HPP_INCLUDED - -#include - -#ifdef NT2_SDK_TIMING_DYN_LINK -# ifdef NT2_SDK_TIMING_SOURCE -# define NT2_SDK_TIMING_DECL BOOST_SYMBOL_EXPORT -# else -# define NT2_SDK_TIMING_DECL BOOST_SYMBOL_IMPORT -# endif -#else -# define NT2_SDK_TIMING_DECL -#endif - -#endif diff --git a/inst/include/nt2/sdk/timing/ctic.hpp b/inst/include/nt2/sdk/timing/ctic.hpp deleted file mode 100644 index fd0a377..0000000 --- a/inst/include/nt2/sdk/timing/ctic.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TIMING_CTIC_HPP_INCLUDED -#define NT2_SDK_TIMING_CTIC_HPP_INCLUDED - -/** -* @file -* @brief Defines and implements the ctic() and ctoc() timing functions. -**/ - -#include -#include -#include - -namespace nt2 { namespace details -{ - // INTERNAL ONLY - // cycle_based_timer is a timing helper class to be used in the stack counter - // It use read_cycles() to retrieves cycles based timestamps. - struct cycle_based_timer - { - NT2_SDK_TIMING_DECL static void Print(const cycles_t& val); - static inline cycles_t Time() { return read_cycles(); } - }; - - // INTERNAL ONLY - // Static const instance of a cycles_t based counter - counter const cycle_timer = {}; -} } - -namespace nt2 -{ - /** - * @brief Starts a cycle-based timing section - * - * ctic starts a nestable timing section. Timestamp at call point is stored - * into a stack of timing and pops up at the next call to ctoc() - * - * @see toc() - **/ - inline void ctic() - { - details::cycle_timer.tic(); - } - - /** - * @brief Ends a cycle-based timing section - * - * ctoc ends a timing section started by a call to ctic(). Those sections - * could be nested as long as each toc has a matching ctic(). - * - * @warning If ctoc is called without a matching call to ctic(), a runtime - * assertion will be triggered. - * - * @param display If true, force the timing result to be displayed on the - * standard output. - * - * @return the number of cycles (as a cycles_t) since last call to ctic() - * - * @see ctic() - **/ - inline cycles_t ctoc( bool display = true ) - { - return details::cycle_timer.toc(display); - } -} - -#endif diff --git a/inst/include/nt2/sdk/timing/cycle_timer.hpp b/inst/include/nt2/sdk/timing/cycle_timer.hpp deleted file mode 100644 index fe9226f..0000000 --- a/inst/include/nt2/sdk/timing/cycle_timer.hpp +++ /dev/null @@ -1,67 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TIMING_CYCLE_TIMER_HPP_INCLUDED -#define NT2_SDK_TIMING_CYCLE_TIMER_HPP_INCLUDED - -/** -* @file -* @brief Defines and implements the nt2::time::cycle_timer scoped timer class. -**/ - -#include -#include - -namespace nt2 { namespace time -{ - /** - * @brief Scoped cycle timer - * - * cycle_timer is a scoped object that performs a timing measurement in CPU - * cycles in current block. cycle_timer has to be bound to an external variable - * that will take care of storing the timing result. - * - * @usage - * @include cycle_timer.cpp - * - * @see nt2::time::second_timer - **/ - struct cycle_timer - { - /** - * @brief Initializes a scoped cycle timer by binding it to an external - * timing value and setting up its display policy. - * - * @param elapsed Variable to be updated with the number of cycles measured - * by the current timer. - * - * @param display Boolean value that triggers or inhibits the automatic - * display of the number of cycles measured by the current timer. - **/ - cycle_timer(nt2::cycles_t& elapsed, bool display = true) - : elapsed_(elapsed), display_(display) - { - ctic(); - } - - /** - * Completes the measure of current block by the scoped cycle_timer. - * - * @post The bound variable contains the number of CPU cycles elapsed in - * current scope. If display was set to true, this value is also - * printed on the standard output. - **/ - ~cycle_timer() { elapsed_ = ctoc(display_); } - - private: - nt2::cycles_t& elapsed_; - bool display_; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/timing/details/cycles.hpp b/inst/include/nt2/sdk/timing/details/cycles.hpp deleted file mode 100644 index 416dd97..0000000 --- a/inst/include/nt2/sdk/timing/details/cycles.hpp +++ /dev/null @@ -1,120 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TIMING_DETAILS_CYCLES_HPP_INCLUDED -#define NT2_SDK_TIMING_DETAILS_CYCLES_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#if (defined(__GNUC__) || defined(__ICC) ) \ - && defined(BOOST_SIMD_ARCH_X86) -namespace nt2 -{ - // INTERNAL ONLY - // Read cycles counter using rdtsc - // X86 non-MSVC compiler have to use this asm block - inline cycles_t read_cycles() - { - /// \todo Use __builtin_readcyclecounter with Clang. - /// (24.10.2012.) (Domagoj Saric) - nt2::uint32_t hi = 0, lo = 0; - __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi) : : "memory" ); - cycles_t that = static_cast(lo) - | ( static_cast(hi)<<32 ); - return that; - } -} -#elif defined(BOOST_MSVC) -#include - -namespace nt2 -{ - // INTERNAL ONLY - // Read cycles counter using rdtsc - // MSVC compiler has a proper intrinsic - inline cycles_t read_cycles() - { - /// \todo Also add http://msdn.microsoft.com/en-us/library/ms684208(VS.85).aspx. - /// (18.10.2012.) (Domagoj Saric) - // http://www.strchr.com/performance_measurements_with_rdtsc - // http://www.ccsl.carleton.ca/~jamuir/rdtscpm1.pdf - #if defined( _M_AMD64 ) - __faststorefence(); - #elif defined( _M_IX86 ) - long cpu_barrier; __asm xchg cpu_barrier, eax; - #endif // _M_AMD64 - ::_ReadWriteBarrier(); - /// \todo Consider the rdtscp instruction/intrinsic. - /// (02.11.2012.) (Domagoj Saric) - cycles_t const result( ::__rdtsc() ); - ::_ReadWriteBarrier(); - return result; - } -} -#elif (defined(__GNUC__) && defined(BOOST_SIMD_ARCH_POWERPC)) \ - || (defined(__MWERKS__) && defined(macintosh) ) \ - || (defined(__IBM_GCC_ASM) && defined(BOOST_SIMD_ARCH_POWERPC)) -namespace nt2 -{ - // INTERNAL ONLY - // Read cycles counter using mftbu on PowerPC - inline cycles_t read_cycles() - { - nt2::uint32_t tbl, tbu0, tbu1; - - do - { - __asm__ __volatile__ ("mftbu %0" : "=r"(tbu0)); - __asm__ __volatile__ ("mftb %0" : "=r"(tbl)); - __asm__ __volatile__ ("mftbu %0" : "=r"(tbu1)); - } while (tbu0 != tbu1); - - return (cycles_t)((((boost::uint64_t)tbu0) << 32) | tbl); - } -} - -#elif defined(BOOST_SIMD_OS_LINUX) && !defined(__ANDROID__) -#include -#include -#include - -namespace nt2 -{ - // INTERNAL ONLY - inline cycles_t read_cycles() - { - cycles_t result = 0; - ssize_t sz = ::read(linux_::perf_event_hw_cycles, &result, sizeof(result)); - boost::ignore_unused(sz); - return result; - } -} - -#else - -#include - -namespace nt2 -{ - // INTERNAL ONLY - NT2_SDK_TIMING_DECL extern unsigned long max_cpu_freq; - - // INTERNAL ONLY - inline cycles_t read_cycles() - { - return static_cast(now() * max_cpu_freq); - } -} - -#endif -#endif diff --git a/inst/include/nt2/sdk/timing/details/timer.hpp b/inst/include/nt2/sdk/timing/details/timer.hpp deleted file mode 100644 index 8834e11..0000000 --- a/inst/include/nt2/sdk/timing/details/timer.hpp +++ /dev/null @@ -1,48 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TIMING_DETAILS_TIMER_HPP_INCLUDED -#define NT2_SDK_TIMING_DETAILS_TIMER_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - // INTERNAL ONLY - // counter is an implementation detail that gather and store cycles or - // seconds measures between tic and toc calls. - template class counter - { - public : - typedef T timer_type; - typedef R type; - - void tic() const { times().push(time()); } - - type toc( bool display ) const - { - BOOST_ASSERT_MSG(!empty(), "Unbalanced timing calls"); - type t = time()-times().top(); - times().pop(); - if(display) timer_type::Print(t); - return t; - } - - bool empty() const { return times().empty(); } - type time() const { return timer_type::Time(); } - - std::stack& times() const - { - static std::stack local; - return local; - } - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/timing/linux_perf_event.hpp b/inst/include/nt2/sdk/timing/linux_perf_event.hpp deleted file mode 100644 index 3a81ca0..0000000 --- a/inst/include/nt2/sdk/timing/linux_perf_event.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TIMING_LINUX_PERF_EVENT_HPP_INCLUDED -#define NT2_SDK_TIMING_LINUX_PERF_EVENT_HPP_INCLUDED - -#include -#ifdef BOOST_SIMD_OS_LINUX - -#include - -namespace nt2 { namespace linux_ -{ - NT2_SDK_TIMING_DECL extern int perf_event_hw_cycles; -} } - -#endif -#endif diff --git a/inst/include/nt2/sdk/timing/now.hpp b/inst/include/nt2/sdk/timing/now.hpp deleted file mode 100644 index 7c4af41..0000000 --- a/inst/include/nt2/sdk/timing/now.hpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TIMING_NOW_HPP_INCLUDED -#define NT2_SDK_TIMING_NOW_HPP_INCLUDED - -#include -#include - -#include -#include -#include - -namespace nt2 -{ - typedef nt2::uint64_t cycles_t; - typedef nt2::uint64_t time_quantum_t; - typedef double seconds_t; - typedef double microseconds_t; - - BOOST_DISPATCH_NOTHROW cycles_t read_cycles(); - - NT2_SDK_TIMING_DECL - BOOST_DISPATCH_NOTHROW time_quantum_t time_quantum(); - - NT2_SDK_TIMING_DECL - BOOST_DISPATCH_NOTHROW seconds_t now(); - - NT2_SDK_TIMING_DECL - BOOST_DISPATCH_NOTHROW unsigned long get_cpu_freq(); - - NT2_SDK_TIMING_DECL - BOOST_DISPATCH_NOTHROW microseconds_t to_microseconds( time_quantum_t ); - - NT2_SDK_TIMING_DECL - BOOST_DISPATCH_NOTHROW time_quantum_t to_timequantums( microseconds_t ); -} - -#include - -#endif diff --git a/inst/include/nt2/sdk/timing/second_timer.hpp b/inst/include/nt2/sdk/timing/second_timer.hpp deleted file mode 100644 index 09b18f1..0000000 --- a/inst/include/nt2/sdk/timing/second_timer.hpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TIMING_SECOND_TIMER_HPP_INCLUDED -#define NT2_SDK_TIMING_SECOND_TIMER_HPP_INCLUDED - -/** -* @file -* @brief Defines and implements the nt2::time::second_timer scoped timer class. -**/ - -#include - -namespace nt2 { namespace time -{ - /** - * @brief Scoped second timer - * - * second_timer is a scoped object that performs a timing measurement in seconds - * in current block. second_timer has to be bound to an external variable - * that will take care of storing the timing result. - * - * @usage - * @include second_timer.cpp - * - * @see nt2::time::cycle_timer - **/ - struct second_timer - { - /** - * @brief Initializes a scoped second timer by binding it to an external - * timing value and setting up its display policy. - * - * @param elapsed Variable to be updated with the number of seconds measured - * by the current timer. - * - * @param display Boolean value that triggers or inhibits the automatic - * display of the number of seconds measured by the current timer. - **/ - second_timer( double& elapsed, bool display = true) - : elapsed_(elapsed), display_(display) - { - tic(); - } - - /** - * Completes the measure of current block by the scoped second_timer. - * - * @post The bound variable contains the number of seconds elapsed in - * current scope. If display was set to true, this value is also - * printed on the standard output. - **/ - ~second_timer() { elapsed_ = toc(display_); } - - private: - double& elapsed_; - bool display_; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/timing/tic.hpp b/inst/include/nt2/sdk/timing/tic.hpp deleted file mode 100644 index d08ab2c..0000000 --- a/inst/include/nt2/sdk/timing/tic.hpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_TIMING_TIC_HPP_INCLUDED -#define NT2_SDK_TIMING_TIC_HPP_INCLUDED - -/** -* @file -* @brief Defines and implements the tic() and toc() timing functions. -**/ - -#include -#include -#include - -namespace nt2 { namespace details -{ - // INTERNAL ONLY - // second_based_timer is a timing helper class to be used in the stack counter - // It use now() to retrieves second based timestamps. - struct second_based_timer - { - NT2_SDK_TIMING_DECL static void Print(const double& val); - static inline double Time() { return now(); } - }; - - // INTERNAL ONLY - // Static const instance of a double based counter - counter const sec_timer = {}; -} } - -namespace nt2 -{ - /** - * @brief Starts a second-based timing section - * - * tic starts a nestable timing section. Timestamp at call point is stored - * into a stack of timing and pops up at the next call to toc() - * - * @see toc() - **/ - inline void tic() - { - details::sec_timer.tic(); - } - - /** - * @brief Ends a second-based timing section - * - * toc ends a timing section started by a call to tic(). Those sections - * could be nested as long as each toc has a matching tic(). - * - * @warning If toc is called without a matching call to tic(), a runtime - * assertion will be triggered. - * - * @param display If true, force the timing result to be displayed on the - * standard output. - * - * @return the number of seconds (as a double) since last call to tic() - * - * @see tic() - **/ - inline double toc( bool display = true ) - { - return details::sec_timer.toc(display); - } -} - -#endif diff --git a/inst/include/nt2/sdk/unit/args.hpp b/inst/include/nt2/sdk/unit/args.hpp deleted file mode 100644 index eeaa8a4..0000000 --- a/inst/include/nt2/sdk/unit/args.hpp +++ /dev/null @@ -1,79 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_ARGS_HPP_INCLUDED -#define NT2_SDK_UNIT_ARGS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace details - { - // This string/string map contains the unprocessed name/value arguments - extern NT2_TEST_UNIT_DECL std::map args_map; - - // Fill the argument map from the command line contents - void NT2_TEST_UNIT_DECL fill_args_map(int argc, char**argv); - } - - namespace unit - { - /*! - @brief Command line argument retrieval - - Benchmarks accept a variable number of optional values from the command - line. Those value are passed using the -o markup followed by the name of - the option and its value. - - args allows the retrieval of this value by name-lookup from within the - benchmark code or, if the options requested is not present on the command - line, returns a default value. - - When requested, the value is converted to the type of the potential - default value. Upon error of conversion to requested type, the benchmark - application will terminate with EXIT_FAILURE. - - @param name Name of option to be retrieved - @param d Default value of the option - - @return A value of the same type than d. - **/ - template inline T args(std::string const& name, T d) - { - T value(d); - - std::map::iterator - it = details::args_map.find(name); - - if(it != details::args_map.end()) - { - std::istringstream ss(it->second); - ss >> value >> std::ws; - - if( ss.fail() || !ss.eof() ) - { - std::cerr << "Invalid option format for option " - << it->first << " : " << it->second - << "\n"; - - std::exit(EXIT_FAILURE); - } - } - - return value; - } - } -} - -#endif diff --git a/inst/include/nt2/sdk/unit/config.hpp b/inst/include/nt2/sdk/unit/config.hpp deleted file mode 100644 index 4712ac5..0000000 --- a/inst/include/nt2/sdk/unit/config.hpp +++ /dev/null @@ -1,26 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_CONFIG_HPP_INCLUDED -#define NT2_SDK_UNIT_CONFIG_HPP_INCLUDED - -#include - -#ifdef NT2_TEST_UNIT_DYN_LINK -# ifdef NT2_TEST_UNIT_SOURCE -# define NT2_TEST_UNIT_DECL BOOST_SYMBOL_EXPORT -# else -# define NT2_TEST_UNIT_DECL BOOST_SYMBOL_IMPORT -# endif -#else -/// INTERNAL ONLY -# define NT2_TEST_UNIT_DECL -#endif - -#endif diff --git a/inst/include/nt2/sdk/unit/details/base_case.hpp b/inst/include/nt2/sdk/unit/details/base_case.hpp deleted file mode 100644 index b1262df..0000000 --- a/inst/include/nt2/sdk/unit/details/base_case.hpp +++ /dev/null @@ -1,135 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_BASE_CASE_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_BASE_CASE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#define NT2_TEST_BASE_CASE(Name,TestType,Suite,Suffix) \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,Name)(); \ -TestType const \ -BOOST_PP_CAT(Name,NT2_UNIT_PREFIX) \ - ( &Suite \ - , BOOST_PP_CAT(NT2_UNIT_PREFIX,Name) \ - , BOOST_PP_STRINGIZE(BOOST_PP_CAT(Name,Suffix)) \ - ); \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,Name)() \ -/**/ - -/// Generate one given instanciation of a template test case -#define NT2_PP_TPL_CASES(r,name,type) \ -printf( "With T = [%s]\n" \ - , nt2::type_id().c_str()); \ -BOOST_PP_CAT(tpl_, BOOST_PP_CAT(NT2_UNIT_PREFIX,name)) \ - (); \ -/**/ - -namespace nt2 { namespace details -{ - inline void report_empty(boost::mpl::true_ const&) - { - std::cout << "Test skipped: Types PP sequence is empty.\n"; - ::nt2::unit::test_count()++; - } - - inline void report_empty(boost::mpl::false_ const&) {} -} } - -#define NT2_TEST_BASE_CASE_TPL(Name, Types,TestType,Suite,Suffix) \ -template void BOOST_PP_CAT ( tpl_ \ - , BOOST_PP_CAT(NT2_UNIT_PREFIX,Name) \ - )(); \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,Name)(); \ - \ -TestType const \ -BOOST_PP_CAT(Name,NT2_UNIT_PREFIX) \ - ( &Suite \ - , BOOST_PP_CAT(NT2_UNIT_PREFIX,Name) \ - , BOOST_PP_STRINGIZE(BOOST_PP_CAT(Name,Suffix)) \ - ); \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,Name)() \ -{ \ - nt2::details::report_empty(boost::mpl::bool_()); \ - BOOST_PP_SEQ_FOR_EACH(NT2_PP_TPL_CASES,Name,Types); \ -} \ - \ -template void BOOST_PP_CAT ( tpl_ \ - , BOOST_PP_CAT(NT2_UNIT_PREFIX,Name) \ - )() \ -/**/ - -#define NT2_TEST_BASE_CASE_TPL_MPL(Name, TypeList,TestType,Suite,Suffix) \ -template void BOOST_PP_CAT ( tpl_mpl_ \ - , BOOST_PP_CAT(NT2_UNIT_PREFIX,Name) \ - )(); \ -struct BOOST_PP_CAT( tpl_fun_mpl_, BOOST_PP_CAT(NT2_UNIT_PREFIX, Name) ) \ -{ \ - template \ - void operator()(T const&) const \ - { \ - printf("With T = [%s]\n", nt2::type_id().c_str()); \ - BOOST_PP_CAT( tpl_mpl_, BOOST_PP_CAT(NT2_UNIT_PREFIX,Name) )(); \ - } \ -}; \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,Name)(); \ - \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,BOOST_PP_CAT(Name,_impl)) \ - (boost::mpl::true_ const&) \ -{ \ - std::cout << "Test skipped: Types MPL list is empty.\n"; \ - ::nt2::unit::test_count()++; \ -} \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,BOOST_PP_CAT(Name,_impl)) \ - (boost::mpl::false_ const&) \ -{ \ - using namespace boost::mpl; \ - boost::mpl::for_each \ - (BOOST_PP_CAT( tpl_fun_mpl_, BOOST_PP_CAT(NT2_UNIT_PREFIX, Name) )()); \ -} \ - \ -TestType const \ -BOOST_PP_CAT(Name,NT2_UNIT_PREFIX) \ - ( &Suite \ - , BOOST_PP_CAT(NT2_UNIT_PREFIX,Name) \ - , BOOST_PP_STRINGIZE(BOOST_PP_CAT(Name,Suffix)) \ - ); \ -void BOOST_PP_CAT(NT2_UNIT_PREFIX,Name)() \ -{ \ - using namespace boost::mpl; \ - static const int sz = boost::mpl \ - ::size::value; \ - BOOST_PP_CAT(NT2_UNIT_PREFIX,BOOST_PP_CAT(Name,_impl)) \ - ( boost::mpl::bool_()); \ -} \ - \ -template void BOOST_PP_CAT ( tpl_mpl_ \ - , BOOST_PP_CAT(NT2_UNIT_PREFIX,Name) \ - )() \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/unit/details/cover.hpp b/inst/include/nt2/sdk/unit/details/cover.hpp deleted file mode 100644 index 2ffb0b9..0000000 --- a/inst/include/nt2/sdk/unit/details/cover.hpp +++ /dev/null @@ -1,207 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_COVER_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_COVER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/// INTERNAL ONLY TO REMOVE LATER -#define NT2_CREATE_BUF(Name,Type,Size,Min,Max) \ -std::vector > Name(Size); \ -nt2::roll( Name, Min, Max ) \ -/**/ - -/// INTERNAL ONLY TO REMOVE LATER -#define NT2_CREATE_LOGICAL_BUF(Name,Type,Size) \ -std::vector > Name(Size); \ -do \ -{ \ - for(std::size_t i=0;i\ - (BOOST_PP_TUPLE_ELEM(2,1,BOOST_PP_SEQ_ELEM(n,t)))\ -/**/ - -/// INTERNAL ONLY Process sequence into variadic arguments -#define NT2_ENUM_REFERENCES(I) BOOST_PP_ENUM( BOOST_PP_SEQ_SIZE(I) \ - , NT2_COVER_MAKE_VALUES \ - , I \ - ) \ -/**/ - -namespace nt2 { namespace details -{ - // Compute test name - template - inline std::string cover_test_name(Func f, V const&... v) - { - return nt2::type_id(f) + "( " + cover_typename(v...) + " )"; - } - - template - inline std::string cover_typename(W const&, V const&... v) - { - return nt2::type_id() + ", " + cover_typename(v...); - } - - template inline std::string cover_typename(W const&) - { - return nt2::type_id(); - } - - // Display error result - template - inline void display_result(std::ostream& os, int i, W const& w, V const&... v) - { - os << boost::simd::details::display(w.load(i)); - display_result(os, i, v...); - } - - template - inline void display_result(std::ostream& os, int i, W const& w) - { - os << boost::simd::details::display(w.load(i)); - } - - // Wrap a value and the type to load it with - template struct typed_value - { - Type const& value; - using type = Target; - - BOOST_FORCEINLINE Target load(std::size_t i) const - { - return nt2::load( &(value[i]) ); - } - }; - - template - inline typed_value make_typed_value(Type const& v) - { - return typed_value{v}; - } - - // Short-cut for cardinal on typed_value target - template - using type_card_t = typename meta::cardinal_of::type; - - // Compute the value from the function and pack of typed reference inputs - template< typename Function, typename Data, typename... V> - inline Data compute_coverage(Function f, Data const& ref, V const&... v) - { - Data out(ref.size()); - auto c = boost::simd::ext::cardinal_common::value...>::value; - - for(std::size_t i=0; i - inline void display_cover_fails ( const char* , Function f - , Data const& out, Data const& ref - , ULPs const& ulps, V const&... v - ) - { - int ib = -1; - boost::ignore_unused(f); - auto c = boost::simd::ext::cardinal_common::value...>::value; - - for( auto const& ff : ulps ) - { - int ii = static_cast((ff.index/c)*c); - if(ii > ib) - { - typedef typename meta::strip::type r_t; - - std::cout << std::setprecision(20) - << " {"; - display_result(std::cout,ii,v...); - std::cout << "} => " - << boost::simd::details::display(nt2::load(&out[ii])) - << " while expecting " - << boost::simd::details::display(nt2::load(&ref[ii])) - << " (i.e " << ff.ulp_error << " ULPs)" - << std::endl; - ib = ii; - } - } - std::cout << std::endl; - } - - // Run the test and report any errors - template - inline void perform_coverage( const char* desc, const char* file, int line - , Function f - , Data const& out, Data const& ref, double N - , V const&... v - ) - { - typedef typename Data::value_type t_t; - typedef typename nt2::details::max_ulp_::failure_type f_t; - - double ulpd = 0; - std::vector< f_t > ulps; - find_ulp_error(out,ref,ulps,ulpd,N,details::max_ulps_caller()); - - if(ulps.empty()) - { - std::cout << "For " << out.size() << " samples: \n"; - nt2::details::ulp_pass(desc, ulpd, N); - } - else - { - std::cout << " *** Cover tests failed with a maximum of " - << ulpd << " ULPs. ***\n"; - nt2::details::ulp_fail( desc, file, line, ulps.size(), N, true ); - display_cover_fails ( desc, f, out, ref, ulps, v...); - } - } - - // Prepare data for coverage testing - template - inline void test_cover_ulp ( const char* desc, const char* file, int line - , Function f, Data const& ref - , double ulpd, V const&... v - ) - { - nt2::details::perform_coverage( desc, file, line , f - , nt2::details::compute_coverage(f,ref,v...) - , ref , ulpd, v... - ); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/unit/details/eval.hpp b/inst/include/nt2/sdk/unit/details/eval.hpp deleted file mode 100644 index 27e8ae3..0000000 --- a/inst/include/nt2/sdk/unit/details/eval.hpp +++ /dev/null @@ -1,93 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_EVAL_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_EVAL_HPP_INCLUDED - -#include -#include -#include -#include - -/* - Various forward declarations -*/ -namespace boost { namespace simd -{ - template - struct soa_proxy; - - template - struct expression; -} } - -namespace nt2 -{ - template< BOOST_PP_ENUM_PARAMS(NT2_MAX_DIMENSIONS, std::ptrdiff_t D) > - struct of_size_; -} - -namespace nt2 -{ - namespace container - { - template - struct expression; - } - - namespace unit - { - template - BOOST_FORCEINLINE T const& eval(T const& t) - { - return t; - } - - template - typename boost::dispatch::meta::terminal_of::type - eval(nt2::container::expression const& t) - { - return t; - } - - template - typename boost::dispatch::meta::terminal_of::type - eval(boost::simd::expression const& t) - { - return t; - } - - template - T eval(boost::simd::soa_proxy const& t) - { - return t; - } - - template struct make_dependent_c - { - typedef T type; - - }; - // Add specialization for of_size_ - template< BOOST_PP_ENUM_PARAMS(NT2_MAX_DIMENSIONS, std::ptrdiff_t D) > - BOOST_FORCEINLINE typename - make_dependent_c< of_size_< BOOST_PP_ENUM_PARAMS ( NT2_MAX_DIMENSIONS - , std::ptrdiff_t(-1) BOOST_PP_INTERCEPT - ) - > - , D0 - >::type - eval(of_size_ const& t) - { - return t; - } - } -} - -#endif diff --git a/inst/include/nt2/sdk/unit/details/expr_type.hpp b/inst/include/nt2/sdk/unit/details/expr_type.hpp deleted file mode 100644 index 8a7418c..0000000 --- a/inst/include/nt2/sdk/unit/details/expr_type.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_EXPR_TYPE_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_EXPR_TYPE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - /// INTERNAL ONLY - /// Wrap a lambda function call into a identity block for display purpose - template - boost::mpl::identity::type> - expr_type(T const&) - { - return boost::mpl::identity::type>(); - } - - /// INTERNAL ONLY - /// Return a boolean indicating if a given type T is the same as a given - /// meta-function typename application - template - typename boost::is_same::type is_same_as(U const&) - { - return typename boost::is_same::type(); - } - - /// INTERNAL ONLY - /// Display a type from an identity block - template std::string type_id_identity(T const&) - { - return nt2::type_id(); - } - - /// INTERNAL ONLY - Remove MSVC W4 spurrious warning - template inline void - check_type_equality( boost::mpl::true_ const& ) - { - std::cout << " **passed**\n\n"; - } - - /// INTERNAL ONLY - Remove MSVC W4 spurrious warning - template inline void - check_type_equality( boost::mpl::false_ const& ) - { - nt2::unit::error_count()++; - std::cout << " **failed** is `" << nt2::type_id() << "`\n\n"; - } - - /// INTERNAL ONLY - Remove MSVC W4 spurrious warning - template inline void - check_expr_equality( Target const&, boost::mpl::true_ const& ) - { - std::cout << " **passed**\n\n"; - } - - /// INTERNAL ONLY - Remove MSVC W4 spurrious warning - template inline void - check_expr_equality( Target const& t, boost::mpl::false_ const& ) - { - nt2::unit::error_count()++; - std::cout << " **failed** is `" - << nt2::details::type_id_identity(t) - << "`\n\n"; - } -} } - -#endif diff --git a/inst/include/nt2/sdk/unit/details/helpers.hpp b/inst/include/nt2/sdk/unit/details/helpers.hpp deleted file mode 100644 index 8762791..0000000 --- a/inst/include/nt2/sdk/unit/details/helpers.hpp +++ /dev/null @@ -1,104 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_HELPERS_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_HELPERS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - //////////////////////////////////////////////////////////////////////////////// - // roll a random number (will be nt2::rand afterward) - //////////////////////////////////////////////////////////////////////////////// - template - struct typed_inner_roll; - - template - struct typed_inner_roll - { - static inline T call(X mn, Y mx) - { - // mn is supposed less than mx - double r1 = ((double)::rand()/RAND_MAX); - if(mx == 0) - { - return nt2::splat(r1*mn); - } - else if (mn == 0) - { - return nt2::splat(r1*mx); - } - else - { - double fac = 0.5*std::abs(double(mn)/double(mx)); - double r2 = ((double)::rand()/RAND_MAX); - return nt2::splat((r1 > fac) ? r2*mn : r2*mx); - } - } - }; - - template - struct typed_inner_roll - { - static inline T call(X mn, Y mx) - { - double r = ((double)::rand()/RAND_MAX)*(mx-mn) + mn; - return nt2::splat(r); - } - }; - - template inline T roll(X mn, Y mx) - { - return typed_inner_roll::value>::call(mn, mx); - } - - //================================================================================= - template - struct inner_roll; - - template - struct inner_roll - { - static inline T call() - { - double r1 = ((double)::rand()/RAND_MAX); - double r2 = ((double)::rand()/RAND_MAX); - return nt2::splat((r1 > 0.5) ? r2*nt2::Valmin() : r2*nt2::Valmax()); - } - }; - - template - struct inner_roll - { - static inline T call() - { - double r1 = ((double)::rand()/RAND_MAX); - return nt2::splat(r1*nt2::Valmax()); - } - }; - - template inline T roll() - { - return inner_roll::value>::call(); - } - - - - -} -using nt2::roll; - -#endif diff --git a/inst/include/nt2/sdk/unit/details/is_sequence.hpp b/inst/include/nt2/sdk/unit/details/is_sequence.hpp deleted file mode 100644 index e3d8701..0000000 --- a/inst/include/nt2/sdk/unit/details/is_sequence.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_IS_SEQUENCE_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_IS_SEQUENCE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - template - struct is_sequence : boost::mpl::false_ - {}; - - template - struct is_sequence - < A - , typename boost::dispatch::meta:: - enable_if_type::type - > : boost::mpl::true_ - {}; -} } - -#endif diff --git a/inst/include/nt2/sdk/unit/details/main.hpp b/inst/include/nt2/sdk/unit/details/main.hpp deleted file mode 100644 index 1fd9410..0000000 --- a/inst/include/nt2/sdk/unit/details/main.hpp +++ /dev/null @@ -1,43 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_MAIN_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_MAIN_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - /// INTERNAL ONLY - Actual unit test main function - NT2_TEST_UNIT_DECL int unit_main(int argc, char* argv[], test_suite const& c); -} } - -/// Depending on the mode (normal or driver), the entry point of the test suite -/// is either a regular main() function of some special symbol. -#ifndef NT2_UNIT_MAIN - -/// INTERNAL ONLY -/// Define the name of the test entry point. -#define NT2_UNIT_MAIN main - -/// INTERNAL ONLY -/// Define if the test case has to be exported as C or C++ symbol -/// depending on the test is compiled in normal or driver mode. -#define NT2_UNIT_MAIN_SPEC -#else -#define NT2_UNIT_MAIN_SPEC extern "C" -#endif - -/// INTERNAL ONLY -/// Define a file specific prefix for test functions that works in both -/// normal and driver mode. -#define NT2_UNIT_PREFIX BOOST_PP_CAT(BOOST_PP_CAT(test_, NT2_UNIT_MAIN), _) - -#endif diff --git a/inst/include/nt2/sdk/unit/details/once.hpp b/inst/include/nt2/sdk/unit/details/once.hpp deleted file mode 100644 index 2128f21..0000000 --- a/inst/include/nt2/sdk/unit/details/once.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_ONCE_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_ONCE_HPP_INCLUDED - -// MSVC emits a spurious warning about the classical do ... while(0) -// hygienic macro due to a compiler bug. As the warning, in other context -// and on other compiler, is useful, this macro helps wrapping the @c while(0) -// in a warning-safe construct. See: -// http://stackoverflow.com/questions/1946445/c-c-how-to-use-the-do-while0- -// construct-without-compiler-warnings-like-c412 - -#if defined(_MSC_VER) -#define NT2_TEST_ONCE \ -__pragma( warning(push) ) \ -__pragma( warning(disable:4127) ) \ -while( 0 ) \ -__pragma( warning(pop) ) \ -/**/ -#else -#define NT2_TEST_ONCE while( 0 ) -#endif - -#endif diff --git a/inst/include/nt2/sdk/unit/details/prng.hpp b/inst/include/nt2/sdk/unit/details/prng.hpp deleted file mode 100644 index cf9efd3..0000000 --- a/inst/include/nt2/sdk/unit/details/prng.hpp +++ /dev/null @@ -1,59 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2013 MetaScale SAS -// Copyright 2012 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_PRNG_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_PRNG_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include -#include - -namespace nt2 -{ - namespace details - { - template - NT2_TEST_UNIT_DECL BOOST_DISPATCH_NOTHROW - void prng_fill_impl( boost::iterator_range data, T minimum, T maximum ); - - template - NT2_TEST_UNIT_DECL BOOST_DISPATCH_NOTHROW - void prng_fill_impl( boost::iterator_range*> data, std::complex minimum, std::complex maximum ); - } - - // Portably reproducible pseudo "random" values. - // (24.07.2012.) (Domagoj Saric) - NT2_TEST_UNIT_DECL BOOST_DISPATCH_NOTHROW void prng_reset(); - - - template - void roll ( Range & data - , typename Range::value_type const minimum - , typename Range::value_type const maximum - ) - { - typedef boost::iterator_range range_t; - - std::vector buffer; - std::copy(data.begin(), data.end(), std::back_inserter(buffer)); - details::prng_fill_impl - ( - range_t( &*buffer.begin(), (&*(buffer.end()-1))+1 ), minimum, maximum - ); - std::copy(buffer.begin(), buffer.end(), data.begin()); - } -} - -#endif diff --git a/inst/include/nt2/sdk/unit/details/smallest_type.hpp b/inst/include/nt2/sdk/unit/details/smallest_type.hpp deleted file mode 100644 index bdce59b..0000000 --- a/inst/include/nt2/sdk/unit/details/smallest_type.hpp +++ /dev/null @@ -1,62 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_SMALLEST_TYPE_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_SMALLEST_TYPE_HPP_INCLUDED - -#include -#include -#include - -namespace nt2 { namespace details -{ - /// INTERNAL ONLY - /// Compute the smallest floating type between T and U - template< class T, class U - , class pT = typename boost::dispatch::meta::primitive_of::type - , class pU = typename boost::dispatch::meta::primitive_of::type - , bool sT = boost::is_floating_point::value - , bool sU = boost::is_floating_point::value - > - struct smallest_impl - : boost::mpl::if_c <(sizeof(pT) <= sizeof(pU)), T , U > - {}; - - template< class T, class U, class pT, class pU> - struct smallest_impl - { - typedef T type; - }; - - template< class T, class U, class pT, class pU> - struct smallest_impl - { - typedef U type; - }; - - /// INTERNAL ONLY - /// Cast a value toward the smallest type compatible with T and U for - /// proper ULP comparisons - template - typename smallest_impl::type smallest_a(T const& a, U const&) - { - return typename smallest_impl::type(a); - } - - /// INTERNAL ONLY - /// Cast a value toward the smallest type compatible with T and U for - /// proper ULP comparisons - template - typename smallest_impl::type smallest_b(T const&, U const& b) - { - return typename smallest_impl::type(b); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/unit/details/suite.hpp b/inst/include/nt2/sdk/unit/details/suite.hpp deleted file mode 100644 index 9fa3a12..0000000 --- a/inst/include/nt2/sdk/unit/details/suite.hpp +++ /dev/null @@ -1,34 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_SUITE_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_SUITE_HPP_INCLUDED - -#include -#include - -namespace nt2 { namespace details -{ - struct BOOST_SYMBOL_VISIBLE test_suite - { - NT2_TEST_UNIT_DECL test_suite(unit_test const* t_); - - NT2_TEST_UNIT_DECL virtual ~test_suite(); - NT2_TEST_UNIT_DECL virtual void report() const; - NT2_TEST_UNIT_DECL virtual void process() const; - NT2_TEST_UNIT_DECL unit_test const* link(unit_test const* n) const; - - mutable unit_test const* tests; - }; - - unit_test const dummy; - test_suite const unit_tests(&dummy); -} } - -#endif diff --git a/inst/include/nt2/sdk/unit/details/test_for_equality.hpp b/inst/include/nt2/sdk/unit/details/test_for_equality.hpp deleted file mode 100644 index c6b2312..0000000 --- a/inst/include/nt2/sdk/unit/details/test_for_equality.hpp +++ /dev/null @@ -1,156 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_TEST_FOR_EQUALITY_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_TEST_FOR_EQUALITY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - /// Check if a==b or if a and b are NaNs - /// This function is meant to be called on scalar values only - template - BOOST_NOINLINE bool equaln(A const& va, B const& vb) - { - return (va==vb) || ( (va!=va) && (vb!=vb) ); - } - - /// Perform a test of equality on A and B - /// Detects if A and/or B is actually a sequence and apply equaln on - /// every elements of said sequences - template< class A, class B - , bool IsASeq=nt2::details::is_sequence::value - , bool IsBSeq=nt2::details::is_sequence::value - > - struct test_for_equality - { - /// Main operator() checks of A and B are Fusion Sequence then - /// jump into the proper eval() member functions depending on this - /// status. - BOOST_FORCEINLINE bool operator()(A const& a, B const& b) const - { - return eval ( a , b - , boost::mpl:: - bool_ < boost::fusion::traits::is_sequence::value - && boost::fusion::traits::is_sequence::value - >() - ); - } - - /// A and B are not Fusion Sequence, just call equaln ont heir value - BOOST_FORCEINLINE bool - eval(A const& a, B const& b,boost::mpl::false_ const&) const - { - return equaln(a,b); - } - - /// A and B are Fusion Sequence, call equaln on every elements - BOOST_FORCEINLINE bool - eval(A const& a, B const& b,boost::mpl::true_ const&) const - { - return (boost::fusion::size(a) == boost::fusion::size(b)) - && eval ( a , b - , typename boost::fusion::result_of::size::type() - ); - } - - BOOST_FORCEINLINE bool - eval(A const& a, B const& b,boost::mpl::int_<1> const&) const - { - return equaln(boost::fusion::at_c<0>(a),boost::fusion::at_c<0>(b)); - } - - template - BOOST_FORCEINLINE bool - eval(A const& a, B const& b,N const&) const - { - return equaln( boost::fusion::at_c(a) - , boost::fusion::at_c(b) - ) - && eval(a,b,typename boost::mpl::prior::type()); - } - }; - - /// Both A and B are sequence, so we use std::equal by using the single - /// value version of test_for_equality - template - struct test_for_equality - { - struct check_ - { - template - BOOST_FORCEINLINE bool operator()(U const& a, V const& b ) const - { - return test_for_equality()(a,b); - } - }; - - BOOST_FORCEINLINE bool operator()(A const& a, B const& b) const - { - if(std::distance(a.begin(),a.end()) == std::distance(b.begin(),b.end())) - { -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && BOOST_WORKAROUND(BOOST_MSVC, < 1600) - return stdext::unchecked_equal(a.begin(),a.end(),b.begin(),check_()); -#elif BOOST_WORKAROUND(BOOST_MSVC, > 1500) - - return std::equal ( a.begin(), a.end() - , stdext::make_unchecked_array_iterator(b.begin()) - , check_() - ); -#else - return std::equal(a.begin(),a.end(),b.begin(),check_()); -#endif - } - - return false; - } - }; - - /// B is a sequence while A is not, this means B has exactly one element - template - struct test_for_equality - { - BOOST_FORCEINLINE bool operator()(A const& a, B const& b) const - { - return test_for_equality()(a,*b.begin()) - && (std::distance(b.begin(),b.end()) == 1); - } - }; - - /// A is a sequence while B is not, this means A has exactly one element - template - struct test_for_equality - { - BOOST_FORCEINLINE bool operator()(A const& a, B const& b) const - { - return test_for_equality()(*a.begin(),b) - && (std::distance(a.begin(),a.end()) == 1); - } - }; -} } - -namespace nt2 { namespace unit -{ - /// INTERNAL ONLY Main test for equality over any types A and B - template - BOOST_FORCEINLINE bool test_for_equality(A const& a, B const& b) - { - return details::test_for_equality()(a,b); - } -} } - -#endif diff --git a/inst/include/nt2/sdk/unit/details/ulp.hpp b/inst/include/nt2/sdk/unit/details/ulp.hpp deleted file mode 100644 index 9698432..0000000 --- a/inst/include/nt2/sdk/unit/details/ulp.hpp +++ /dev/null @@ -1,453 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_ULP_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_ULP_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 { namespace details -{ - /// Hold which value was faulty and by how much - template struct failed_value - { - A value; - B desired_value; - double ulp_error; - std::size_t index; - }; - - // NaN aware max - template - T safe_max(T a, T b) - { - return a < b ? b : ( (b != b) ? b : a ); - } - - /// ULP test is a success - NT2_TEST_UNIT_DECL void ulp_pass(const char* desc, double ulpd, double N); - - /// ULP test is a failure - NT2_TEST_UNIT_DECL - void ulp_fail ( const char* desc, const char* f, int line - , std::size_t size, double N, bool ok - ); - - - /// Precompiled implementation max_ulps on double - NT2_TEST_UNIT_DECL double max_ulps(double a, double b); - - /// Precompiled implementation max_ulps on float - NT2_TEST_UNIT_DECL double max_ulps(float a, float b); - - BOOST_FORCEINLINE double max_ulps(bool a, bool b) - { - return a==b ? 0 : 1; - } - - template BOOST_FORCEINLINE - double max_ulps(T const& a, T const& b, boost::mpl::true_ const&) - { - typedef typename boost::dispatch::meta::as_unsigned::type u_t; - return (a BOOST_FORCEINLINE - double max_ulps(T const& a, T const& b, boost::mpl::false_ const&) - { - return max_ulps(a.value(), b.value() ); - } - - /// Default implementation of max_ulps forward to generic ulpdist - template - BOOST_FORCEINLINE double max_ulps(T const& a, T const& b) - { - return max_ulps(a,b, boost::mpl::bool_::value>() ); - } - - - struct max_ulps_caller - { - typedef double result_type; - template - BOOST_FORCEINLINE double operator()(T const& a, T const& b) const - { - return max_ulps(a, b); - } - }; - - /// Perform a test of equality on A and B with a given ulp tolerance - /// Detects if A and/or B is actually a Fusion sequence or not - template< class A, class B - , bool IsAFusionSeq=boost::fusion::traits::is_sequence::value - , bool IsBFusionSeq=boost::fusion::traits::is_sequence::value - > - struct max_ulp_value_; - - /// A and B are not Fusion Sequence, call distance_fn on the value - template< class A, class B> - struct max_ulp_value_ - { - typedef failed_value failure_type; - - template - BOOST_FORCEINLINE bool - operator()( A const& a, B const& b - , double max_ulpd, VF& fails, std::size_t i - , double& ru - , F const& distance_fn - ) const - { - double d = distance_fn ( nt2::details::smallest_a(a,b) - , nt2::details::smallest_b(a,b) - ); - - if(!(d <= max_ulpd) ) - { - typename VF::value_type f = { a, b, d, i }; - fails.push_back(f); - } - - ru = d; - - return true; - } - }; - - /// A and B are Fusion Sequence, call distance_fn on every elements and - /// compute the maximum - template< class A, class B> - struct max_ulp_value_ - { - template struct max_ulp_seq_ - { - template - BOOST_FORCEINLINE double - operator()( X const& a, Y const& b, double z, F const& distance_fn ) const - { - return max_ulp_seq_() - ( a , b - , safe_max( z - , distance_fn( nt2::details:: - smallest_a( boost::fusion::at_c(a) - , boost::fusion::at_c(b) - ) - , nt2::details:: - smallest_b( boost::fusion::at_c(a) - , boost::fusion::at_c(b) - ) - ) - ) - , distance_fn - ); - } - }; - - template struct max_ulp_seq_ - { - template - BOOST_FORCEINLINE double - operator()( X const&, Y const&, double z, F const& ) const - { - return z; - } - }; - - typedef failed_value failure_type; - - template - BOOST_FORCEINLINE bool - operator()( A const& a, B const& b - , double max_ulpd, VF& fails, std::size_t i - , double& ru - , F const& distance_fn - ) const - { - double d = max_ulp_seq_<0,boost::fusion::result_of - ::size::value>()(a,b,0.,distance_fn); - - if(!(d <= max_ulpd)) - { - failure_type f = {a, b, d, i}; - fails.push_back(f); - } - - ru = d; - - return true; - } - }; - - /// Perform a test of equality on A and B with a given ulp tolerance - /// Detects if A and/or B is actually a sequence and apply distance_fn on - /// every elements of said sequences - template< class A, class B - , bool IsASeq=nt2::details::is_sequence::value - , bool IsBSeq=nt2::details::is_sequence::value - > - struct max_ulp_; - - template< class A, class B> - struct max_ulp_ - { - typedef typename max_ulp_value_::failure_type failure_type; - - /// Main operator() checks of A and B are Fusion Sequence then - /// jump into the proper eval() member functions depending on this - /// status. - template - BOOST_FORCEINLINE bool - operator()( A const& a, B const& b - , double max_ulpd, VF& fails, std::size_t i - , double& ru - , F const& distance_fn - ) const - { - return max_ulp_value_()(a, b, max_ulpd, fails, i, ru, distance_fn); - } - }; - - /// Both A and B are sequence, so we iterate over elements using the single - /// value version of max_ulp_ - template - struct max_ulp_< A, B, true,true> - { - typedef failed_value< typename A::value_type - , typename B::value_type - > failure_type; - - template - BOOST_FORCEINLINE bool - operator()( A const& a, B const& b - , double max_ulpd, VF& fails, std::size_t i - , double& ru - , F const& distance_fn - ) const - { - if( std::distance(b.begin(),b.end()) == std::distance(a.begin(),a.end())) - { - double res(0); - - typename A::const_iterator ab = a.begin(); - typename A::const_iterator ae = a.end(); - typename B::const_iterator bb = b.begin(); - - bool ok(true); - while(ok && ab != ae) - { - double r(0); - - // Gather potential ULP errors from inside data - typedef typename max_ulp_ < typename A::value_type - , typename B::value_type - >::failure_type local_failure_type; - - std::vector local_fails; - - ok = max_ulp_ < typename A::value_type - , typename B::value_type - >()(*ab,*bb,max_ulpd,local_fails,i,r,distance_fn); - - // Does inner check went ok and do we have fails ? - if(ok && !local_fails.empty()) - { - // Register current error - typename VF::value_type f = { *ab,*bb, r, i }; - fails.push_back(f); - } - - // Update global max ulp error - res = safe_max(res,r); - ab++; - bb++; - i++; - } - - ru = res; - - return ok; - } - else - { - return false; - } - } - }; - - /// A is a sequence while B is not, this means B has exactly one element - template - struct max_ulp_< A, B, true, false> - { - typedef failed_value failure_type; - - template - BOOST_FORCEINLINE bool - operator()( A const& a, B const& b - , double max_ulpd, VF& fails, std::size_t i - , double& ru - , F const& distance_fn - ) const - { - if( std::distance(a.begin(),a.end()) == 1) - { - return max_ulp_() ( *a.begin(),b - , max_ulpd,fails,i, ru - , distance_fn - ); - } - else - { - return false; - } - } - }; - - /// B is a sequence while A is not, this means B has exactly one element - template - struct max_ulp_< A, B, false, true> - { - typedef failed_value failure_type; - - template - BOOST_FORCEINLINE bool - operator()( A const& a, B const& b - , double max_ulpd, VF& fails , std::size_t i - , double& ru - , F const& distance_fn - ) const - { - if( std::distance(b.begin(),b.end()) == 1) - { - return max_ulp_() ( a,*b.begin() - , max_ulpd,fails,i, ru - , distance_fn - ); - } - else - { - return false; - } - } - }; -} } - -namespace nt2 { namespace unit -{ - /// INTERNAL ONLY - /// Main test for equality over any types A and B within a given ulp tolerance - template - BOOST_FORCEINLINE - bool max_ulp( A const& a, B const& b, double max_ulpd, VF& fails, double& ru, F const& distance_fn ) - { - return details::max_ulp_()(a,b,max_ulpd,fails,0,ru,distance_fn); - } - - /// INTERNAL ONLY - /// Main test for equality over any types A and B within a given ulp tolerance - template - BOOST_FORCEINLINE - bool max_ulp( A const& a, B const& b, double max_ulpd, VF& fails, double& ru ) - { - return max_ulp(a, b, max_ulpd, fails, ru, details::max_ulps_caller()); - } -} } - -namespace nt2 { namespace details -{ - - template - BOOST_FORCEINLINE - void report_ulp_unit_error( const char* desc, const char* func, int line - , Fails const& ulps, double ulpd, double N - , bool - ) - { - if( ulps.empty() ) - { - ::nt2::details::ulp_pass( desc, ulpd, N ); - } - else - { - ::nt2::details::ulp_fail( desc, func, line, ulps.size(),N, true); - - BOOST_FOREACH ( typename Fails::const_reference f, ulps ) - { - std::cout << std::setprecision(20) - << "\tlhs: " << f.value - << ", rhs: " << f.desired_value - << ", ULP: " << f.ulp_error - << ", @( " << f.index << " )"; - std::cout << std::endl; - } - - std::cout << std::endl; - } - } - - - template - BOOST_FORCEINLINE - void test_ulp_equal ( const char* desc, const char* func, int line - , A const& a, B const& b - , double N - , F const& distance_fn - ) - { - typedef BOOST_TYPEOF(nt2::unit::eval(a)) a_t; - typedef BOOST_TYPEOF(nt2::unit::eval(b)) b_t; - typedef typename nt2::details::max_ulp_::failure_type f_t; - - std::vector< f_t > ulps; - double ulpd = 0; - bool ok = find_ulp_error(a,b,ulps,ulpd,N,distance_fn); - - if(ok) - { - ::nt2::details::report_ulp_unit_error(desc, func, line, ulps, ulpd, N, true); - } - else - { - ::nt2::details::ulp_fail( desc, func, line, ulps.size(), N, false); - } - } - - template - BOOST_FORCEINLINE - bool find_ulp_error ( A const& a, B const& b - , Fails& ulps, double& ulpd, double N - , F const& distance_fn - ) - { - bool ok = nt2::unit::max_ulp( nt2::unit::eval(a) - , nt2::unit::eval(b) - , N, ulps, ulpd - , distance_fn - ); - return ok; - } -} } - -#endif diff --git a/inst/include/nt2/sdk/unit/details/unit_test.hpp b/inst/include/nt2/sdk/unit/details/unit_test.hpp deleted file mode 100644 index b20deee..0000000 --- a/inst/include/nt2/sdk/unit/details/unit_test.hpp +++ /dev/null @@ -1,38 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_DETAILS_UNIT_TEST_HPP_INCLUDED -#define NT2_SDK_UNIT_DETAILS_UNIT_TEST_HPP_INCLUDED - -#include - -namespace nt2 { namespace details -{ - struct test_suite; - - struct BOOST_SYMBOL_VISIBLE unit_test - { - typedef void (*ptr_fun_t)(); - - NT2_TEST_UNIT_DECL - unit_test (test_suite const* s = 0, ptr_fun_t c = 0, const char* n = 0); - - virtual NT2_TEST_UNIT_DECL ~unit_test(); - - NT2_TEST_UNIT_DECL virtual void process() const; - NT2_TEST_UNIT_DECL unit_test const* link(unit_test const* n) const; - NT2_TEST_UNIT_DECL void advance() const; - - ptr_fun_t call; - const char* name; - mutable unit_test const* next; - }; -} } - -#endif diff --git a/inst/include/nt2/sdk/unit/io.hpp b/inst/include/nt2/sdk/unit/io.hpp deleted file mode 100644 index 2557bdf..0000000 --- a/inst/include/nt2/sdk/unit/io.hpp +++ /dev/null @@ -1,69 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_IO_HPP_INCLUDED -#define NT2_SDK_UNIT_IO_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace std -{ - template - inline std::ostream& operator<<(std::ostream& os, std::vector const& v) - { - typedef typename std::vector::const_iterator iterator_t; - - os << "\n"; - for(iterator_t it = v.begin(); it != v.end(); ++it) - os << boost::simd::details::display(*it) << " "; - os << "\n"; - - return os; - } - - template - inline std::ostream& operator<<(std::ostream& os, std::pair const& xpr) - { - os << "[" << boost::simd::details::display(xpr.first) - << ", " << boost::simd::details::display(xpr.second) - << "]"; - - return os; - } - - template - inline std::ostream& operator<<(std::ostream& os, nt2::meta::as_ const&) - { - os << "as_<" << nt2::type_id() << ">"; - - return os; - } -} - -namespace boost -{ - template - inline std::ostream& operator<<(std::ostream& os, boost::array const& v) - { - os << "\n"; - for(std::size_t i=0;i -#endif - -#if defined(NT2_USE_MAGMA) -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(NT2_UNIT_MAIN_SUITE) -/// INTERNAL ONLY -#define NT2_UNIT_MAIN_SUITE nt2::details::unit_tests - -namespace nt2 { namespace details -{ - inline void unit_test_prologue() {} -} } - -#else - -namespace nt2 { namespace details -{ - inline void unit_test_prologue() - { - std::cout << "CTEST_FULL_OUTPUT" << std::endl; - } -} } - -#endif - -#if defined(NT2_USE_HPX) -struct hpx_initializer -{ - hpx_initializer(int argc_, char** argv_) : argc(argc_), argv(argv_) {} - - int operator()(boost::program_options::variables_map&) const - { - int res = nt2::details::unit_main(argc,argv,NT2_UNIT_MAIN_SUITE); - hpx::finalize(); - return res; - } - -private: - int argc; - char** argv; -}; -#endif - -/*! - @brief Embedded main for testing purposes. - - This function is used as an entry point for the current test. - In normal mode, it's basically a @c main(). In driver mode, it is a unique - symbol callable from the driver @c main(). -**/ - -NT2_UNIT_MAIN_SPEC int NT2_UNIT_MAIN(int argc, char* argv[]) -{ - ::nt2::details::unit_test_prologue(); - std::cout << "Architecture: " << BOOST_SIMD_STRING << "\n"; - std::cout << "Site: " << nt2::type_id::type>() << "\n", - std::cout << std::string(80,'-') << std::endl; - -#if defined(NT2_USE_MAGMA) - magma_init(); -#endif - -#if defined(NT2_USE_HPX) - std::vector cfg; - cfg.push_back("hpx.parcel.port=0"); - - using boost::program_options::options_description; - options_description desc_commandline("Usage: " HPX_APPLICATION_STRING " [options]"); - char *dummy_argv[1] = { const_cast(HPX_APPLICATION_STRING) }; - - return hpx::init(hpx_initializer(argc, argv), boost::program_options::options_description(), 1, dummy_argv, cfg); -#else - return nt2::details::unit_main(argc,argv,NT2_UNIT_MAIN_SUITE); -#endif -} - -#endif diff --git a/inst/include/nt2/sdk/unit/stats.hpp b/inst/include/nt2/sdk/unit/stats.hpp deleted file mode 100644 index c6cdc79..0000000 --- a/inst/include/nt2/sdk/unit/stats.hpp +++ /dev/null @@ -1,72 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_STATS_HPP_INCLUDED -#define NT2_SDK_UNIT_STATS_HPP_INCLUDED - -#include - -/*! - @file - @brief Basic building blocks for test macros -**/ - -namespace nt2 { namespace unit -{ - /*! - @brief Global error counter accessor - - Give a mutable access to the current test error counter. - - @return a non-const reference to the current error counter - **/ - NT2_TEST_UNIT_DECL int& error_count(); - - /*! - @brief Global test counter accessor - - Give a mutable access to the current test counter. - - @return a non-const reference to the current test counter - **/ - NT2_TEST_UNIT_DECL int& test_count(); - - /*! - @brief Report a passed test - - Report a test as a success and display a message about this success. - - @param msg Message to display when test passes - **/ - NT2_TEST_UNIT_DECL void pass(char const* msg); - - /*! - @brief Report a failed test - - Report a test as a failure and display a message about this failure. - - @param msg Message to display when test fails - @param ln Line number at which test failed - @param fn Name of the function in which the test failed - **/ - NT2_TEST_UNIT_DECL void fail(char const* msg, int ln, char const* fn); - - /*! - @brief Report a forced failure - - Report a test as a forced failure and display a message about this failure. - - @param msg Message to display when test fails - @param ln Line number at which test failed - @param fn Name of the function in which the test failed - **/ - NT2_TEST_UNIT_DECL void error(char const* msg, int ln, char const* fn); -} } - -#endif diff --git a/inst/include/nt2/sdk/unit/test_case.hpp b/inst/include/nt2/sdk/unit/test_case.hpp deleted file mode 100644 index 9fcc8d2..0000000 --- a/inst/include/nt2/sdk/unit/test_case.hpp +++ /dev/null @@ -1,97 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TEST_CASE_HPP_INCLUDED -#define NT2_SDK_UNIT_TEST_CASE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -/*! - @brief MPL list generation macro. - - This macro generates a MPL list of types from a preprocessor sequence - and an MPL meta-function. It returns the MPL sequence with the elements - of the preprocessor sequence that satisfy the given predicate. -**/ -#define NT2_TEST_SEQ_MPL_FILTER(seq, cond) \ -(boost::mpl::filter_view< boost::mpl::vector \ - , BOOST_PP_REMOVE_PARENS(cond) \ - >::type \ -) \ -/**/ - -/*! - @brief Test case registration macro. - - This macro declares a new test case function containing user-defined tests - sequences. Each test case has a unique name passed as a parameter that - identifies the set of tests inside the whole test suite. - - @usage{test_case.cpp} -**/ -#define NT2_TEST_CASE(Name) \ -NT2_TEST_BASE_CASE(Name,nt2::details::unit_test,nt2::details::unit_tests,_test) \ -/**/ - -/*! - @brief Type-dependant test case registration macro - - This macro declares a new set of test cases functions containing user - defined tests sequences parametrized by a list of types. The test function - is then instantiated for each type in the preprocessor sequence. Each test - case has a unique name passed as a parameter that identifies the set of tests - inside the whole test suite. - - @usage{test_case_tpl.cpp} -**/ -#define NT2_TEST_CASE_TPL(Name, Types) \ -NT2_TEST_BASE_CASE_TPL( Name, Types \ - , nt2::details::unit_test \ - , nt2::details::unit_tests \ - , _test \ - ) \ -/**/ - -/*! - @brief Type-dependant test case registration macro, with MPL type list - - This macro declares a new set of test cases functions containing user - defined tests sequences parametrized by a MPL list of types. The test function - is then instantiated for each type in the MPL sequence. Each test - case has a unique name passed as a parameter that identifies the set of tests - inside the whole test suite. -**/ -#define NT2_TEST_CASE_TPL_MPL(Name, TypeList) \ -NT2_TEST_BASE_CASE_TPL_MPL( Name, TypeList \ - , nt2::details::unit_test \ - , nt2::details::unit_tests \ - , _test \ - ) \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/unit/tests.hpp b/inst/include/nt2/sdk/unit/tests.hpp deleted file mode 100644 index e84ed5e..0000000 --- a/inst/include/nt2/sdk/unit/tests.hpp +++ /dev/null @@ -1,23 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TESTS_HPP_INCLUDED -#define NT2_SDK_UNIT_TESTS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -// TODO: Remove once cover tests get turned into table tests -#include - -#endif diff --git a/inst/include/nt2/sdk/unit/tests/basic.hpp b/inst/include/nt2/sdk/unit/tests/basic.hpp deleted file mode 100644 index e024e5a..0000000 --- a/inst/include/nt2/sdk/unit/tests/basic.hpp +++ /dev/null @@ -1,57 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TESTS_BASIC_HPP_INCLUDED -#define NT2_SDK_UNIT_TESTS_BASIC_HPP_INCLUDED - -#include - -/*! - @brief Check a boolean predicate - - For any given expression @c X, consider the test successful if and only if - @c X evaluates to @c true. - - @usage{test.cpp} -**/ -#define NT2_TEST(X) \ -( ::nt2::unit::test_count()++ \ -, (X) ? ::nt2::unit::pass(#X) \ - : ::nt2::unit::fail(#X, __LINE__, BOOST_CURRENT_FUNCTION) \ -) \ -/**/ - -/*! - @brief Force a test failure - - Force the test to fail and output @c X as a custom message. - - @usage{test_error.cpp} -**/ -#define NT2_TEST_ERROR(X) \ -( ::nt2::unit::test_count()++ \ -, ::nt2::unit::error(#X, __LINE__, BOOST_CURRENT_FUNCTION) \ -) \ -/**/ - - -/*! - @brief Signify test suite completion - - Register the test suite as complete. - - @usage{test_completion.cpp} -**/ -#define NT2_TEST_COMPLETE(X) \ -( ::nt2::unit::test_count()++ \ -, ::nt2::unit::pass(#X) \ -) \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/unit/tests/cover.hpp b/inst/include/nt2/sdk/unit/tests/cover.hpp deleted file mode 100644 index 8637a65..0000000 --- a/inst/include/nt2/sdk/unit/tests/cover.hpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TESTS_COVER_HPP_INCLUDED -#define NT2_SDK_UNIT_TESTS_COVER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -/// INTERNAL ONLY -#if !defined(NT2_NB_RANDOM_TEST) -#define NT2_NB_RANDOM_TEST 128 -#endif - -/*! - @brief Perform precision coverage test on arbitrary function - - For a given function @c FUNC, checks if the application of @c FUNC on the - set of data @c INPUTS is within a given ULP tolerance relatively to a set - of reference value @c REF - - @param FUNC Polymorphic function to test - @param INPUTS Preprocessor sequence of tuples containing references data and - the types to use to perform the computation. - @param REF Reference data to check against - @param N Maximum ULP tolerance -**/ -#define NT2_COVER_FN_ULP_EQUAL(FUNC, INPUTS, REF, N) \ -do \ -{ \ - std::string desc = nt2::details:: \ - cover_test_name(FUNC, NT2_ENUM_REFERENCES(INPUTS)); \ - \ - nt2::unit::test_count()++; \ - ::nt2::details::test_cover_ulp( desc.c_str(),__FILE__,__LINE__ \ - , FUNC, (REF), N \ - , NT2_ENUM_REFERENCES(INPUTS) \ - ); \ -} NT2_TEST_ONCE \ -/**/ - -/*! - @brief Perform precision coverage test on an NT2 functor - - For a given fucntor tag @c TAG, checks if the application of the associated - function on the set of data @c INPUTS is within a given ULP tolerance - relatively to a set of reference value @c REF - - @param TAG Tag for the function to test. - @param INPUTS Preprocessor sequence of tuples containing references data and - the types to use to perform the computation. - @param REF Reference data to check against - @param N Maximum ULP tolerance -**/ -#define NT2_COVER_ULP_EQUAL(TAG, INPUTS, REF, N) \ -do \ -{ \ - std::string desc = nt2::details:: \ - cover_test_name(TAG(), NT2_ENUM_REFERENCES(INPUTS)); \ - \ - nt2::unit::test_count()++; \ - ::nt2::details::test_cover_ulp( desc.c_str(),__FILE__,__LINE__ \ - , nt2::functor(), (REF), N \ - , NT2_ENUM_REFERENCES(INPUTS) \ - ); \ -} NT2_TEST_ONCE \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/unit/tests/cover_utils.hpp b/inst/include/nt2/sdk/unit/tests/cover_utils.hpp deleted file mode 100644 index 7157476..0000000 --- a/inst/include/nt2/sdk/unit/tests/cover_utils.hpp +++ /dev/null @@ -1,31 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TESTS_COVER_UTILS_HPP_INCLUDED -#define NT2_SDK_UNIT_TESTS_COVER_UTILS_HPP_INCLUDED -#include -#include -#include - -namespace nt2 -{ - template S downgrade_upper() - { - typedef typename nt2::meta::downgrade::type dtype; - return nt2::Valmax(); - } - - template S downgrade_lower() - { - typedef typename nt2::meta::downgrade::type dtype; - return nt2::Valmin(); - } -} - -#endif diff --git a/inst/include/nt2/sdk/unit/tests/exceptions.hpp b/inst/include/nt2/sdk/unit/tests/exceptions.hpp deleted file mode 100644 index 5750c40..0000000 --- a/inst/include/nt2/sdk/unit/tests/exceptions.hpp +++ /dev/null @@ -1,172 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TESTS_EXCEPTIONS_HPP_INCLUDED -#define NT2_SDK_UNIT_TESTS_EXCEPTIONS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#ifdef __GNUC__ -// INTERNAL ONLY -#define NT2_UNUSED_EXPR (void) -#else -// INTERNAL ONLY -#define NT2_UNUSED_EXPR -#endif - -/*! - @brief Check exception being thrown - - For any given expression @c X, consider the test successful if and only if - @c X throws an exception of type to @c E. - - @usage{test_throw.cpp} -**/ -#define NT2_TEST_THROW(X,E) \ -do { \ - ::nt2::unit::test_count()++; \ - bool caught = false; \ - try { NT2_UNUSED_EXPR (BOOST_PP_REMOVE_PARENS(X)); } \ - catch( E& ex ) \ - { \ - ::boost::ignore_unused(ex); \ - ::nt2::unit::pass(BOOST_PP_STRINGIZE(X) " throws " BOOST_PP_STRINGIZE(E)); \ - caught = true; \ - } \ - catch(...) {} \ - if(!caught) ::nt2::unit::fail ( BOOST_PP_STRINGIZE(X) " throws " \ - BOOST_PP_STRINGIZE(E) \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - ); \ -} NT2_TEST_ONCE \ -/**/ - -#define NT2_TEST_WARNING_NOFATAL_BEGIN() \ -{ \ - nt2::log_mode_t old_warning_mode = nt2::warning_mode; \ - nt2::warning_mode = nt2::log_mode_t( \ - (nt2::warning_mode & ~nt2::LOG_EXCEPT & ~nt2::LOG_ABORT) \ - ); \ -/**/ - -#define NT2_TEST_WARNING_NOFATAL_END() \ - nt2::warning_mode = old_warning_mode; \ -} \ -/**/ - -#define NT2_TEST_WARNING_EXCEPT_BEGIN() \ -{ \ - nt2::log_mode_t old_warning_mode = nt2::warning_mode; \ - nt2::warning_mode = nt2::log_mode_t( \ - (nt2::warning_mode & ~nt2::LOG_ABORT) | nt2::LOG_EXCEPT \ - ); \ -/**/ - -#define NT2_TEST_WARNING_EXCEPT_END() \ - nt2::warning_mode = old_warning_mode; \ -} -/**/ - -/*! - @brief Check runtime assertion failing - - For any given expression @c X, consider the test successful if and only if - @c X triggered a run-time assertion. - - @usage{test_assert.cpp} -**/ -#define NT2_TEST_ASSERT(X) \ -do { \ - nt2::log_mode_t old_assert_mode = nt2::assert_mode; \ - nt2::assert_mode = nt2::log_mode_t( \ - (nt2::assert_mode & ~nt2::LOG_ABORT) | nt2::LOG_EXCEPT \ - ); \ - ::nt2::unit::test_count()++; \ - bool caught = false; \ - try { NT2_UNUSED_EXPR (BOOST_PP_REMOVE_PARENS(X)); } \ - catch( nt2::assert_exception& ex ) { \ - ::nt2::unit::pass(BOOST_PP_STRINGIZE(X) " asserts "); \ - std::cout << "with message:\n\t'" << ex.what() << "'\n"; \ - caught = true; \ - } \ - catch(...) {} \ - if(!caught) \ - { \ - ::nt2::unit::fail ( BOOST_PP_STRINGIZE(X) " asserts " \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - ); \ - } \ - nt2::assert_mode = old_assert_mode; \ -} NT2_TEST_ONCE \ -/**/ - -/*! - @brief Check exception not being thrown - - For any given expression @c X, consider the test successful if and only if - @c X does not throw any exception. - - @usage{test_no_throw.cpp} -**/ -#define NT2_TEST_NO_THROW(X) \ -do { \ - bool nt2_test_no_throw = true; \ - ::nt2::unit::test_count()++; \ - try { NT2_UNUSED_EXPR (BOOST_PP_REMOVE_PARENS(X)); } \ - catch(...) \ - { \ - ::nt2::unit::fail( BOOST_PP_STRINGIZE(X) " should not throw" \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - ); \ - nt2_test_no_throw = false; \ - } \ - if(nt2_test_no_throw) ::nt2::unit::pass(#X " does not throw"); \ -} NT2_TEST_ONCE \ -/**/ - - -/*! - @brief Check runtime assertion not failing - - For any given expression @c X, consider the test successful if and only if - @c X does not trigger any runtime assertion. - - @usage{test_no_assert.cpp} -**/ -#define NT2_TEST_NO_ASSERT(X) \ -do { \ - nt2::log_mode_t old_assert_mode = nt2::assert_mode; \ - nt2::assert_mode = nt2::log_mode_t( \ - (nt2::assert_mode & ~nt2::LOG_ABORT) | nt2::LOG_EXCEPT \ - ); \ - bool nt2_test_no_throw = true; \ - ::nt2::unit::test_count()++; \ - try { NT2_UNUSED_EXPR (BOOST_PP_REMOVE_PARENS(X)); } \ - catch(nt2::assert_exception& ex) \ - { \ - ::nt2::unit::fail( #X " should not assert " \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - ); \ - std::cout << "with message:\n\t'" << ex.what() << "'\n"; \ - nt2_test_no_throw = false; \ - } \ - catch(...) {} \ - if(nt2_test_no_throw) \ - ::nt2::unit::pass(#X " does not assert " ); \ - nt2::assert_mode = old_assert_mode; \ -} NT2_TEST_ONCE \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/unit/tests/properties.hpp b/inst/include/nt2/sdk/unit/tests/properties.hpp deleted file mode 100644 index 3b7e330..0000000 --- a/inst/include/nt2/sdk/unit/tests/properties.hpp +++ /dev/null @@ -1,25 +0,0 @@ -//============================================================================== -// Copyright 2009 - 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2014 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TESTS_PROPERTIES_HPP_INCLUDED -#define NT2_SDK_UNIT_TESTS_PROPERTIES_HPP_INCLUDED - -#include -#include -#include - -/*! - @brief Check if constructing some type is impossible at runtime -**/ -#define NT2_TEST_IS_NOT_CONSTRUCTIBLE(X,...) \ -NT2_TEST_ASSERT (( std::unique_ptr < BOOST_PP_REMOVE_PARENS(X) > \ - ( new BOOST_PP_REMOVE_PARENS(X) __VA_ARGS__) \ - )) \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/unit/tests/relation.hpp b/inst/include/nt2/sdk/unit/tests/relation.hpp deleted file mode 100644 index 1445374..0000000 --- a/inst/include/nt2/sdk/unit/tests/relation.hpp +++ /dev/null @@ -1,205 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 MetaScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TESTS_RELATION_HPP_INCLUDED -#define NT2_SDK_UNIT_TESTS_RELATION_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace nt2 -{ - namespace unit - { - template - void test_relation( const char* A_str, A const& a, const char* B_str, B const& b - , unsigned line, const char* fn, const char* Op_str, F const& Op - ) - { - std::ostringstream ss; - ss << A_str << " " << Op_str << " " << B_str; - std::string info = ss.str(); - - nt2::unit::test_count()++; - if( Op(a, b) ) - { - nt2::unit::pass( info.c_str() ); - } - else - { - nt2::unit::fail( info.c_str(), line, fn ); - std::cout << A_str << ": \n" << std::setprecision(20) - << a << std::endl; - std::cout << B_str << ": \n" << std::setprecision(20) - << b << std::endl; - } - } - } - - namespace details - { - struct equality - { - template - bool operator()(A const& a, B const& b) const - { - return nt2::unit::test_for_equality(a, b); - } - }; - - struct not_equality - { - template - bool operator()(A const& a, B const& b) const - { - return !nt2::unit::test_for_equality(a, b); - } - }; - - struct lesser - { - template - bool operator()(A const& a, B const& b) const - { - return a < b; - } - }; - - struct greater - { - template - bool operator()(A const& a, B const& b) const - { - return a > b; - } - }; - - struct lesser_equal - { - template - bool operator()(A const& a, B const& b) const - { - return a <= b; - } - }; - - struct greater_equal - { - template - bool operator()(A const& a, B const& b) const - { - return a >= b; - } - }; - } -} - -/*! - @brief Check the equality of two values - - For any two given expressions @c A and @c B, consider the test successful if - and only if @c A @c == @c B evaluates to @c true. - - @usage{test_equal.cpp} -**/ -#define NT2_TEST_EQUAL(A,B) \ -nt2::unit::test_relation( #A, nt2::unit::eval(A) \ - , #B, nt2::unit::eval(B) \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - , "==", nt2::details::equality() \ - ) \ -/**/ - - -/*! - @brief Check the inequality of two values - - For any two given expressions @c A and @c B, consider the test successful if - and only if @c A @c != @c B evaluates to @c true. - - @usage{test_not_equal.cpp} -**/ -#define NT2_TEST_NOT_EQUAL(A,B) \ -nt2::unit::test_relation( #A, nt2::unit::eval(A) \ - , #B, nt2::unit::eval(B) \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - , "!=", nt2::details::not_equality() \ - ) \ -/**/ - -/*! - @brief Check the ordering of two values - - For any two given expressions @c A and @c B, consider the test successful if - and only if @c A @c < @c B evaluates to @c true. - - @usage{test_lesser.cpp} -**/ -#define NT2_TEST_LESSER(A,B) \ -nt2::unit::test_relation( #A, nt2::unit::eval(A) \ - , #B, nt2::unit::eval(B) \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - , "<", nt2::details::lesser() \ - ) \ -/**/ - -/*! - @brief Check the ordering of two values - - For any two given expressions @c A and @c B, consider the test successful if - and only if @c A @c > @c B evaluates to @c true. - - @usage{test_greater.cpp} -**/ -#define NT2_TEST_GREATER(A,B) \ -nt2::unit::test_relation( #A, nt2::unit::eval(A) \ - , #B, nt2::unit::eval(B) \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - , ">", nt2::details::greater() \ - ) \ -/**/ - -/*! - @brief Check the ordering of two values - - For any two given expressions @c A and @c B, consider the test successful if - and only if @c A @c <= @c B evaluates to @c true. - - @usage{test_lesser_equal.cpp} -**/ -#define NT2_TEST_LESSER_EQUAL(A,B) \ -nt2::unit::test_relation( #A, nt2::unit::eval(A) \ - , #B, nt2::unit::eval(B) \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - , "<=", nt2::details::lesser_equal() \ - ) \ -/**/ - -/*! - @brief Check the ordering of two values - - For any two given expressions @c A and @c B, consider the test successful if - and only if @c A @c >= @c B evaluates to @c true. - - @usage{test_greater_equal.cpp} -**/ -#define NT2_TEST_GREATER_EQUAL(A,B) \ -nt2::unit::test_relation( #A, nt2::unit::eval(A) \ - , #B, nt2::unit::eval(B) \ - , __LINE__, BOOST_CURRENT_FUNCTION \ - , ">=", nt2::details::greater_equal() \ - ) \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/unit/tests/type_expr.hpp b/inst/include/nt2/sdk/unit/tests/type_expr.hpp deleted file mode 100644 index a8175e0..0000000 --- a/inst/include/nt2/sdk/unit/tests/type_expr.hpp +++ /dev/null @@ -1,127 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TESTS_TYPE_EXPR_HPP_INCLUDED -#define NT2_SDK_UNIT_TESTS_TYPE_EXPR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -/// INTERNAL ONLY -#define NT2_PP_STRINGIZE__(...) #__VA_ARGS__ - -/// INTERNAL ONLY -#define NT2_PP_STRINGIZE_(text) NT2_PP_STRINGIZE__ text - -/// INTERNAL ONLY -#define NT2_PP_STRINGIZE(...) NT2_PP_STRINGIZE_((__VA_ARGS__)) - -/*! - @brief Check for type equality - - For a given @c Expression, consider the test successful if and only if - - @code - boost::is_same::type,Type>::value == true - @endcode - - @usage{test_type_expr.cpp} -**/ -#define NT2_TEST_EXPR_TYPE(Expression, Lambda, Type) \ -do { \ - nt2::unit::test_count()++; \ - std::cout << " * Test expression `" \ - << NT2_PP_STRINGIZE(BOOST_PP_REMOVE_PARENS(Expression)) << "`\n" \ - << " with lambda `" \ - << NT2_PP_STRINGIZE(BOOST_PP_REMOVE_PARENS(Lambda)) << "`\n" \ - << " is of type `" \ - << NT2_PP_STRINGIZE(BOOST_PP_REMOVE_PARENS(Type)) << "`\n" \ - << " aka `" \ - << nt2::type_id() << "`\n"; \ - \ - nt2::details:: \ - check_expr_equality( (nt2::details \ - ::expr_type \ - (BOOST_PP_REMOVE_PARENS(Expression)) \ - ) \ - , nt2::details \ - ::is_same_as \ - (nt2::details \ - ::expr_type \ - (BOOST_PP_REMOVE_PARENS(Expression)) \ - ) \ - ); \ -} NT2_TEST_ONCE \ -/**/ - -/*! - @brief Check for typeinfo equality - - For a given @c Type, consider the test successful if and only if - @c typeid(Type) evaluates to @c Info. - - @usage{test_type_info.cpp} -**/ -#define NT2_TEST_TYPE_INFO(Info, Type) \ -do { \ - nt2::unit::test_count()++; \ - std::cout << " * Test type info `" \ - << NT2_PP_STRINGIZE(BOOST_PP_REMOVE_PARENS(Info)) << "`\n" \ - << " is of type `" \ - << NT2_PP_STRINGIZE(BOOST_PP_REMOVE_PARENS(Type)) << "`\n" \ - << " aka `" \ - << nt2::type_id() << "`\n"; \ - if(typeid(BOOST_PP_REMOVE_PARENS(Type)) == Info) \ - { \ - std::cout << " **passed**\n\n"; \ - } \ - else \ - { \ - nt2::unit::error_count()++; \ - std::cout << " **failed** is `" \ - << nt2::details::demangle((Info).name()) \ - << "`\n\n"; \ - } \ -} NT2_TEST_ONCE \ -/**/ - -/*! - @brief Check for typeinfo equality - - For a given type @c T, consider the test successful if and only if - @c boost::is_same::value evaluates to @c true. - - @usage{test_type_is.cpp} -**/ -#define NT2_TEST_TYPE_IS(T, Type) \ -do { \ - nt2::unit::test_count()++; \ - std::cout << " * Test type `" \ - << NT2_PP_STRINGIZE(BOOST_PP_REMOVE_PARENS(T)) << "`\n" \ - << " is `" \ - << NT2_PP_STRINGIZE(BOOST_PP_REMOVE_PARENS(Type)) << "`\n" \ - << " aka `" \ - << nt2::type_id() << "`\n"; \ - \ - nt2::details:: \ - check_type_equality< BOOST_PP_REMOVE_PARENS(T) \ - >( boost::mpl::bool_ \ - < boost::is_same< BOOST_PP_REMOVE_PARENS(Type) \ - , BOOST_PP_REMOVE_PARENS(T) \ - >::value \ - >() \ - ); \ -} NT2_TEST_ONCE \ -/**/ - -#endif diff --git a/inst/include/nt2/sdk/unit/tests/ulp.hpp b/inst/include/nt2/sdk/unit/tests/ulp.hpp deleted file mode 100644 index 2ace7d7..0000000 --- a/inst/include/nt2/sdk/unit/tests/ulp.hpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2012 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2015 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 - 2015 NumScale SAS -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SDK_UNIT_TESTS_ULP_HPP_INCLUDED -#define NT2_SDK_UNIT_TESTS_ULP_HPP_INCLUDED - -#include -#include -#include -#include -#include - -/*! - @brief Check for absolute precision using a provided distance function - - For two given values @c A and @c B, consider the test successful if and only - if the distance between @c A and @b is less or equal to @c N. - - @usage{test_ulp.cpp} -**/ -#define NT2_TEST_ULP_EQUAL_FN(A, B, N, FN) \ -do \ -{ \ - nt2::unit::test_count()++; \ - \ - nt2::details::test_ulp_equal( #A " == " #B \ - , BOOST_CURRENT_FUNCTION, __LINE__ \ - , A, B, N, FN \ - ); \ -} NT2_TEST_ONCE \ -/**/ - -/*! - @brief Check for absolute precision - - For two given values @c A and @c B, consider the test successful if and only - if the ULP distance between @c A and @b is less or equal to @c N. - - @usage{test_ulp.cpp} -**/ -#define NT2_TEST_ULP_EQUAL(A, B, N) \ -NT2_TEST_ULP_EQUAL_FN(A, B, N, nt2::details::max_ulps_caller()) \ -/**/ - -#endif diff --git a/inst/include/nt2/signal/constants.hpp b/inst/include/nt2/signal/constants.hpp deleted file mode 100644 index 07b9250..0000000 --- a/inst/include/nt2/signal/constants.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef NT2_SIGNAL_CONSTANTS_HPP_INCLUDED -#define NT2_SIGNAL_CONSTANTS_HPP_INCLUDED - - -#endif diff --git a/inst/include/nt2/signal/details/static_sincos.hpp b/inst/include/nt2/signal/details/static_sincos.hpp deleted file mode 100644 index b588655..0000000 --- a/inst/include/nt2/signal/details/static_sincos.hpp +++ /dev/null @@ -1,133 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SIGNAL_DETAILS_STATIC_SINCOS_HPP_INCLUDED -#define NT2_SIGNAL_DETAILS_STATIC_SINCOS_HPP_INCLUDED -#pragma once - -#include - -namespace nt2 -{ -//////////////////////////////////////////////////////////////////////////////// -// Static sin/cos routines from the Dr.Dobbs article (generic but very slow at -// compile-time). -// http://drdobbs.com/cpp/199500857 -//////////////////////////////////////////////////////////////////////////////// - -namespace detail -{ - template - struct static_sin_cos - { - static double value() { return 1 - ( A*M_PI/B ) * ( A*M_PI/B ) / M / ( M+1 ) * static_sin_cos::value(); } - }; - - template - struct static_sin_cos { static double value() { return 1; } }; -} // namespace detail - - -template -struct static_sin; - -template -struct static_sin -{ - static float value() { return static_cast( ( A*M_PI/B ) * detail::static_sin_cos<2, 24, B, A>::value() ); } -}; - -template -struct static_sin -{ - static double value() { return ( A*M_PI/B ) * detail::static_sin_cos<2, 34, B, A>::value(); } -}; - -template -struct static_sin -{ - static long double value() { return ( A*M_PI/B ) * detail::static_sin_cos<2, 60, B, A>::value(); } -}; - -template -struct static_cos; - -template -struct static_cos -{ - static float value() { return static_cast( detail::static_sin_cos<1, 23, B, A>::value() ); } -}; - -template -struct static_cos -{ - static double value() { return detail::static_sin_cos<1, 33, B, A>::value(); } -}; - -template -struct static_cos -{ - static double value() { return detail::static_sin_cos<1, 60, B, A>::value(); } -}; - - -//////////////////////////////////////////////////////////////////////////////// -// Todd Veldhuizen's direct, single precision, significantly compile-time faster -// routines. -// http://www.oonumerics.org/blitz/examples/fft.html -//////////////////////////////////////////////////////////////////////////////// - -template -struct static_sine -{ - static float const value; -}; - -template -float const static_sine::value -( - // Series expansion for sin( I*2*M_PI/N ): - static_cast - ( - (I*2*M_PI/N) *(1-(I*2*M_PI/N)*(I*2*M_PI/N)/ 2/ 3*(1-(I*2*M_PI/N)* - (I*2*M_PI/N)/ 4/ 5*(1-(I*2*M_PI/N)*(I*2*M_PI/N)/ 6/ 7*(1-(I*2*M_PI/N)* - (I*2*M_PI/N)/ 8/ 9*(1-(I*2*M_PI/N)*(I*2*M_PI/N)/10/11*(1-(I*2*M_PI/N)* - (I*2*M_PI/N)/12/13*(1-(I*2*M_PI/N)*(I*2*M_PI/N)/14/15* - (1-(I*2*M_PI/N)*(I*2*M_PI/N)/16/17* - (1-(I*2*M_PI/N)*(I*2*M_PI/N)/18/19*(1-(I*2*M_PI/N)* - (I*2*M_PI/N)/20/21)))))))))) - ) -); - - -template -struct static_cosine -{ - static float const value; -}; - -template -float const static_cosine::value -( - // Series expansion for cos( I*2*M_PI/N ): - static_cast - ( - 1-(I*2*M_PI/N)*(I*2*M_PI/N) /2*(1-(I*2*M_PI/N)*(I*2*M_PI/N)/ 3/ 4* - (1-(I*2*M_PI/N)*(I*2*M_PI/N)/ 5/ 6*(1-(I*2*M_PI/N)*(I*2*M_PI/N)/ 7/ 8* - (1-(I*2*M_PI/N)*(I*2*M_PI/N)/ 9/10*(1-(I*2*M_PI/N)*(I*2*M_PI/N)/11/12* - (1-(I*2*M_PI/N)*(I*2*M_PI/N)/13/14*(1-(I*2*M_PI/N)*(I*2*M_PI/N)/15/16* - (1-(I*2*M_PI/N)*(I*2*M_PI/N)/17/18*(1-(I*2*M_PI/N)*(I*2*M_PI/N)/19/20* - (1-(I*2*M_PI/N)*(I*2*M_PI/N)/21/22*(1-(I*2*M_PI/N)*(I*2*M_PI/N)/23/24 - ))))))))))) - ) -); - -} // namespace nt2 - -#endif // static_sincos_hpp diff --git a/inst/include/nt2/signal/details/twiddle_factors.hpp b/inst/include/nt2/signal/details/twiddle_factors.hpp deleted file mode 100644 index fcdc1b2..0000000 --- a/inst/include/nt2/signal/details/twiddle_factors.hpp +++ /dev/null @@ -1,572 +0,0 @@ -//============================================================================== -// Copyright 2003 - 2011 LASMEA UMR 6602 CNRS/Univ. Clermont II -// Copyright 2009 - 2011 LRI UMR 8623 CNRS/Univ Paris Sud XI -// Copyright 2012 Domagoj Saric, Little Endian Ltd. -// -// Distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt -//============================================================================== -#ifndef NT2_SIGNAL_DETAILS_TWIDDLE_FACTORS_HPP_INCLUDED -#define NT2_SIGNAL_DETAILS_TWIDDLE_FACTORS_HPP_INCLUDED -#ifdef _MSC_VER - #pragma once - #define _USE_MATH_DEFINES -#endif - -#include - -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include - -#include - -namespace nt2 -{ -//------------------------------------------------------------------------------ - -template -struct twiddle_pair -{ - T wr; - T wi; -}; - -template -struct split_radix_twiddles -{ - twiddle_pair w0; - twiddle_pair w3; -}; - - -template -< - unsigned FFTSize, - typename T -> -struct twiddles_interleaved; -/* -{ - typedef - BOOST_SIMD_ALIGN_ON( BOOST_SIMD_CONFIG_ALIGNMENT ) - boost::array const, fft_size / data_vector_size> - factors_t; - static factors_t const factors; -}; -*/ - - -//////////////////////////////////////////////////////////////////////////////// -// Runtime-static initialisation -// + simple -// + compile-time lightweight -// - does not get placed in the read-only text section -// - creates dynamic initialisers for each N -// - forces one of the sincos functions (depending on the used twiddle -// calculator) to be present in the binary -// - requires effort to achieve maximum possible precision -//////////////////////////////////////////////////////////////////////////////// - -namespace detail -{ - //////////////////////////////////////////////////////////////////////////// - // Twiddle calculator implementations. - //////////////////////////////////////////////////////////////////////////// - /// \note Simple radians based sinecosine calculation of twiddles does not - /// give maximally accurate values because rational values of Pi (a - /// transcendental number) cannot be represented accurately enough [this - /// becomes most adverse for inputs which should produce an exact zero, like - /// cos( Pi/2 )]. - /// (17.07.2012.) (Domagoj Saric) - //////////////////////////////////////////////////////////////////////////// - - struct twiddle_calculator_scalar - { - #ifdef _MSC_VER - #pragma warning( push ) - #pragma warning( disable : 4510 ) // Default constructor could not be generated. - #pragma warning( disable : 4512 ) // Assignment operator could not be generated. - #pragma warning( disable : 4610 ) // Class can never be instantiated - user-defined constructor required. - #endif - struct input_t - { - long double const omega_scale; - long double const N ; - int const index ; - }; - #ifdef _MSC_VER - #pragma warning( pop ) - #endif - - template - static BOOST_FORCEINLINE input_t generate_input( int const index, long double const omega_scale, long double const N ) - { - input_t const input = { omega_scale, N, index }; - return input; - } - }; // struct twiddle_calculator_scalar - - template - struct twiddle_calculator_same_type - { - template - static BOOST_FORCEINLINE Vector generate_input( int const index, long double const omega_scale, long double const N ) - { - long double const omega( omega_scale * Impl::full_circle() / N ); - - long double const start_value( index * omega ); - long double const increment ( omega ); - - typedef typename Vector::value_type scalar_t; - Vector const result ( boost::simd::enumerate( static_cast( start_value ), static_cast( increment ) ) ); - BOOST_ASSERT( result[ Vector::static_size - 1 ] <= omega_scale * Impl::full_circle() / 4 ); - return result; - } - }; - - struct radians : twiddle_calculator_same_type - { - static long double full_circle() { return 2 * 3.1415926535897932384626433832795028841971693993751058209749445923078164062L; } - template - static BOOST_FORCEINLINE Vector sincos( Vector const & input, Vector & cosine ) { return sinecosine( input, cosine ); } - }; - - struct degrees : twiddle_calculator_same_type - { - static long double full_circle() { return 2 * 180; } - template - static BOOST_FORCEINLINE Vector sincos( Vector const & input, Vector & cosine ) { return sincosd( input, cosine ); } - }; - - struct pies : twiddle_calculator_same_type - { - static long double full_circle() { return 2 * 1; } - template - static BOOST_FORCEINLINE Vector sincos( Vector const & input, Vector & cosine ) { return sincospi( input, cosine ); } - }; - - struct pies_scalar_upgraded_type : twiddle_calculator_scalar - { - static long double full_circle() { return 2 * 1; } - - template - static BOOST_FORCEINLINE Vector sincos( input_t const & input, Vector & cosine ) - { - typedef typename Vector::value_type scalar_t; - - long double const omega_scale( input.omega_scale ); - long double const N ( input.N ); - int const index ( input.index ); - - Vector sine; - - for ( int i( 0 ); i < Vector::static_size; ++i ) - { - //...zzz...should only 'upgrade' float to double and double to long double... - //...zzz...nt2 doesn't seem to support the long double data type... - /*long*/ double const omega( ( index + i ) * omega_scale * full_circle() / N ); - /*long*/ double precise_sin; - /*long*/ double precise_cos; - nt2::sincospi( omega, precise_sin, precise_cos ); - - sine [ i ] = static_cast( precise_sin ); - cosine[ i ] = static_cast( precise_cos ); - } - - return sine; - } - }; - - struct hardware_or_crt : twiddle_calculator_scalar - { - static long double full_circle() { return 2 * 3.1415926535897932384626433832795028841971693993751058209749445923078164062L; } - - template - static BOOST_FORCEINLINE Vector sincos( input_t const & input, Vector & cosine ) - { - Vector sine; - - #if defined( _MSC_VER ) && defined( _M_IX86 ) - Vector::value_type * const p_sine ( sine .data() ); - Vector::value_type * const p_cosine( cosine.data() ); - - // http://software.intel.com/en-us/forums/showthread.php?t=74354 - // http://www.devmaster.net/forums/showthread.php?t=5784 - - unsigned int const vector_size( Vector::static_size ); - long double const omega_scale( input.omega_scale ); - long double const N ( input.N ); - unsigned int local_index( input.index ); - __asm - { - mov ecx, vector_size - mov edx, p_sine - mov edi, p_cosine - sincos_loop: - fldpi - fldpi - fadd - //...zzz...direct version seems to work the same? - //fld [omega_scale] - //fmul - //fild [local_index] - //fmul - //fld [N] - //fdiv - fmul [omega_scale] - fimul [local_index] - fdiv [N] - fsincos - fstp [edi] - add edi, 4 - fstp [edx] - add edx, 4 - - inc [local_index] - dec ecx - jnz sincos_loop - } - - #else // 32 bit x86 MSVC - - long double const omega_scale( input.omega_scale ); - long double const N ( input.N ); - int const index ( input.index ); - - for ( unsigned i( 0 ); i < Vector::static_size; ++i ) - { - long double const omega( ( index + i ) * omega_scale * full_circle() / N ); - - sine [ i ] = std::sin( omega ); - cosine[ i ] = std::cos( omega ); - } - - #endif // 32 bit x86 MSVC - - return sine; - } - }; // struct hardware_or_crt - - -#ifdef _MSC_VER - #pragma warning( push ) - #pragma warning( disable : 4996 ) // '_controlfp': This function or variable may be unsafe. -#endif // _MSC_VER - - /// \note Regardless of the input data layout we always use twiddles - /// interleaved on vector boundaries in order to improve memory locality and - /// reduce the number of pointers that must be tracked to help architectures - /// with a small general purpose register file (32 bit x86 is already - /// maximally stretched out). - /// (05.06.2012.) (Domagoj Saric) - template - BOOST_NOINLINE - void BOOST_FASTCALL calculate_twiddles - ( - /// \note Packing these parameters into static const structs (as they - /// are all known at compile time) proved fruitless because MSVC10 would - /// either create dynamic initialisers or initialise the objects in - /// wrong order (since, per the standard, static initialisation order is - /// completely undefined for templates). - /// (18.07.2012.) (Domagoj Saric) - twiddle_pair * BOOST_DISPATCH_RESTRICT const p_twiddles, - unsigned int const N_int, - unsigned int const stride, - unsigned int const omega_scale_int, - unsigned int const start_index - ) - { - #if defined( _MSC_VER ) && ( defined( _M_IX86 ) || defined( _M_AMD64 ) || defined( _M_IA64 ) ) - unsigned int const current_precision( ::_controlfp( _PC_64, _MCW_PC ) ); - #endif // _MSC_VER - - twiddle_pair * BOOST_DISPATCH_RESTRICT p_w( p_twiddles ); - - /// \todo Since cos( a ) = sin( a + Pi/2 ) = -sin( a + 3*Pi/2 ) separate - /// cos/wr and sin/wi twiddle values could be avoided. The elements of - /// the array would be half the size (no longer pairs) but there would - /// have to be extra elements for the cosine offset: N/4 in the first - /// case (if we store positive sines) or 3N/4 in the second case (if we - /// store negative sines). - /// (02.03.2012.) (Domagoj Saric) - - /// \note N/4 values are required for split-radix. - /// (21.05.2012.) (Domagoj Saric) - - long double const N ( static_cast( N_int ) ); - long double const omega_scale( static_cast( omega_scale_int ) ); - - unsigned i ( start_index ); - unsigned const end_index( N_int / 4 + start_index ); - while ( i < end_index ) - { - /// \note The various calculator implementations approximately rank - /// in this order (from least to most precise): - /// radians - /// degrees - /// hardware_or_crt - /// pies - /// pies_scalar_upgraded_type (this requires further investigation). - /// (20.07.2012.) (Domagoj Saric) - typedef pies impl; - - p_w->wi = impl::sincos( impl::generate_input( i, omega_scale, N ), p_w->wr ) ^ Mzero(); - - i += Vector::static_size; - p_w += stride; - } - - BOOST_ASSERT( p_w == &p_twiddles[ N_int / 4 / Vector::static_size * stride ] ); - - #if defined( _MSC_VER ) && ( defined( _M_IX86 ) || defined( _M_AMD64 ) || defined( _M_IA64 ) ) - ::_controlfp( current_precision, _MCW_PC ); - #endif // _MSC_VER - } - -#ifdef _MSC_VER - #pragma warning( pop ) -#endif // _MSC_VER - - template - struct twiddle_holder - { - twiddle_holder() - { - calculate_twiddles( &factors.front().w0, N, 2, 1, 0 ); - calculate_twiddles( &factors.front().w3, N, 2, 3, 0 ); - } - - typedef - boost::array - < - split_radix_twiddles /*const*/, - N / 4 / Vector::static_size - > - factors_t; - - factors_t /*const*/ factors; - }; // struct twiddle_holder - - template - struct real_separation_twiddles_holder - { - real_separation_twiddles_holder() - { - calculate_twiddles( &factors.front(), N, 1, 1, 1 ); - } - - typedef - boost::array - < - twiddle_pair /*const*/, - N / 4 / Vector::static_size - > - factors_t; - - factors_t /*const*/ factors; - }; // struct real_separation_twiddles_holder -} // namespace detail - -template -struct twiddles_interleaved -{ -public: - static split_radix_twiddles const * factors() { return twiddles_.factors.begin(); } - -private: - typedef detail::twiddle_holder twiddle_holder; - static twiddle_holder const twiddles_; -}; - -template -typename twiddles_interleaved::twiddle_holder const twiddles_interleaved::twiddles_; - - -template -struct real_separation_twiddles -{ -public: - static twiddle_pair const * factors() { return twiddles_.factors.begin(); } - -private: - typedef detail::real_separation_twiddles_holder twiddle_holder; - static twiddle_holder const twiddles_; -}; - -template -typename real_separation_twiddles::twiddle_holder const real_separation_twiddles::twiddles_; - - -//...zzz...the below approaches are still radix-2 specific and use old/ancient -//...zzz...approaches with strides and separate arrays for real and imaginary -//...zzz...parts (so that they don't need to be parameterized with the SIMD data -//...zzz...vector size)... - -//////////////////////////////////////////////////////////////////////////////// -// Recursive compile-time initialisation -// + no dynamic initialisers ((hopefully, depending on the compiler) -// - very compile-time heavyweight (MSVC10 seems to have a template recursion -// level limit of ~512 so it cannot compile this for FFT sizes >= 2048 even -// with the recursion "unrolled" into packs of four values) -// - questionable whether the resulting "array" would still get placed in the -// text section considering that individual twiddles are not PODs but have -// default constructors -//////////////////////////////////////////////////////////////////////////////// - -namespace detail -{ - template - < - template class SinCos, - unsigned I, - unsigned N, - unsigned stride, - typename T - > - struct twiddle - : - twiddle - { - twiddle() - : - value0( SinCos::value ), - value1( SinCos::value ), - value2( SinCos::value ), - value3( SinCos::value ) - {} - - T const value0; - T const value1; - T const value2; - T const value3; - }; - - template